Indeed の新しいエンジニアリング・ マネージャーになったって? -まずは、コードを書いてもらおうか。

2016年の三月、ソフトウェアエンジニアのための「中途採用」のマネージャーとして、私は Indeed に入社しました。Indeed のエンジニアリング・マネージャーは、管理職としてのマネージャー業務に就く前に一般社員( individual contributor 以下本文では IC )として業務を始めます。私も、IC としてチームと仕事をすることで、より効率よくマネジメントをする準備ができました。

入社前には、どんな心構えをしておくべきかを数人のエンジニアリング・マネージャーと話しました。彼らは私に、入社後三ヶ月から六ヶ月間は、一般社員としての業務に就くとよいとアドバイスをくれました。それは、ユニットテストやコードを書き、変更の実行をし、コードレビューを行い、バグを修正し、ドキュメンテーションを書く、等を行う、ということでした。

このアプローチを聞いて、私はわくわくしました。なぜならエンジニアリング・マネージャーとして働いていたここ数年は、コードを書くなどの業務に残念ながらも貢献する機会がなかったからです。代わりに、私はコードレビューを行い、テクニカルデザインのレビューに参加し、チームの生産性を上げる機能やツールを作ることで、生き延びていました。

Indeed のエンジニア組織で、 IC として新しいマネージャーが就業を開始する際には、四半期の間、複数の異なるチームに参加するか、一つのチームに加わります。私の場合は後者で、収益の管理について取り組むチームに参加しました。

IC としての新入社員研修

私のマネージャーは、入社研修や、社内の wiki を使った自習スタイルの学習を行えるよう手助けしてくれました。新しい社員が、 Indeed で使用されるツールや技術について慣れ親しむために提供されたコンテンツ量に、私は感心しました。私の経験からですが、多くの企業は、便利なドキュメンテーションの作成や維持に対して投資していません。同僚のインディーディアン(Indeedian。社員のことをこう呼びます)[YI1] 達が快く質問に答えてくれたり、技術的な障壁にぶつかった際には助けてくれたりしたのも、同じくらい有益でした。新入社員にとって、こうした助けは本当にありがたいものでした。

そして、IC でいる間管理業務に関する責任はありませんでした。これも私には新鮮で… そして素晴らしかった!コードを書くのに集中できたからです。技術的な能力も積み上げられたし、しばらく使う必要のなかった、なまっていた思考プロセスの勘を取り戻すことができました。チームで使用されている手法やプロセスを観察し、どうやったら自分も同じように生産的になれるかを学びました。Git の使用についても、さらに深く学ぶ機会がありました。ユニットテストや DAO テストを書き、コードの範囲も増やしました。久々に、プロダクトの中の新機能のために、本番へ行くコードを書きました。

自分のチームが持つ 20 件の異なるプロジェクトにもっと早く自分を慣らすために、全てのコードレビューに自分を入れてもらうように頼みました。全てのプロジェクトには貢献できないとわかっていましたが、できる限り多くに触れたかったのです。私がこのお願いをする前には、開発者は通常数人をコードレビューに選んで、メインのレビュー担当者を一人選出していました。私は、全てのレビューに入れてもらっていたので、コードの変更とコードの改善方法を書いたチームメンバーのコメントを見ていました。コードレビューに書かれていたこと全てを理解したとは言いませんが、変更の種類への理解が深まりました。このアプローチは、マネージャーだけでなく、チームの新しいメンバー皆におすすめです。

他のアクティビティでも、自分のチーム以外の人と交流しやすくなりました。例えば、私は自分と面接をした人全員とランチ・ミーティングをいれました。これは、だいたい他のエンジニアリング・マネージャーとでしたが、プログラムマネージメントやテクニカルライティングのメンバーにも会いました。これらのランチ・ミーティングは、異なる職務の雰囲気をつかむことができました。各々がどう仕事を計画して優先順位を作っているかや、IC からマネージャーへ移行することへのそれぞれの考えなどを話しました。オンサイトで昼食(ところで、これが美味しいんです)を取ることで、エンジニアリング・チームの先輩たちや、他の部署の人とも出会うことができました。

マネージメント業務への移行

最初の四半期の終わりにさしかかる頃には、いくつかのプロジェクトに関わっていました。私のチームが所有する、重要なシステムのいくつかにも馴染んだところで、この頃、私は自分のマネージャーと管理業務への移行について相談しました。足場となっていく、しっかりした基礎を作れたね、と意見が一致したので、一対一の個人面談、四半期の評価、キャリア育成の相談を引き継ぎました。

技術にフォーカスし続けること

管理職を選ぶソフトウェアエンジニアの多くは、コードを書くのを諦めなければ、という考えに悩みます。しかし、リーダーシップを執る役職で、より重要なことは技術レベルでのチームへの参加です。この参加は、様々な形で行えます。Indeed のエンジニアリング・マネージャーは、抽象的なスキルと技術的な決定について、チームを指導します。マネージャー陣が、さらに深い技術への造詣を持っていれれば、彼らの役目もより効果的になります。

私も、ICとして働き始められたことで、チームの信用と尊敬を得られたのも嬉しいです。特に、Money チームのアクバー、ベン、チェン、エリカ、ケヴィン、リー、そしてリチャードには、感謝を述べたいと思います。