年収を2倍3倍にできる技術の習得戦略【稼ぎたいエンジニア必見】

エンジニアを続けていると「技術の身に付け方をどうしたらいいの?」「年収があがる技術は何?」「どうしたら稼げる技術が身につけられるの?」というような疑問を抱きますよね。

何も考えずに流されるままに技術を習得していくとまったく稼げないような技術を選んでしまい時間を無駄にしてしまうことはよくあります。

私は未経験からエンジニアに転職しましたが、うまく技術選択をすることで数年で最初の年収から4倍を達成しました。

このようなことができたのも「技術の習得戦略を間違わなかったから」です。

本記事では、年収を2倍、3倍にできるエンジニアのための技術の習得戦略をお教えします。

技術の身に付け方戦略とは?

技術の身に付け方というのは様々な方向性があります。

特によく言われるのが「深さ」と「幅」でしょう。

今あなたが持っている専門領域をさらに深めていくこと、別の専門領域を身につけ幅を広げていくこと、それぞれどのような力配分で、またどのような作戦で取り組むべきか、わりとよく言われることですが、ここでよく考えるべき要素がいくつかあります。

技術習得の方向性

  • 専門性の深さによる投資対効果
  • 専門領域の細分化
  • 習得対象となる専門領域の将来価値
  • 専門領域同士のシナジー効果

主にこの4つについて考えていきましょう。

専門性の深さによる投資対効果

このうち「専門性の深さによる投資対効果」などは「深さ」について話す際によく課題となります。

深く深く学ぼうとすればするほどコスト(時間やお金)がかかりますが、それだけのリターンが得られるのか、ということですね。

例えば、英語などが代表的なのですが、ちょっとした英語が読める書ける聴ける話せる、といった人はかなりの数います。

ですから、簡単な英語を学んだくらいでは市場での差別化ができず「ちょっとだけ英語ができるエンジニア」くらいの評価しかされないので投資対効果は悪いということになります。

しかし、時間とお金をかけることでネイティブまではいかないにしても、海外で英語で仕事をしても困らないくらいのエンジニアになれば一気に評価は上がり投資対効果が跳ね上がることになります。

でも、英語を学ぶのって大変ですし効率がよくないですよね。

また、1つのプログラミング言語に特化するかどうか、なども考える必要があります。

たとえば、その言語における第一人者になればニーズはありますが、プログラミング言語の機能のうちよく使うのは2割くらいで、他は憶えていてもほとんど使われない機能になるのにも関わらず憶える必要がでてきます。

普段使わないようなフレームワークやライブラリも把握しておく必要がありますし、その言語の歴史や未来といったところまで追従する必要がでてくるでしょう。

それが専門家に求められるものだからです。

聞いただけで大変そうですし、時間もかかりそうですよね。

そんなときに使うのが「専門領域の細分化」です。

専門領域の細分化

専門領域の細分化は、全般的に深化するのではなく細分化した領域に対してのみ深化することになります。

英語力でもリーディングとライティングに特化するとか、翻訳を極めるとか、同時通訳のようなニッチなスキルまで極めるとかになりますね。

プログラミング言語であれば言語の専門家ではなく「PythonでのWeb開発」や「C#によるWindowsアプリ開発」といった戦略です。

これは弁護士などにも多い戦略で、弁護士というのは全国で約4万人いますから、普通にしていると「弁護士」という市場ではなかなか仕事が取れないわけです。

そこで、「刑事事件に強い」「民事事件に強い」といったように細分化していき「窃盗事件に強い」「痴漢冤罪に強い」といったような限定したニーズに対して特化型となって仕事を受けるようになってます。

医者とかもそうですよね。

外科、内科、小児科、皮膚科、歯科……、と別れていきます。

また、歯医者とかでも、虫歯治療、虫歯予防、インプラント、歯並び矯正、ホワイトニングといったような細分化によってそのニーズに特化した強みを獲得し顧客を増やしています。

ソフトウェアエンジニアリングの世界でもこの細分化は有効なのですが、実は多くのエンジニアはこれに気がついていません。

ですから、細分化した領域の第一人者を狙うという手はあります。

特定のフレームワークに対しての戦略をとっている人は多く、例えば、「PythonのDjangoというフレームワーク」とか「PHPのFuelPHP」とか「RubyのRyby on Rails」といったものが有名でしょう。

また、意外とおろそかにされがちなのが「習得対象となる専門領域の将来価値」「専門領域同士のシナジー効果」です。

習得対象となる専門領域の将来価値

習得対象となる専門領域の将来価値について考えることは、戦略的、体系的に学んでいくときにはとても有効ですが、どの専門領域のどのスキルが、将来どれくらい価値を持ちそうか、というのは社会情勢や経済についてよく勉強し、徹底的に情報収集し、有識者の意見も参考にしながら、よく分析しなければ、なかなか答えは見えません。

個別具体的な技術の価値は、その技術自体がどれだけ優れているか、好きな人がどれだけいるかどうか、ということにはあまり関係なく、どれくらいの後ろ盾があるか、ということが重要になってきます。

特に巨大な組織が後ろ盾になっているプログラミング言語は強いですね。

何故かというと、後ろ盾の組織自体がその言語の価値を増すために時間とお金と人を使い続けてくれるからです。

代表的な企業の後ろ盾がある言語として「C#(Microsoft)」や「Go(Google)」「Swift(Apple)」があります。

これらの言語は巨大な企業の資本を持って、人間や社会に対して与える具体的な価値を高めてくるのでより生き残る確率が高く、価値が高くなりやすいです。

企業がスポンサードした勉強会を開催したり、コミュニティを運営したり、本を出版したり、「人、お金、時間」をかけられる企業に勝てるものはありません。

しかしながら、多くのエンジニアは人間と社会に与える価値などを検討せず「技術自体」の価値を推し量ろうとしてしまうため、技術選択に失敗してしまいます。

「書きやすい」「構文が綺麗で好みである」「速度が速い」「価値観に共感できる」といった要素は言語を好きになる条件にはなりえるものの、その言語の将来的な価値を保証するものでもなんでもありません。

あらゆる技術の「価値」は、言語そのものではなく、最終的に利用している(利用できる)ユーザーがどれだけいるか、というものが決めているのであって、ユーザーのシェアを広めるのは結局のところ巨大資本によるものが大きいです。

ここで言うユーザーは「プログラミングをするエンジニア」のことではないので注意してください。

そのプログラミング言語で動いているソフトウェアや製品を利用するエンドユーザーのことを指し示しています。

どれだけ洗練された言語を使っていても、エンドユーザーには一切関係なく、ユーザーにとって新しい価値を創出し続けられるか、ということだけが重要になります。

技術のもたらす価値よりも技術自体を見てしまうエンジニアは偏執的な強さを発揮することがあるものの、その愛こそが裏目にでて自分の身を滅ぼすことも多く、結果として報われない恋で身を焼きつくす羽目になったりします。

専門領域同士のシナジー効果

効率的に学習するにはシナジー効果も重要になってきます。

例えば、Web開発で利用されるJavaScriptを勉強するのであれば同じように使われるHTML/CSSやサーバー側で利用されるPythonのような言語を学んでおくことで仕事の幅が広がりますし、技術領域も近いので習得が容易です。

逆にシナジーがまったくない例として、Web開発を得意としているエンジニアが「C言語」や「C++」を学ぶことです。

もちろんこれらの言語でWeb開発をすることもできますが、死ぬほど大変なだけですし適応できる領域はほとんどありません。

要するにWeb開発という強みを持っているエンジニアはシナジーのない言語を学んでも意味が無いわけです。

年収を2倍、3倍にするには?

では、年収を2倍、3倍にするにはどうすればいいでしょうか?

最終的には「ユーザーに価値を与え続けられる技術を選択する」と「技術以外のスキルも選択する」ということが重要になってきます。

私が企業の面接官などをしているとたまに「30個以上のプログラミング言語を使うことができます!」という人に出会うことがありますが、こういう人はまったくの無能だったりします。

なぜかというと「習得する数」を優先したばっかりに、広くて浅い知識しかなく、ただの器用貧乏になってしまっているからです。

それよりはどんな言語にも左右されず汎用的に使える技術を強みとして持っているエンジニアが強く、例えば「ネットワークの専門家です」といった強みや、「ハッキングの手法に詳しくセキュリティの専門家です」といったこれからのニーズに即したスキルを身につけるべきです。

プログラミング言語はなくなる可能性がありますが、ネットワークやセキュリティといった概念はなくなることはありません。

であれば、無くなる可能性がある「言語」に投資するのではなく、無くならない「概念」や「領域」に投資をするべきでしょう。

また、技術的なものだけに投資をしているとコミュニケーションスキルなどを置き去りにしてしまい、実力はあるのに収入は低いエンジニアになってしまうことがあります。

「エンジニアに必要なのはコミュニケーションではなく実力である」というような意見を見ることもありますが、どれだけ実力があってもそれを活用できる状況にならなければ意味がありません。

野球選手であれば実力さえあれば黙っていても打席が回ってきます。

しかし、エンジニアは黙っていても打席に立つことはできません。

あなたがどれだけ苦労して身につけた技術も、それを活かせる環境や状況にならなければ何の役にもたたないのです。

ですから、将来的に価値があるスキルを身につけるためにも、あなたがそのスキルを利用して価値を高めるためにも、それらのスキルが活用できる場所で仕事をする必要がでてきます。

人生の勝率を高める方法についてはこちらで詳しく解説していますので、参考にしてみてください。

人生は実力ゲーや運ゲーという嘘を暴く【楽に生きやすくなる方法】