プログラマに転職するためにはどんな技術を学べばいいか?プログラミング言語の選び方を教えます

SIerからウェブ系への転職を目指している人は一定数いるのだと思っています。
そういう方は技術が好きで、できれば「プログラマになりたい」と願っているのではないでしょうか。

さて、プログラマを目指すといっても、世の中には色々な技術があります。

フロントエンド、サーバーサイド、SRE、クラウドネイティブなインフラ構築、機械学習エンジニア、デザイナー…etc

学ぶ対象は無限にあり、普段の業務でエンジニアリングをしていない場合は、自分がどの分野に向いているかもわからないでしょう。
そうすると、QiitaやTwitter、WebDB+PRESSで見つけた「トレンドの技術」に飛びついてしまいがちです。
とりあえず流行ってそうなものに手を出して、結局何も身に付かないパターンですね。

とはいえ、何を学べばいいかもわからないはず。
この記事ではそんな学習迷子の方のために、確実に使える「指針」を紹介します。

時間は有限です。Twitterのインフルエンサーやネットの記事に惑わされることなく、地に足をつけた学習をしましょう。

求人駆動学習を取り入れろ

結論は一言「求人を見ろ」です。
これに尽きます。

たとえば、dodaという転職サイトで求人を探してみましょう。
転職サイトを回っていれば、給与水準の高い会社などがひと目でわかります。

給与水準・残業時間・勤務地などを設定して気になる会社を見つけました。
クリックしてみましょう。

すると、どの会社にも必ず【必須スキル】【歓迎スキル】が書いてあります。
この【必須スキル】【歓迎スキル】をかき集めて、最大公約数的な技術から学んでいきましょう。

上の例だとかなり手広く色々な経験を求められるので「これ!」と決めることはできませんが、学習内容に優先順位をつける手順はシンプルです。

  • 気になる会社を複数ピックアップする
  • 気になる会社の必須スキルをチェックする
  • 気になる会社の歓迎スキルをチェックする
  • 共通項が最も多いスキルから学習する(「必須スキル」を優先すること)

簡単ですね。

求人で「求められているスキル」を眺めてみると、TwitterやQiitaで騒がれる「トレンド」とはややずれていることがわかると思います。
その理由は、「いま、伸びている会社は、5〜10年前に設立された会社が多い」からです。

人を雇う余裕がある会社は5年以上前に設立されているわけですね。
なので、令和でトレンドになった技術ですべてができているわけではなく、ちょっと昔の技術が使われているのです。

「枯れた」というと言い方が悪いかもしれませんが、最先端のトレンドよりも「安定した技術」の方が求人上での需要は大きいのです。
そうやって考えると、出てきては消える「最先端」を追いかけ続けるのは「市場価値」的にもコストパフォーマンスが悪いとわかるでしょう。
最先端を学んでも求人が出るのは2、3年後だからです。

新しい技術を学ぶなら、技術が世に出てから2年後にしなさい

毎年毎年、色々な技術が登場します。
夜空に輝く夏の花火のように、パッと出てきた技術は眩しく、そして美しく見えるものです。

しかし、一時的にもてはやされた技術が長く使われるとは限りません。
たとえば、著名エンジニアの伊藤直也さんが以前紹介されていたElixirであったり、RubyMotionも、もちろん一部で需要はあるでしょうが、求人条件としては見たことがありません。

CoffeeScriptも昔流行りましたが、今では求人には書かれません。

学習経験は無駄にはなりませんが、どっぷりのめり込むのは技術の「利用」が安定してからでいいでしょう。

著名なエンジニアが注目してる!俺も勉強しよう!と手を出す前に一度冷静になって、

「この技術は何を解決するのか?枯れた技術では実現できないのか?この技術を使って拡大しているサービスはあるのか?」

はよく調べてみましょう。

一つの技術に精通するまでに100時間超の時間は投入するのですから。
幅広く関心を持って技術を学ぶのはものすごく大切なことですが、時間は有限です。

何を学ぶかはしっかり選んでおきましょう。

SI勤務の方におすすめの転職サイト「DODA」に登録する

クラウドソーシング駆動で技術を学ぶ

この記事では気になる求人を探して、求人をキーにして技術を学ぶ

「求人駆動開発」

を提案してきました。

それ以外にももう一つ、良い方法があります。
クラウドソーシング駆動の技術学習です。

以下はランサーズで公開されている案件です。

Ruby on Railsだったり、Excel VBAの案件だったりが色々とあるわけです。
こういう案件をこなしていけば、経験も積めて、かつお金ももらえます。

業務で技術がやれないのであれば、こういうクラウドソーシングを使って経験を積めばいいのです。

ちなみにクラウドソーシングの所得は「給与所得」ではなく「事業所得」か「雑所得」扱いになります。
アルバイトなどの「給与所得」であれば雇用先にバレる可能性はかなり高いですが、事業所得や雑所得は確定申告していれば雇用先にバレることは99.9%ありません。

副業と確定申告の関係とは?クラウドソーシングやアルバイトなどケース別に解説

私が考えるエンジニアのスキルアップの理想パターンは、平日は5日間、9時から18時で業務をこなし、
19時から22時でクラウドソーシングの業務をこなします。
土日は9時から23時まで個人開発をして、ストック型の資産を作っていきます。

それを3年続ければ、おそらくはエンジニアとしてはどこでもやっていける自信がつくのではないでしょうか。
英語やコンピューターサイエンスの勉強もどこかで入れなければいけませんが。

まぁ、9時-18時の業務なんてSIerにいる限りは不可能な人がほとんどだと思うので、結局は業務終了後に勉強(インプット)、土日で個人開発かクラウドソーシングに取り組むことになるような気がします。