しかし、どうやっても10秒の壁は切り崩せなかった。どうしようもなくなり、困り果てて、実現困難であると相談された。開発者が、そこまで頑張っているという状況は、まったく報告されていなかったので驚いてしまった。仕方がないので、業務部門の利用者へ状況を説明し、業務が困らないレベルでの落としどころを提案し、事なきを得た。
当初の性能要件の変更よりも、他に力をかけて実装して欲しい箇所があったので、投下した時間がもったいなかった。何も最初の決定事項が不変なものではないのだが、開発者が従前に取り決めた仕様に縛られてしまった一例だ。
閉じ籠もって作業しているだけでは、ムダなモノを作り上げたり、ムダな時間を使ったりしてしまう。調整すれば解決できる事象は多くある。解決策を技術面だけで考えてしまわずに、技術面以外も踏まえて、広く考えられる柔軟性もフルスタックエンジニアのスキルとして必須である。
機会は自分で作る
フルスタックに近づくには、やはり実務での実践が一番だ。本を読み知識を蓄えるだけでは不十分である。経験は何ものにも代えがたい財産である。「現状では、与えられた領域があるので、そこから他の仕事に携わるのは困難」と思う方もいるだろう。
しかし、その考え方から脱却しないとスキルの幅は広がらない。アクションを起こさず、目の前の仕事をこなしているだけでは、機会はやってこない。機会は自分で作るものだ。
どういったシナリオで、最終的に「1人でなんでもやってくれる人」になるのか。キャリアプランを考え、必要な経験を積めるように計画を立てよう。考えたキャリアプランを実現するために誰かの協力が必要なのであれば協力を求めるべきだ。
自分ひとりで機会を作ろうとせず、上司への掛け合いや先輩へ相談してのプロジェクトへの参加、プロジェクトに貢献するツール作成をプロジェクトマネージャに持ちかけるなど、入り口はいくらでもある。自らアクションを起こし、機会は自分が目の前に持ってくるのだ、と強く意識してほしい。
もちろん「やる」と宣言したら、責任も伴う。自身のスキルレベルを考えて、会社や他者に迷惑をかけずに、最後までやりきれるかどうかを考えなければならない。少々の無理はチャレンジにつきものだが、無謀なチャレンジをしてはいけない。
実務経験のない分野へのチャレンジには大きな勇気がいる。かなりの苦労も想像される。しかし、だからこそ、チャレンジの過程でスキルがスタックされていくのを実感できるし、やり遂げた時の達成感は、誰かから与えられた枠の中で作業をこなした場合とは、まったく異質なものである。
組織の中で自分の立ち位置に制限をかけてはいけない。人の育成を否定する組織はない。だから、貪欲にスキルを身につける意識を持ち、自身の存在価値の向上を考えるべきだ。
今回はフルスタックを目指すエンジニア向けに、何をするべきかを述べた。次回はフルスタックなエンジニアを育てるために管理者が何をするべきかを考える。
- 藤原崇(ふじわら・たかし)
- ウルシステムズ コンサルタント
- 高トランザクション領域でのパフォーマンスチューニングを得意とし、金融業の基幹システム改善に数年従事。直近では、ビックデータ分析のソリューション部隊に属し、デザインとデリバリを担当