前回は、フルスタックエンジニアとなるために、まずはプログラミングに没頭し、その後、ミドルウェアやOSなど、興味のある領域へ手をつける進め方を紹介した。技術スキルのみを身につけるのではなく、発生や変化する要求に対応できる能力の必要性にも触れた。
今回は、そのようなフルスタックエンジニアを育成するために、管理職が何をすべきかに触れる。
管理職の役割を考える
ITとサービス/業務が不可分な時代である。競合に後塵を拝さないように、企画をすぐさま実現するためにはスピードが求められる。開発を生業としている企業であれば、競合との技術的な差別化領域が必要となる。このような状況下で、技術者をまとめ、フルスタックなエンジニアを育成したいと考える管理職は何をすべきか。
実施すべきポイントとして「人財育成の方針」「モチベーションの作り方」「パフォーマンスよく働ける環境作り」「状況チェック」の4つが挙げられる。列挙するのは簡単だが、これらを実施するには手間がかかり、管理職自身の学習が必須である。
しかし、フルスタックなエンジニアを育成したいと願い、後は宝くじ的に待つだけでよいのだろうか。技術者へ指示するだけで、人財は育つだろうか。管理職が頭を働かせ、計画や実行を見守らなければ人財は育たない。育成しなければ、技術のトレンドに追いつけず、必要とされる状況が発生する度に対応するという場当たり的な対処しかできない。それでは、スピードが出ない。差別化もなしえない。
クラウドでさまざまなサービスが提供されている。インフラ部分は以前とはゲームが変わったのである。ITのコモディティ化が更に進んでいくと、アプリケーション部分のゲームも変わっていく。受託開発は年々少なくなるとの予測もある。組織に所属するエンジニアが何を武器として持ち、生き抜いていくか。
エンジニアを管理する立場では、どうしていくかを考える正念場でもある。技術者が生きていくためにフルスタックエンジニアという考えを紹介してきたが、管理職向けに先の4つのポイントをそれぞれを紹介する。
人財育成の方針を技術戦略から考える
組織内で役割を考える場合に、なんとなくの担当や責任、役割分担を考え、管理しているシステムを列挙して、技術者を割り当てていく。ありがちな担当割だが、結局はシステムカットで技術者が何をしないといけないかに引きずられる。そもそも考えなければならないことは組織内の技術戦略である。開発と保守、運用を遂行するために今必要な技術と将来を見据えて今後必要となる技術を考える。
次いで、把握している技術者個人個人のスキルとマッチングしていく。足りていないスキルは何か、スキルレベルを向上したいところはどこか、そういった観点から将来像へ移行するために誰に何を担ってほしいかを考える必要がある。
人財の育成は管理職が常に考え、技術の空洞化が発生しないように留意しなければならない。足りないところは外から要員を調達すれば短期的には問題なくことが運ぶが、中長期では確実に立ちいかなくなる。スピードが求められる中で、必要なときに必要な要員がいつも外から調達できるような都合のいいことはない。
技術的な視点で技術者のモチベーションをあげる
モチベーションを作るのは管理職の役目である。フルスタックを目指したいエンジニアは自発的に勉強するし、技術への嗜好が強い。モチベーションの上げ方はさまざまあるが、反対のアンチパターンとして、出現しやすいのが「自身の昔話」だ。
自身の昔話を引き合いにし、苦労話をしても若手はほとんど発奮しない。「俺が若い頃はこうだった、苦労はしたが身について、それであのお客さんから大きな仕事を受注したんだ」といった話をしても参考にはならない。ただの物語でしかない。そのような話ではなく、技術的な視点で、今後どうしていくかの未来の話をすべきだ。
「“シングルページアプリケーション(Single-page Application:SPA)”を作ってみたい。技術のトレンドを考えると押さえておくべきだと考えている。このため、実現性と効率性を確認したい。検証的に共通マスタシステムを例にやってみる。インフラはAWS(Amazon Web Services)上で構築する。プリプロトからプロトを作成し、事業部門へ提案していきたい。これを仕切って作ってほしい」――。
一例だが、このような話をすると、技術者はチャレンジしてみるかと考える。新しい取り組みには引力がある。それを自身が仕事の中で実現できることにやりがいを感じる。
SPAを引き合いに出したが、そのような最新技術でないと、チャレンジ意欲が出ないかというわけでもない。要は「会社が目的達成のために技術を必要としており、その役目を担ってほしい」が訴求点である。
コスト削減のためにインフラをクラウド化することや、LAMPで速くシステムを構築し、“継続的インテグレーション(Continuous Integration:CI)”でサービスの価値を高めていくなど、自身の作業が会社の価値の何に直結するのかをわかりやすく説明する。「決めました。やってね。よろしく」といった雑な説明では、仕事が増えたと受け取るだけである。