キャリアVol.191

開発トレンドは「スマホの外」へ。それでもプログラマーのやることは1つ【連載:中島聡】

UIEvolution Founder 中島 聡Windows95/98、Internet Explorer 3.0/4.0のチーフアーキテクトを務めたエンジニア。NTTに就職した後、マイクロソフト日本法人(現・日本マイクロソフト)に移り、1989年、米マイクロソフトへ。2000年に退社後、UIEを設立。経営者兼開発者として『CloudReaders』や『neu.Notes+』、教育アプリ『neu.Tutor』といったiOSアプリを開発する。シアトル在住。個人ブログはコチラ

今回は、エンジニアtypeが展開している特集「New Order~融合の先を拓く者たち」に関連して、編集部から「ソフトとハード、ネットとリアルが融合する時代の歩き方」をテーマにしてほしいというリクエストがあったので、私見をまとめてみました。

この連載でも何度か取り上げたように、一昨年末くらいから、わたしはウエアラブル・コンピュータの動向を注意深く追っています。

普通に考えれば、世の中はまだスマートフォンの普及期に入ったばかり。ビジネス的にも、当面はスマホやタブレット向けの開発が主流でしょう。

でも、エンジニア目線で言うと、これ以上スマートフォンにいろんな機能を詰め込むのは無理があると感じ始めています。そんな中、「スマホの外」でネットとつながるウエアラブル・コンピュータが台頭してきた。これは、未来を考える上でとても面白い流れだと思います。

リリースの噂だけが先行しているAppleのiWatch(仮名)を例に挙げるまでもなく、ウエアラブル端末が本格的に社会へ普及するのはまだまだ先の話。最近バズワード化しているIoT(モノのインターネット)も、今はIntelなどの売り手側が新たな製品を売るために騒ぎ立てているだけ、という印象です。

本当にモノとインターネットが融合する時代がやって来るのは、早くても5年くらい後だと思っています。

ただし、CPUやメモリ、無線通信など、ウエアラブルやIoTを支える要素技術が進化し続けていることを考えれば、いずれ普及フェーズがやって来るのは間違いありません。

Googleが家庭用ハードウエアメーカーのNestを買収したり、FacebookがOculusを買収したのも、このトレンドを裏付ける動きです。Facebookがなぜ今Oculusを買ったのか、いまいち狙いが分かりませんが、彼らはもう「スマホの先にある世界」を見始めたのかもしれません。

ソフトとハードの融合で大切なのは「変数」を知ること

Googleが買収したことで話題となったNest
Googleが買収したことで話題となったNest

2007年にiPhoneという新デバイスが誕生し、スマートフォンアプリという新市場が立ち上がったのが、ちょうど5年くらい前のこと。今後の5年間では、それと同じことが、ウエアラブルやIoTのマーケットでも起こるでしょう。

では、2014年の現時点で、ソフトウエアエンジニアは今後来る「融合の時代」に向けて何をやるべきか。その答えの一つは、ハードウエアエンジニアやメーカーとのコラボレーションノウハウを学んでおくことだと思います。

今はアプリやソフトウエア開発だけで大きな成功を収めるのが難しくなっています。アプリ・ソフトマーケットは世界的な競合過多になっており、FacebookやLINEのようなメガカンパニーは生まれにくくなったと考えるのが妥当です。

であれば、ハードウエアメーカーと組む、もしくはハードウエアエンジニアを雇って自らデバイス開発に乗り出す方が、ブルーオーシャンだと考えるソフトウエア企業が出てくるのは自明の理。日本の家電メーカーはソフトウエアを作るのが苦手なので、アプリベンダーがハードの開発にも乗り出すことで、日本から新たな世界的企業が生まれることもあり得るでしょう。

しかし、そういったチャレンジをする人や企業がまだまだ少数なのは、ハードウエアの開発がソフトの開発とは勝手が違うからです。

ソフトウエア開発では、デバッグさえすればすぐにバグを見つけられます。つまり「悪いのは自分自身」というシンプルな世界です。一方のハードウエア開発は、原因不明のおかしな挙動に悩まされることが少なくありません。

わたしの会社UIEvolutionでも、以前『ひかりTV』用のセットトップボックスをLinuxベースで開発した時、ハードの仕様書どおりにソフトウエアを作ってもうまく起動しないという問題に突き当たりました。

で、いろいろテストしてみた結果、すぐにイニシャライズすると動かないけれど、少し時間が経ってから起動すると動くという変数を発見したのです。組込みソフトを開発する際は、このような変数と常に戦い続けなければなりません。

また、ハードの開発ではiOSやAndroidのような汎用OSが使えない場合もあるので、開発基盤から作らなければならないケースが出てきます。それゆえ、参入障壁がおのずと高くなるのです。

こういった大変さを経験値として知っているかどうかは、これからハードとソフトがもっと融合していく時代になっていった時、大きなアドバンテージになると思います。

「何かが得意な人」と、「何かを学ぶのが得意な人」の違い

ハード向けの組込み開発を突き詰めていくと、アセンブラをゼロから学ぶ必要も出てくるでしょう。そして、ウエアラブル用アプリの開発やIoTサービスの開発が一般的になると、ある時はArduinoに触り、別の開発ではRaspberry Piに触るというようなことが頻繁に起こるでしょう。

こうした変化の渦中で、ソフトウエアエンジニアに求められるのは、常に「学ぶ」ことです。

そもそも、プログラマーには2種類の人間がいます。1つは「何かが得意な人」、もう1つが「何かを学ぶのが得意な人」です。

この業界では、「Javaエンジニア」や「iOSエンジニア」などと、言語や対応OSで自分を定義するプログラマーが数多くいます。が、これは悪しき慣習以外の何物でもない。

「何かが得意な人」は、その得意分野に対する需要が減った時、変化に適応できなくなるからです。

歴史を見ても、「何かが得意な人」というのは、PC向けアプリからスマホアプリへとトレンドが変化していく過程で、一定数が淘汰されてきました。今後、スマートフォンからウエアラブル端末へ開発の主戦場が変わっていったら、真っ先に淘汰されるのもこのタイプだと言えます。

他方、「何かを学ぶのが得意な人」というのは、変わりゆくIT産業の中で、常にスキルや知識をバージョンアップし続けながら仕事をしています。この素養を持っているプログラマーこそが、「良いプログラマー」なのだと思います。

新しいデバイスの可能性を引き出すのが、ソフトエンジニアの役割

わたしの考えるソフトウエアエンジニアの役割とは、常に新しいデバイスの可能性を引き出し、応用の仕方を考えること。これは、いつの時代も不変です。

大学時代、CADソフトの『CANDY』を開発しましたが、この時はマウスの能力を拡張することを念頭に置いていました。その後MicrosoftでWindows 95/98を作った時も、PCという新しいデバイスの可能性を引き出すのを目的に開発していました。

そして今、個人的なプロジェクトとして動画フィルターアプリ『VideoShader』づくりに注力しているのは、OpenGLを学びながら、スマホのビデオ録画機能を拡張してみたいと思ったからです。

何かをゼロから学ぶ時、最初の1~2カ月は「プログラミング初心者」に戻ることになるので、居心地は決して良くありません(笑)。でも、初心者のままでいるのが嫌だから、必死で勉強するのです。

このサイクルを何歳になっても繰り返し行える人は、いつの時代も「良いプログラマー」で居続けることができる。

UIEvolutionは、そんな「良いプログラマー」を常時歓迎しているので、興味を持った人はぜひこちらを覗いてみてください(クルマのスマート化を実現するエンジニアなど、複数ポジションで採用を展開中です)。

この記事が気に入ったらいいね!しよう

エンジニアtypeの最新情報をお届けします

RELATED POSTS関連記事

JOB BOARD編集部おすすめ求人

この記事に関連する求人・キャリア特集


記事検索

サイトマップ



株式会社富士通エフサス【ポジションマッチ登録】 オープンポジション

キャル株式会社 開発エンジニア/未OK/全員面接/残業月10h以内/採用者例…

キャル株式会社 インフラエンジニア/未OK/全員面接/残業月10h以内/採用…

住友林業情報システム株式会社 インフラエンジニア【住友林業グループのイ…

キヤノンビズアテンダ株式会社 RPA作成職(最先端Roboticsツール)/月給4…

キャル株式会社 機械・電気設計/未経験OK/残業月10h以内/年間休日125…

株式会社東亜産業 【商品企画・生産管理】理系・電子工学系出身大歓迎!入…

株式会社ウイルテック エンジニアリング事業本部 【総合職】機械系総合…

サーモス株式会社 筐体設計(水筒)/世界120カ国以上に展開/新しい市場…

ソニーエンジニアリング株式会社 [機械設計] ~ソニー製品の機械設計/機構…

「幾多の修羅場を乗り越えた」ユーザー数4900万人突破の『モ...

「タダでやってよ問題」にエンジニアはどう対応すべきか?澤円か...

SIerって本当にヤバいの? ひろゆきが語る、業界ごと沈まな...

「インフラエンジニアは今こそ作り手に回れ」国産クラウド『ニフ...

若手エンジニアが急成長する組織は何が違うのか? AWS導入の...

「type転職エージェント」無料転職サポートのご案内