小俣泰明(TAIMEI)@taimeidrive
NTTコミュニケーションズなどのITベンダーでシステム運用やネットワーク構築の技術を磨いた後、面白法人カヤックでディレクターを担当後、上場企業の取締役に就任。2012年8月にスマートフォンアプリ・ソーシャル領域に特化した開発・運営を行うトライフォートを共同設立、代表取締役Co-Founder/CTOに就任。2015年末に退任し、現在は次の展開を準備している
2016年あけましておめでとうございます。エンジニアtypeがリニューアルするということで、半年間続けてきたこの連載も最後になりました。今までご一読いただき本当にありがとうございました。
最終回ということで、今回は原点回帰してエンジニアのあるべき姿について考えてみました。
よく言われる「優秀なエンジニア」の「優秀さ」とは何なのでしょう。
最新技術を追い続けてキャッチアップすることなのか。一つの技術をとことん極めることなのか。それとも、フルスタックの名の下で全ての領域に幅広く精通することなのでしょうか。
定義は人それぞれあるかもしれません。ただ、僕の定義は、どれも少し違います。一番に考えなくてはならないのは、「誰のための技術か」だからです。
その料理は、誰のために作っているのか?
技術そのものは完成された料理(サービス)ではありません。技術をエンジニアではない人に押し付けたところで、調理前の食材を出して「これはすごく美味しいんです」と言っているようなものです。
しかも、相手はサービスを使ってくれるユーザーだけではありません。開発フェーズによって、ステークホルダーが変化する場合もあります。その度に、エンジニアは対象となるステークホルダーが理解できる形に料理して出さなけれはなりません。
例えば昨今注目されているAIやFinTechなども、機械学習やブロックチェーンそのものについてステークホルダーに語り、技術的な優劣で物事を判断することにはあまり意味がありません。
誤解しないでほしいのは、最新技術を学ぶこと自体を否定しているわけではないということ。エンジニアが素材を学ぶことは、美味しい料理を作る上で大切です。それでも、「誰のために」が抜け落ちてしまったら、学びの価値は著しく下がってしまう。ここが、とても大事なポイントです。
エンジニアが陥りがちなのは、技術だけを並べ立てて、「塩コショウくらい、後で加えるのは言わなくても分かるよね?」となること。それではダメだと思うのです。僕らは料理人であるべきで、食材(技術)を並べるスーパーの店員ではないのです。
相手は「味」というレイヤーでしか良しあしを判断できないため、出てきた料理がまずかったらもう口にはしません。たとえ、構想しているサービスがすごい技術を要するもので、“焼き加減”次第で最高のモノになる可能性があるとしても。上司だったり、決裁者であったり、ユーザーに対しても、「味」として一番美味しいものを提供する必要があります。
そういう理由で、冒頭で書いた
・最新技術を追い続ける
・一つの技術をとことん極める
・全ての領域に幅広く精通する
というのは、すべて調理法の一つでしかないと思っています。
最終的に美味しい料理を振る舞うことがゴールならば、調理法を誇っても意味がありませんし、調理法の良しあしを吟味して結局何も進まないという状況に陥るのが一番危険な状態です。
技術はあくまで手段でしかなく、目的とは違うと理解することが大切です。
現代の技術はほぼ全て、世の中に存在するものから生まれている
次に、料理人たるエンジニアが扱う技術そのものを革新することが「あるべき姿」なのかという点についても考えてみましょう。
この答えは、イノベーションとは何か?という問いについて考えるのに近いのかもしれません。
ほとんどの技術は、全て「すでにあるモノの使い回し」、もしくは「カスタマイズ」で出来上がっています。研究開発で技術的に新しいモノを生み出そうとしている場合も、その大多数は、すでに先人が作り上げたレール上にある技術のカスタマイズに過ぎません。
まれに、世紀の発明といえる本当にイノベーティブな技術が誕生することもありますが、往々にしてすぐビジネスにならないモノが多いです。自動車が誕生してから、一般社会を変えるまでにはそれなりの時間を要したことを考えればお分かりになるでしょう。
もし発明家を目指したいというエンジニアがいたとして、その人の挑戦を否定するつもりはありません。ただ、過去のほとんどの技術が「使い回し」か「カスタマイズ」の産物だという事実から考えれば、世紀の発明家になれる人は本当にごくわずかだというのもまた事実です。
となると、改めて、大多数のエンジニアにとっての「あるべき姿」とは何なのでしょうか?
それは、先人が創り出したものを引き継いて、カスタマイズし続けることなんじゃないかと思います。過去の技術のルーツを知り、先人が生み出してきたものを、その時代にあったやり方で先に進めていくことこそが、多くのエンジニアの役割なんじゃないかと。
すでにある技術を組み合わせて、誰かにとっての新しいイノベーションを生み出していく。それで良いんです。他社や他人が作ったソリューション、SDK、ライブラリを否定し、すべてを自分(自社)で作るようなスタンスは、技術発展のレールからは外れた行為。その先に待っているのは、行き先の違った目的地だけです。
オープンな世界の中で、「誰か」のために技術を駆使する
そもそも現代のエンジニアリングでは、他人が作った技術が「敵」ではなくなっています。
他社技術や他社のソリューション、SDKなどを使う行為は「依存」であり、リスクになると言われた時代もかつてはありました。そして「差別化」という大義名分の下、多大なコストを費やして独自開発を行ってきました。日本国内の企業は、特にその傾向が強かったように思います。
でもそれが、結果的に日本企業のガラパゴス化を推し進める形になったのは、多くの人が認めるところでしょう。
OSSの隆盛を見ても、今はこういった「閉じた開発」より、企業や国を超えて協力し合う「オープンな開発」が主流になっています。おそらく、この十数年で生活レベルが上がり、他社・他者を蹴落として富を勝ち取るという時代ではなくなったからだと感じています。
ですから、このオープンな世界を味方につけながら、「誰のために」を意識して技術を駆使することが、今の時代の優秀さなのだと思います。
ステークホルダーは、家族でもいい、親友でもいい、社内の同僚でもいい。技術で身の回りの人に喜び、感激を与える人になりましょう。「誰のために」を考えることから始めましょう。その結果として、エンジニアのシゴト人生が素晴らしく、一生幸せなものになるのだと僕は信じています。
最後に、小俣個人としては今後、「モノづくりで多くのステークホルダーを救う」をコンセプトとした制作集団を立ち上げることになりました。創業メンバーとして戦ってくれる仲間を募集しています。
少しでも興味を持っていただいた方は、ぜひ、小俣泰明のFacebook、もしくはTwitter(@taimeidrive)宛てに気軽にご連絡いただければ幸いです。もっと深い話ができればと思っています。
以上、最後まで読んでくれてありがとうございました。そして、連載執筆の打診をくれた川野さん、編集長の伊藤さんにもお礼を。ありがとうございました!