流行るソフトウェア技術を見極める方法!難しいを簡単にする力

2015年2月6日に投稿 → に更新

a0002_010676

「これから流行る技術はなんだろう?」
「今自分がやっている技術は今後廃れないだろうか?」

ソフトウェア技術の進歩は速く、次から次へと新しい技術が生み出されています。そのような状況の中で自分が使う技術をどう選択したらいいのでしょうか?

私の場合、なんとなく直観というか、「これ来そう!」って感じる時があります。

2000年の段階で「サーバーサイドJava来そう!」と感じて使い始めましたし、2014年から「Unity来そう!」と思って使い始めて今はUnityを使ったゲーム開発の仕事してます。

そんな経験を踏まえて、流行るソフトウェア技術を見極める方法を紹介します。

Javaが流行った理由

私がJavaのコードを初めて見たのは2000年でした。見た瞬間、

「めっちゃシンプルで分かりやすいオブジェクト指向言語やん!」

と感じました!

当時の私は社会人一年生でした。専門学校で C++を勉強してオブジェクト指向の基本は知っていましたが、いまいちピンと来ていませんでした。

というのも専門学校で習ったVasual C++のクラス定義はヘッダーファイルにclass構文でクラスを定義して、cppファイルにメンバ関数を定義するので、class定義とメンバ関数が別ファイルに分かれてしまい直観的に分かりにくかったんです。

言葉で説明してもわかりにくいので、Visual C++でCalcクラスを作る例を示します。まず、Calc.hにclass定義をします。メソッドの実装(中身)は書きません。

次にcppファイルにCalc.hをインクルードしてメソッドの実装(中身)を書きます。

なんかわかりにくいですよね?C++の元になったC言語はオブジェクト指向言語ではなく手続き型言語なので、それをもとにC++作られたので、その影響かと思われます。

それに対してJavaのクラス定義はclass構文の中に、インデントを下げてメンバーのメソッド定義をするので、構文が体をなしていると感じました。

「クラスのメンバーとしてメソッドがあることが直感的に分かりやすい!これは流行るに違いない!」そう思いました。実際、この後Javaはエンタープライズの分野で大流行しました。

ちなみにC++でもJavaみたくclass構文の中にメンバ関数の実装(中身)を書くこともできることを後で知りました。なんでVisual C++が生成するコードはわざわざヘッダーとcppファイルを分けていたかが未だに謎です。

Unityのおかげでゲームプログラマーになれた!

ゲームが作りたくてプログラミングを始めたはずだったのに…

私がプログラミングを始めたのは高校を卒業して専門学校に入ってからでした。高校生の頃にプレイステーションのファイナルファンタジー7をやっていて、「ゲーム作れるようになったら楽しいな、将来プログラマーになるのもいいな」と思ったんです。

ゲーム開発の求人を調べた所、仕事がきついとか、就職が難しいとか書かれていました。当時はスマートフォンもソーシャルゲームもなかったのでゲームといったらコンシューマー向けしかなかったので、今よりゲームプログラマーの就職がずっと難しかったんです。

それを知って、就職しやすい企業向けシステムのプログラマーになろうと思い、情報処理の専門学校に入学しました。プログラミングを学んでおけば、趣味でゲームを作ったりは出来るだろうと考えていたんです。

ところが…、

Direct X難しすぎる、コード長過ぎ!?

専門学校を卒業後、企業向けシステムの受託開発をしている会社に就職しました。

趣味でも何度かゲーム開発を試みましたが、

「Direct X難しすぎる!わけわからん、コード長過ぎ…。」

となり、これは無理だとゲーム開発を諦めました。DirectXというのはMicrosoftのゲーム用ライブラリで2Dや3Dグラフィックを描画するAPIを持っています。これがめちゃ難しくて、コード読んでも何がなんだかわからなかったんです。

ところが…、

Unityなら俺もゲームが作れる!

Direct Xのコードを見て、ゲーム開発をあきらめていた私ですが、Unityの本をぱらぱらと眺めた瞬間、

「Unityなら、俺でもゲーム作れるかも!」

と思ったんです。

Unityはゲーム開発をめちゃかんたんにした!

UnityはIDE上でゲームのグラフィックを配置して、C#やJavaScriptで書いたスクリプトをそのグラフィックにドラッグアンドドロップするとグラフィックに動きをつけることが出来ます。

とても直観的だし、コード量も少ないので分かりやすく、効率的です。

また、ゲームに登場するグラフィックやスクリプトの関係がIDE上で可視化されています。しかもそれらはIDE上で関係を組み替えることがかんたんに出来ます。コードでやっていたことの多くをIDEがわかりやすく可視化してサポートしてくれるんです。

実際私は、Unityを独学で数か月学んだ後、ゲーム開発の仕事に就くことが出来ました。DirectXだったらこうは行かなかったと思います。Unityは間違いなく流行るでしょう!というか既に流行ってますね!

Unityが流行った理由は何でしょう?

難しいことを簡単にする技術が流行る

私は、1/25に行われた「Global Game Jam 2015 ZENRIN ODAIBA プログラミング生放送」という生放送の番組に出演させて頂いたのですが、そこでマイクロソフトで長年エヴァンジェリストをやっている大西彰さんと対談させて頂きました。大西さんに「流行る技術のポイント」について質問してみた所、

「難しいことを簡単にする技術こそが素晴らしい」

と回答されました。

「ややこしくて小難しい技術はよくあるけれど、そういうものよりも、難しいことを如何に簡単にシンプルに出来るかが大事で、ソフトウェア技術の歴史を見ていくと、この技術はこの課題を解決したのだなというのが見えてくる」

とのことでした。

私がJavaやUnityに感じた素晴らしさ、この技術来そう!と感じたのも同じです。JavaもUnityも過去難しかったことを簡単にしました。

  • 「Javaはオブジェクト指向を簡単にした!」
  • 「Unityはゲーム開発を簡単にした!」

今のJavaはかなり複雑化しています。そこで複雑化したJavaをシンプルに洗練したC#だったり、Ruby, PHPなどが流行っていると考えると納得できますよね。

Visual Basicが流行ったのも、C++で何千行も書かないと作れなかったGUIアプリをIDEでコンポーネントをドラッグアンドドロップするだけで開発できるようにしたからと考えられます。

ですから、流行るソフトウェア技術を見極めるには、

「過去難しかったことをかんたんにしているか?」

この観点で見てみてください!

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

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

30代以上の方には

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - 技術 ,