「仕様って、こんなに変わるものなんですね」
ある若手エンジニアが笑い混じりにそう漏らしたのは、デイリースクラムの朝会のあとでした。
一週間かけて組み上げた機能が、翌週には「やっぱり違う方向で」と方向転換になる——そんなことが、日常茶飯事のプロジェクト。
でも、その「変化の激しさ」こそが、彼らの成長の源泉でした。
今回は、ある若手チームが挑んだ“ETLツール開発”という大規模プロジェクトの舞台裏をご紹介します。苦労も、学びも、成長も詰まった等身大のエピソードが、今まさにキャリアの初期段階を歩んでいる皆さんのヒントになれば幸いです。
プロジェクトの全体像:データ活用の要をつくる
このプロジェクトは、ビジネスユーザー向けのETLツール(Extract・Transform・Load)を開発するものでした。
名前を聞いたことがある方も多いかもしれません。
大量のデータを“意味あるかたち”に変換し、分析しやすくするためのツールで、いわば「データ活用の要」と呼べる存在です。
導入企業は、食品、流通、外食など、各業界を代表する大手企業がズラリ。
開発はすでに5〜6年にわたり継続しており、現在も新たな機能や改善を加えながら進化を続けています。
技術環境:モダンなフルスタック構成に触れる
このプロジェクトで使われている技術スタックは、以下の通りです。
- フロントエンド:TypeScript(Angular)+RxJS
- バックエンド:Python(Django)+Celery(非同期処理)
- 状態管理:NGXS
- API設計:Swagger+スキーマ駆動開発(yaml)
- タスク管理・ナレッジ共有:Jira、Confluence、OneNote など
特筆すべきは、フロント・バックエンドを同時並行で開発できるスキーマ駆動開発が取り入れられている点。
若手にとってはやや学習コストが高いものの、「構造を理解する力」が大きく鍛えられる仕組みでした。
若手の参画:最初の壁は「仕様」と「スピード感」
このプロジェクトに新たに加わった若手チームは、いわば”第二陣”の開発部隊。
既に動いているプロダクトに途中参加するかたちだったため、まずは仕様のキャッチアップと環境への慣れが大きな壁でした。
特に苦労したのが、仕様変更の多さ。
ある若手メンバーは、こう振り返ります。
「ようやく動いた!と思ったら、次のスプリントでその仕様自体がなくなったことがありました(笑)」
アジャイル開発では、顧客や現場のニーズを踏まえながらスピーディーに意思決定がなされます。
もちろん合理的な判断なのですが、若手にとっては「何が正解か」が見えにくく、戸惑う要因でもありました。
成長のエピソード①:RxJSによる非同期処理との格闘
「初めて触ったときは、意味がまったくわかりませんでした」
そう語るのは、フロントエンドで非同期処理を担当したエンジニア。
AngularとRxJSを用いた実装に苦戦し、動作確認のたびにデバッグログとにらめっこする日々が続きました。
ある日、実装したダッシュボード画面が「ある条件下でグラフが表示されない」という事象に直面。
原因を探る中で、非同期処理の流れにおけるサブスクリプションの切れ目に問題があると判明しました。
この経験を経て、彼はRxJSの挙動と概念を深く理解し、以降の実装では同様の問題を回避できるようになりました。
「ただ覚えるだけじゃなく、“仕組みが見える”ようになった感覚がありました」
と、彼は語ります。
成長のエピソード②:スキーマ駆動開発の壁を越える
バックエンドとフロントエンドの協働には、スキーマ駆動開発が欠かせません。
しかし、そのyamlファイルの構文と文法、そしてそれがどのようにAPI生成につながるのか——当初は、若手には難解に映りました。
あるエンジニアは、実際の開発を通じて徐々に理解を深め、「チーム内で最初に正しくスタブ生成を活用できた」ことで、メンバーからも頼られる存在になっていきました。
「何が分からないかを言語化して先輩に相談する力も、このプロジェクトでつきました」
と語る彼の姿から、技術だけでなく“仕事の進め方”としての成長がうかがえます。
信頼関係の構築:技術だけでない「働く力」
技術的なチャレンジと並行して、彼らがもう一つ直面したのが周囲との信頼関係づくりです。
このプロジェクトでは、アジャイル開発の特性上、細やかなコミュニケーションが欠かせません。
特に、仕様が曖昧な部分をどう理解し、どう相談し、どう進めるか——そこにこそ“仕事力”が問われます。
はじめは「聞いていいのかな……」と遠慮していた若手も、回を重ねるごとに自然に質問や提案ができるようになり、あるときクライアントから「それ、いいですね」と評価を受ける場面もありました。
「あの瞬間、“チームの一員”として認めてもらえた気がしました」
そんな言葉が、彼らの確かな成長を物語っています。
これからの展望:次の開発フェーズと挑戦したい技術
現在は、現行バージョンのリリースに向けた最終フェーズに入っており、9月下旬には一区切りを迎える予定です。
その後の展開については未定ですが、若手メンバーの中には「次は設計から関われるようになりたい」「性能チューニングにも挑戦してみたい」といった意欲的な声が上がっています。
実際、このプロジェクトではDBマイグレーションやパフォーマンスチューニングといった高度な業務も日常的に発生しており、経験を積むにはうってつけの環境です。
まとめ:あなたも、だれかの「成長の物語」の主人公に
どんなに優れた技術を使っていても、どんなに整った環境があっても、「学ぼう」とする気持ちがなければ成長はできません。
逆にいえば、チャレンジのある現場に、自分の意志で向き合ったとき、成長は必ず返ってくる——それが、このプロジェクトを通じて若手チームが体現してくれたことです。
この記事を読んでいる皆さんも、日々の業務の中で、悩んだり、迷ったりすることがあるかもしれません。
でも、そんな時間こそが、のちの「糧」になることを信じて、一歩ずつ前に進んでいってください。
私たちは、“成長したい人”をいつでも歓迎します。
そして、あなた自身がだれかの“成長の物語”を紡ぐ存在になる日を、楽しみにしています。