新しいソフトウェア技術が出たらすぐ学ぶべきか?成熟を待つべきか?

2015年1月26日に投稿 → に更新

a1640_000215
ソフトウェア技術の世界では、日々新しい技術が生み出されています。

新しい技術は刺激的で魅力的です。

新しい技術はいつ学べばいいのでしょうか?

出てすぐ学ぶのが良い?成熟を待ってから学ぶべき?

それぞれにメリット/デメリットがあります。新しい技術を学ぶべき時期について考えてみましょう。

出てすぐの技術を学ぶのは獣道

デメリット1. 学習コストが高い

出たばかりの技術を学ぶのは、成熟した技術を学ぶのに比べて難しくなります。出来たばかりなので情報が少ないためです。書籍がないのは当然でネット上の情報も本家のサイトしかない場合もあります。

また、事例が少ないので、

  • どういう場面で使うと良いのか?
  • どんな使い方をするとまずいのか?

などのベストプラクティス・アンチパターンが分かりません。これらを自分で試行錯誤して見つける必要があります。

それに、出始めの技術は当然使ってる人が少なく、自分よりその技術に精通してる人が少ないので、人から教わることが出来ません。大抵のことは自分で調べたり試行錯誤すれば分かりますが、自分以外の視点の考えが聞けないので視野が狭くなってしまいやすくもなります。

学習コストがかかるということは、自分が学習に割り当てられる時間の多くをその分野につぎ込まなければなりません。

デメリット2. 技術の安定性が低い

出来たばかりの技術はバグが多くなりがちです。うまく動かない際の原因が自分の使い方が悪いのか、ソフトウェアのバグなのかの切り分けが必要です。

苦労してトレースした結果、自分のせいでなく、その技術自体のバグだった場合の徒労感はつらいものがあります。

また出来たばかりの技術は仕様変更が多い傾向があります。仕方がないことですが、バージョンアップしたら、前のバージョンで書いたコードが動かなくなった等の問題もひんぱんに起こりがちです。

デメリット3. 学んだけどその後廃れてしまう時もある

出たばかりの技術だと、その技術が流行るかどうか分かりません。技術は利用者がいなければ、廃れていきます。せっかく学んだのに思ったより流行らなくて廃れてしまったなんてこともあり得ます。

メリット1. 先行者利益

悪い点を挙げてきましたが、良い点ももちろんあります。出たばかりの技術を早い段階で使い始めるとその分野でトップを走ることが出来ます。

その分野のパイオニアとして、ネットや会社で評価されることも十分あります。それによってコンサルティングや書籍執筆の依頼を受けるかもしれません。

私の場合、早いという程ではありませんでしたが、2014年にUnityを学び、幾つかのゲームをネットで公開していたら、gihyo.jpのUnity講座を執筆するチャンスを得られました。これも一つの先行者利益です。ちょっと早いくらいでもけっこう利益がありそうです。

成熟を待ってから学ぶのは舗装された道路

出てすぐ学ぶ際のメリット/デメリットを逆にしたような特性があります。

メリット1. 学習コストが低い

成熟した技術は書籍やWebサイト等の情報が多く学習がしやすいというメリットがあります。使用事例が多いので、ベストプラクティス・アンチパターンなども見つけられる場合が多いので導入が容易です。

自分よりその技術に精通している人も簡単に見つけられるのでその人から教わることが出来ます。

つまり、成熟した技術の方が短い時間でその技術を学習することが出来るということです。

学習コストが低いということは、短時間で習得して、余った時間で別の分野に取り組むこともできます。

メリット2. 技術の安定性が高い

成熟した技術は十分な仕様事例と改善の結果バグが少なくなっています。同時に改善を経て成熟しているので仕様変更が少なくなります。
なので、安心してストレスなく使用することが出来ます。

メリット3. 当たり外れがない

成熟した技術は、十分に需要があるから成熟したわけなので、すぐに廃れることはありません。なので、せっかく学んだのに使い道がないとかその技術を使った仕事がないといったことになりにくいので、学んだことが無駄になりません。

デメリット1. その分野でトップになれない

良い面ばかり上げましたが悪い面もあります。成熟した技術を学んでも、自分よりもずっと前からその技術を使っている人たちがたくさんいるため、その分野でトップになるのは非常に難しいです。

どちらを行くかはあなた次第!

新しいソフトウェア技術が出たらすぐ学ぶ場合と成熟してから学ぶ際のメリットデメリットを整理することが出来ました。結論としては、

  • すぐ学ぶのは獣道。学習コストは高いしバグがあったりで苦労も多いけれど、その分野のパイオニアになれる可能性がある。
  • 成熟してから学ぶのは舗装された道路。学習しやすいし学んだことが無駄にならないが、その分野で一番にはなかなかなれない。

となります。つまり、自分がどうありたいかです。

「苦労をしてでも学習コストをかけ新しい技術を学んで第一人者になりたいか?成熟を待って短期間で技術を学び多分野に精通したいか?」

それ以前に、その技術が好きかどうかが重要です。その技術が好きだったら、学習コストが高かろうが、その技術が後で廃れようが関係ありません。

私の場合、ある程度成熟したものを学ぶことが多いです。学習効率を重視しているからです。とはいえ効率なんて関係ないくらい好きな技術が現れたら、獣道を選びたいと思っています。そんな技術が誕生することは楽しみにしています!

あなたはどちらの道を行きますか?

プログラミング初心者におすすめのサービス
1. 講師から対面で学びたい派なら

プログラマカレッジをおすすめします。ProEngineerという転職エージェントが運営しているプログラミングスクールです。20代限定なんですが、無料で受講できて、修了後、就職支援もしてくれるんです。最高過ぎですよ、これ!!企業からの協賛金で運営しているのでスクールを無料にできるんだそうです。すばらしいシステムだと思います!

30代以上の方には

プログラマカレッジは20代限定なので30代以上の方にはWebCampをおすすめします。受講料の返金保証がついているし、毎日11時〜23時まで通い放題なのでとてもいいと思います!

2. 自宅で学びたい派なら

「就職保証付き」オンライン就職予備校をおすすめします。Javaエンジニアコースでは就職保証がついているのでプログラマーとして就職したい方にはぴったりです。Javaエンジニアの求人ってめっちゃ多いし、求められる技術レベルもそこまで高くないのでちゃんとした教育プログラムなら就職保証できるだろうなとJavaエンジニア経験者の私も思います。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

4. 未経験の人でも登録できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

ホームページを見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはワークポートというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『ワークポート』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、ワークポートは未経験者を支援し転職を成功させています。

未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

『派遣社員』なら正社員とフリーランスの『良いとこ取り』!

  • 「フリーランスになりたいけど、確定申告とかめんどくさいな」
  • 「定時帰りできる職場や、時短勤務がしたい」

という方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員なら

  • 時給が高く、給料も悪くない
  • やりたい仕事を選べる
  • 確定申告不要(派遣会社がやってくれる)
  • 厚生年金、健康保険も派遣会社が入ってくれる

ので、正社員とフリーランスのいいとこ取りな、とてもいい選択なんです。

 - 勉強法