繰り返される“車輪の再発明”への疑問が、次のキャリアを動かした
前職でシステムエンジニアとして多様なプロジェクトに携わっていた菅村は、同じような機能やアルゴリズムを毎回ゼロから開発する状況に、強い課題感を抱いていました。2000年代当時は、オブジェクト指向やプラットフォーム化といった概念がまだ十分に浸透しておらず、“似た機能を都度、新規に実装する”という非効率な開発が、業界全体で当たり前のように行われていました。
本当に同じことの繰り返しばかりでしたね。遅延しているプロジェクトのヘルプに入っても、やはり同じような機能の実装でした。すでに開発済みのコードがあるのにも関わらず、新規開発するため、工数が増え続けていたのです。コンポーネント化すれば効率化できると考えたものの、実際には実現できませんでした。
あるプロジェクトAでは、別プロジェクトBで開発したものとほぼ同じ仕組みや機能が必要だったにもかかわらず、結局ゼロから作り直す。こうした状況を何度も経験した菅村は、上司や経営層に対して“共通化による効率化”を提案します。しかし、当時の組織文化も相まって、全社的な取り組みに発展することはありませんでした。“車輪の再発明”を強いられる環境に、モヤモヤは募る一方でした。
転機となったのは、あるバッチフレームワークの開発プロジェクトです。菅村が作成したフレームワークに対し、同じプロジェクトに参画していたNTTデータの共通化チームからヒアリングを受けることになりました。
NTTデータは、「組織として本気で共通化に取り組む企業なのだ」と驚きました。ビジネスパートナーである私に対してもリスペクトを持って接してくれ、考え方のレビューまで依頼されたんです。「こんなに技術を尊重してくれる会社があるのか」と衝撃でした。
NTTデータとの協業経験は、菅村が抱えていたモヤモヤを一気に晴らすものでした。自分が思い描いていた“共通化のあるべき姿”を実現できると確信し、NTTデータへの転職を決意。また、当時ビジネスパートナーであった自分に対しても対等に接してくれた同社の組織文化や風土にも強く惹かれたと言います。
作って終わりにしない。使われ続ける共通化フレームワークへ
NTTデータに入社後、菅村が最初に任されたのは、処理方式を共通化するR&Dプロジェクトでした。オンライン、ディレード、バッチといった処理方式を原理原則から整理し、パターン化して全社基準にまとめる、大規模な取り組みです。これまで積み上げてきた経験・技術を最大限に活かせるプロジェクトでした。
上司からも「今までの経験を出し切ってほしい」と言われ、大きな裁量をもらいました。処理方式の原理原則はどのシステムでも変わりません。多くの案件で積み上げてきたナレッジをどう言語化し、形式化するか。イメージはできていました。
しかし、困難もありました。処理方式パターン案を各部署の有識者20〜30名にレビュー依頼したところ、部署によって文化や用語が大きく異なることが発覚したのです。ここから、関係者と対話しながら合意形成していく長いプロセスが始まりました。
同じ処理をオンラインディレードと呼ぶ部署もあれば、ディレードやディレードバッチと呼ぶ部署もあります。無理に統一することもできましたが、長く使われてきた概念を一方的に変えることへの抵抗もありました。そこで、一人ひとり丁寧に対話しながらまとめ方を模索していきました。
また、1000人規模・複数案件に共通展開するディレード・フレームワークを開発したプロジェクトも印象深いと言います。周到に準備を重ね、1年以上かけて汎用性を高めたフレームワークをリリース。しかし、利用開始後には想定外の要望やエラーが多く寄せられました。
自信を持って開発したのですが、ユーザー視点でまだ足りない部分がありました。
意図しない使われ方をして動作不良を起こしたこともあり、もっと細やかに使われ方をイメージする必要があったと痛感しました。
開発基盤となるフレームワークは、作って終わりでは意味がありません。いかに“使われ続けるか”が本当の価値を生むことを、この経験で強く学んだと菅村は語ります。その学びを活かし、後の全社プロジェクトでは、フレームワーク込みのサンプルをリポジトリにアップし、30分以内に動作検証ができる仕組みを整えるなど、 “使いやすさ”を徹底的に意識するようになりました。
技術を楽しみながら、生成AI時代の“目利きエンジニア”として活躍
現在、菅村はAI技術部で、生成AIを活用した開発プロセスの効率化に取り組んでいます。すでに開発現場では、コーディングやテスト工程で生成AIが活用されています。一方、エンタープライズ領域では、生成AIが出力したコードをそのまま利用できるケースは多くありません。高い安全性が求められ、最終的な品質保証には必ず人間の判断が必要になるためです。
生成AIは、正しく指示できれば高い精度の回答を出しますが、この“正しく”が思いのほか難しい。十分な経験やスキルがあり、良し悪しを判断できるエンジニアでなければ、生成AIを使ったシステム開発は難しいでしょう。
菅村は、生成AIだけで開発が完結する世界はまだ遠く、ソフトウェアやアーキテクチャを理解するエンジニアの存在は不可欠だと語ります。そのためにも、技術への興味を持ち続け、新しいテクノロジーに触れ続ける姿勢が求められると言います。
私は技術が好きで、隙間時間を作っては自己研鑽を続けてきました。その行動をNTTデータはきちんと評価してくれています。
後進育成にも積極的で、50ページにもおよぶ技術指導の資料を、業務の隙間時間を見つけては3か月がかりで作成したこともあります。本人は「必要だから作っただけ」と淡々と話しますが、その姿勢からは、技術力を持ったエンジニア育成への深い情熱が感じられます。
技術を磨いていく意欲のあるエンジニアの方々には、ぜひNTTデータで新しいことに挑戦してほしいですね。大抵のことは熱意を持って相談すれば実現できます。私も「こういうことがやりたい」と相談すれば、「じゃあ、やってみよう」と言ってもらえることが多いです。
多様な部署やプロジェクトと関わる機会が多い技術革新統括本部では、自分の興味や志向を広げるチャンスが広く開かれています。前職での炎上案件やデスマーチをも笑いながら語る菅村ですが、技術への興味を追い続けたからこそ今につながっています。その経験と知見はNTTデータで大きく花開き、今は“目利きのできるエンジニア”として、生成AIを活用した共通化・効率化の最前線で活躍しています。


