超高速開発の視点からみたフルスタックエンジニア

先月、橋本さんがCodeZineに寄稿した記事「なぜ、フルスタックエンジニアが必要とされているのか ~ 「ゆでガエル」になる前に」は、とてもわかりやすい内容でした。
http://codezine.jp/article/detail/7813

私の立ち位置は SI で、法人向けの業務アプリケーション開発です。よってフルスタックエンジニアのイメージは

業務知識 + プログラムコード (Java,JavaScript,HTML,CSS) + Javaフレームワーク + テーブル設計

となっています。

この業界では「業務知識」に特化した人をシステムエンジニアと呼ぶことが多いですが、システムエンジニアはプログラムコード - 特に最新技術を駆使したプログラム - の知識はなくてもよい、という暗黙のルールが(多分)存在します。個人的には、それがプログラマ軽視につながり、IT 業界の多重下請け構造や、オフショア開発を助長した一因になったと感じています。昨今のアジャイル開発の潮流は、そのような分業体制への警鐘という側面もあるのではないでしょうか。

では SI の世界で(私が独断で定義した)フルスタックエンジニアを増やせばよいか、というと、そう単純でもありません。フルスタックエンジニアという言葉が登場したのは2013年頃でしょうか。それよりも遥か昔から、このような人達は「スーパーマン」と呼ばれていました。これは "滅多に存在しない。" というニュアンスを含みます。

振り返れば1990年代初頭のオープンシステム、マルチベンダーという潮流以降、スーパーマンの数は年々、減っていきました。現時点では絶滅危惧種ではないかと思えるほどです。個人的に考える原因は次のとおりです。

  • 技術の変遷が速い。この20年だけでクライアントサーバ型からWeb型、そしてHTML5からスマートフォン(iOS,Android)と多くの基盤が登場した。これをすべて追いかけて理解できた人はスーパーマン。
  • スーパーマンは通常の開発者に比較して生産性は数倍から十数倍という能力をもったが、待遇はそれに比例しなかった。そのためスーパーマンになりたいというモチベーションは低下した。
  • 不景気で、希少価値であるスーパーマンを活かせるプロジェクトそのものが減少した。彼らの一部は SI から、別の世界へ移ってしまった。

スーパーマン(今でいうフルスタックエンジニア)こそが真のプロフェッショナルであり、それが絶滅しかかっているということ自体が、SI をつまらないものにしています。この育成には時間もお金もかかります。彼らを尊敬し、正当な対価をもって迎え入れ、野心的なプロジェクトで活躍してもらうというのが必要です。

しかし現実には、業務知識と最新技術の両方をカバーすることは難しい。実のところ、片方だけでも難しい。古い業務知識や、古いコードの書き方で今を生きている人はたくさんいます。そのために有償・無償のセミナーやIT技術者勉強会が盛んであり、資格試験もあります。私が冒頭に掲げたようなフルスタックエンジニアが百人に一人、いや千人に一人という存在であれば、社会のニーズを満たすには限界があります。

その解決策の一つが、自動化技術です。主に業務知識をもった技術者に、最新技術をカバーする自動生成エンジンを使ってもらうことで、時代が求めるフルスタックエンジニアに近づけるという発想です。

このアプローチは、もう一つの、そして現在において主流である代替案、すなわち業務知識を担当するシステムエンジニアと、下請けプログラマ(オフショアを含む)という関係性よりは、次の点で有利です。

  • 開発に携わる人が少なくなる。これは工期短縮と、開発者と客の距離を縮めるという効果につながる。
  • システムエンジニアとプログラマという分断された関係ではなく、両者が緩やかに連携しやすくなる。

まとめると、SI 業界において「業務知識と最新技術」の両方に熟知したフルスタックエンジニアの価値は高まっているものの、現実的には量産できるものではなく、育成には時間もお金もかかります。それを諦めて多重下請け構造で乗り切ろうとした結果、SI はさまざまな問題 - 特に人材の使い捨てという問題 - に直面しています。

「超高速開発」は、業務知識をリポジトリとして整理・体系化することで、少数のエンジニアでの開発を可能とします。これは結果的に、フルスタックエンジニアの活躍の場を拡げ、また、そのような人材を育成することにも貢献できるプロジェクト体制になりえます。リポジトリを核に、業務知識と実装技術をもった技術者が同じ場で働くことができるためです。

次回の超高速開発コミュニティセミナーの宣伝

きたる7月18日に、超高速開発コミュニティ主催で「上流工程ツールとの連携事例報告」というセミナーが開催されます。
http://www.x-rad.jp/

ここでは、上流工程の成果物であるER図とデータ辞書(いわゆる「リポジトリ」)を、別製品である自動生成系ツールに取り込んでシームレス連携するという実験結果を発表します。これができれば、ツールの活用によって開発者自身が「フルスタックエンジニア」とはどういうものか、という感覚を体験できると期待しています。当日は私が Wagby の例を発表する予定です。

コミュニティ非会員は有償ですが、当社の招待枠で5名まで、無償で参加できます。興味のある方は「ブログを読んだ」として、こちらへご連絡ください。
https://www.jasminesoft.co.jp/ask.jsp