SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

なぜ、フルスタックエンジニアが必要とされているのか ~ 「ゆでガエル」になる前に

我々はフルスタックWebエンジニアになるべきか

 究極的に、エンジニアは次の2タイプに分かれるだろうと筆者は見ています。

  • 道具立て(クラウドやプログラミング言語・ツール・フレームワーク、ブラウザなどプラットフォームなど)をエンジニアやエンドユーザに提供するエンジニア
  • そういった道具立てを使ってサービスを提供するエンジニア

 筆者は前者のタイプを「プラットフォーム提供型エンジニア」、後者のタイプを「サービス提供型エンジニア」と呼んでいます。

 プラットフォーム提供型エンジニアには、各技術領域における強烈な専門的なスキルが要求されます。一方、サービス提供型エンジニアには、サービスの構築・最適化に必要な技術を取捨選択し、使いこなすスキルが要求されるでしょう。

 フルスタックWebエンジニアとは、サービス提供型エンジニアの理想像なのだと思います。なぜなら、WhatsAppの例を見るまでもなく、Webサービスを提供する企業は、高速な開発スピードを求めて開発チームを少数精鋭にする方向だからです。

 そうなれば、チームの構成要員がカバーしなければならない領域は広くなります。サービス提供型エンジニアであり続けたいと考えている方は、フルスタックWebエンジニアになることを考えておいたほうがよいでしょう。

各レイヤーでどこまでスキルを持つべきか

 フルスタックWebエンジニアの話をすると、図1、図2における各層(インフラ、サーバサイド、クライアント)でどこまでスキルを持つべきかという話になりがちですが、実は「どこまで」というのはあまり意味のない議論だと思っています。

 勉強会でいろいろなエンジニアと話してみても、どこまでどのスキルが必要になるかは、各Webサービスの形態・状況によってまちまちです。例えば、ユーザ数が1000人に満たないWebサービスがスケールアウトの議論をしてもあまり意味がありませんが、ユーザ数が10万人を超えるWebサービスでは、スケールアウトに関するスキルは必須となるでしょう。

 ですから、各レイヤでどこまでスキルを持つべきか、という問いの理想的な答えとは、「自社のWebサービスの開発現場でスキルを身に付けながら、自分が対応できる領域を徐々に増やしていった。その結果、世の中全般のWebサービスを構築・保守するのに必要十分なスキルが身に付いていた」だと思います。

Webサービス開発者ではない人はどうすればよいのか

 一方で、現在SIerなどに勤めていて限られた役割でしか作業ができず、Webサービス開発の機会に恵まれない人はどうすればよいでしょうか。そういった方は自分の空き時間で小さなサービスを作って運用してみることをお勧めします。私の周囲の「できる」と言われているエンジニアはSIer、Webサービス事業者を問わず、そのような形で個人的に実験して自分の仕事に活かしていることが多いのです。

 私の周囲ではありませんが、一番有名な例はさくらインターネットの田中邦裕社長の「とある櫻花の画像生成」というWebサービスでしょう。さくらインターネットは当初VPS(注11)サービスはやらないと、田中社長自ら公言していました。しかし、田中社長が趣味で始めたこのサービスは爆発的にヒットして、サーバ処理が逼迫。困った田中社長はAWS(Amazon Web Service)の仕組みでスケールアウトして事なきを得ました。この体験から、田中社長はVPS事業を始める決断をしたそうです。

 このように、1人でサービスを一から立ち上げて運用してみると、多くの学びを得ることができます。

 結局、フルスタックWebエンジニアのほとんどは、個人の活動と企業の活動を問わず、1人あるいは少人数で、Webサービスを含むシステムの開発から運用までを手がけた経験のある人ではないでしょうか。そして、コミュニティの勉強会、書籍、Webなどを通じて常に新しい技術を取り込み、最適と思われる技術を担当するサービスに適用するなど、試行錯誤しながら自分を進化させていける人が、結果としてフルスタックWebエンジニアになっているのです。

注11:Virtual Private Serverの略。仮想化の仕組みを利用した専用サーバ。

次のページ
おわりに

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

橋本 吉治(ハシモト ヨシハル)

 日本Javaユーザー会副会長。また、企業が持つWebサイトに対する全文検索システムをSaaSとして提供する企業株式会社SyncThoughtに所属。同社にて、主力サービスであるSyncSearchの開発とお客様向けのカスタマイズを中心に活動。同時に、同社サービスの技術的な魅力を対外的にお知らせするために、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7813 2014/06/18 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー