blog

テクニカルリーダーへの道:開発者からチームリーダーへの移行方法

ソフトウェア開発があなたのキャリアの目標の一部に過ぎないのであれば、将来テクニカル・リーダーになるにはどうしたらいいかという疑問は、真剣に考え、学ぶべきことかもしれません。テクニカル・リードになるには...

Dec 16, 2020 · 7 min. read
シェア

ソフトウェア開発があなたのキャリアの目標の一部でしかないのであれば、将来テクニカル・リーダーになるにはどうすればいいかという問題は、真剣に考え、学ぶべきことかもしれません。テクニカル・リードには、チーム・リーダーやテクニカル・マネージャーなど、さまざまな意味があります。例えば、R&Dプロジェクト・マネージャーは、チームとプロジェクトに対する説明責任が求められるチームの役割です。つまり、チームメンバーのパフォーマンス、ビジネスの成長、成果物、プロジェクトの期限、チーム文化、コード標準、技術的負債などにも責任を負います。

開発者として、現在のポジションからテクニカル・リードになるにはどうすればいいか、明確になっていますか?一刻も早くテクニカルサイドマネージャーになることを目標としているのであれば、まず、なぜこの役割を引き受けたいのか自問する必要があります。テクニカルマネージャーになることは、必ずしもあなたの長期的な目標に本当に合う選択肢ではありません。

私は以前、人と仕事をするよりも「コンピューター」と仕事をする方が快適だと感じていたので、ソフトウェア開発の仕事をしていました。しかし、しばらくして、他の開発者をさまざまな方法で助けることができることに気づきました。同時に、私はプロジェクトで主導権を握り、コードの完成度を高める努力をするのが好きです。ですから、私個人としては、研究開発プロジェクト・マネージャーになるのは当然の選択でした。

しかし、多くのソフトウェア・エンジニアにとっては、独立した貢献者になることがより適切な道でしょう。多くの企業は、技術チームを管理するプロフェッショナル・マネージャーではなく、ディスティングイッシュト・エンジニアやシニア・エンジニアのような、非常に上級の技術職を採用することを選択します。

開発者のステレオタイプ:ピザを食べる、夜しか働かないなど▲。

では、あなたは研究開発プロジェクト・マネージャーになりたいのでしょうか、それとも他のタイプのチーム・リーダーになりたいのでしょうか?重要なのは、自分を駆り立てるものが何なのかを正直に語ることです。コードを書くことなのか、ソフトウェア・アーキテクチャを設計することなのか。それとも、他の開発者がより良いプロジェクト成果を達成できるように手助けしたいですか?プロジェクトの利害関係者との納期交渉?また、必要に応じてコードをリファクタリングするよう、ビジネスチームを説得したいですか?

これらの質問に対する答えが、あなたにとってどの道がより良いのかを判断する助けになるでしょう。

それでもまだ、技術リーダーになることが自分の進むべき道だと確信しているのであれば、まだ準備作業が残っています:プロジェクト・パートナーやメンターと協力して、不慣れな分野を助けてもらうことを検討してください。

上記で述べたことをすべて確認し、準備したのであれば。そして、次の10のヒントは、技術チームリーダーへの道で一貫して努力する必要があると私が感じていることです

真のリーダーに肩書きや権限は必要ありません。 派手な肩書きを持ち、組織から十分な権力を与えられている人なら、誰でも命令を下すことができます。しかし、立ち上がって命令を下すことは、リーダーシップ・スキルの反映ではありません。

ですから、まずは小さく始めるべきです。困難なプロジェクトでは、より多くの責任を負いましょう。プロジェクト中にフィードバックを提供することで、パートナーを助けてください。そして、プロジェクトの最新情報を確認したり、チームや製品のワークフローの改善を提案するなど、率先してパートナーを指導してください。

率先してプロジェクトを手伝うことは、実はとても大切なことです。しかし、一般的に人は手伝いをしたがらなかったり、責任を負うだけの専門知識や自信がなかったりするものです。ですから、同僚が何に困っているかを把握し、彼らを助けるために歩み寄る必要があるのです。

責任を取るときは、自分がやること、やらないことのすべてに責任を持ちましょう。 リーダーは責任を取り、ミスや納期遅れ、抜け穴を他人のせいにしないようにします。

他の人が犯したミスに文句を言うのではなく、ミスを修正するのを手伝い、今後それを避ける方法を説明します。言い訳をすることは誰の役にも立たないので、時間を割いて自分の説いたことを実践すべきです。必要であれば、上司と期限について交渉してください。そして、自分のビジネスを運営するようにプロジェクトを運営し、余計な心配をしないようにしましょう。

最近、私のチームの技術リーダーの一人がマスターブランチを拡張しました。その理由は、ユニットテストのカバレッジが大幅に低下していることに以前気づいたからでした。彼は文句を言う代わりに、足りないテストカバレッジをそっと追加しました。そして、カバレッジを適切にチェックする方法や、複雑な機能のユニットテストの書き方を説明しました。彼が他人を責めるのではなく、チームの中で助け合おうとしていることは明らかでした。チームの誰もがこの行動を高く評価しました。

古い格言ですが、もし「人」と関わりたくないのであれば、リーダーになりたいかどうか考え直す必要があります。

有意義な人間関係を築くことは、技術開発マネージャーの責任のひとつです。ですから、将来あなたのパートナーとなる人たちと良好な関係を築くために、今すぐ始めてください。

テクニカルサロンでの発表、セミナーへの参加、チーム外の開発者の指導など、以下に挙げるいくつかの方法を通じて、他者と健全なパートナーシップを築くための自己アピールを試みることができるかもしれません。

研究開発テクニカル・マネージャーは、何よりもまずソフトウェア・エンジニアです。強力なソフトウェアエンジニアリングのバックグラウンドと実務経験を持ち、チーム内で最も強力なエンジニアの一人でなければなりません。コーディングができなかったり、技術的な詳細を理解していないマネージャーは、技術的な議論に参加することはできません。また、マネージャーになっても、より高いレベルのアーキテクチャ要件を扱えるだけの強力なスキルセットを常に維持する必要があるということです。
チームワークのないチームに「優秀な開発者」がいると、良いことよりも悪いことの方が多くなります。もしあなたが技術的に強いのであれば、他の人がそのレベルに達するのを助けるべきです。ペアプログラミング、コードレビュー、デモ、オープンソースや社内ソースプロジェクトは、他の人を助ける良い例です。

あなたに質問してくる人はほとんどいないでしょう。しかし、自分自身を「技術専門家」と称し、上記のようなことを行うことで、人々は自然とあなたの助言を求めるようになります。他人を助けることで、あなたは有意義な人間関係を築き、尊敬を得ることができます。そしてあなたは、相手にも同じように、できる限り他の人を助けてほしいのです。

プロジェクトを期限内に納品することは、マネージャーの中核的な責任のひとつです。もしあなたが開発者として、タスクを過小評価するあまり、いつも納期に間に合わないのであれば、他の人たちはあなたをどのように信頼するでしょうか?タスクを処理するときは、常に整理整頓を心がけなければなりません。

ソフトウェアプロジェクトの納期を見積もることは、不確定要素が多いため非常に難しいことは周知の事実です。しかし、適切なプロセスと、プロジェクトの進捗や期待についてプロジェクトマネージャーや利害関係者と常にコミュニケーションを取ることで、プロジェクトを見守ることは不可能ではありません。

明確で簡潔なコミュニケーションは、すべてのリーダーにとって重要な特性です。チームの要求を明確に伝えることができなければ、仕事を始める前からリーダー失格です。

コミュニケーションには、口頭、書面、さらにはボディランゲージなど、さまざまな形があります。それぞれのコミュニケーションスキルを向上させるために、常に努力する必要があります。

上司を「管理」しましょう。これは、常にコミュニケーションをとり、期待を管理することを意味します。管理職は、良くも悪くもサプライズを好みません。上司と信頼関係を築く必要があります。重要なプロジェクトのエキスパートになり、期限内、予算内に終わらせましょう。そして、さらに多くのプロジェクトを担当し、そのプロセスを何度も繰り返してください。
単体テストや統合テストをいくら実施しても、多かれ少なかれ、途中ですべてがうまくいかなくなるものです。たしかに、プロジェクトのエラーを最小限に抑えたいでしょう。しかし、もっと重要なのは、このような技術的な問題にどう対処するかです。他人からのプレッシャーでパニックを起こすような人は、即座にリーダー失格です。チームや他のプリンシパルは、最もストレスのかかる状況でも物事をコントロールし続けられる冷静なマネージャーを見たいのです。

例として、私が以前一緒に働いていたテクニカル・リーダーは、問題に直面するといつも冷静でした。彼がパニックになるような対立やストレスはありませんでしたし、少なくとも彼がストレスを感じているのを見た人はいませんでした。夜中の3時に技術的な問題に取り組んでも、彼は恥じることはありませんでした。彼の現在の仕事では、問題は数分で解決しました。

それとは反対に、別のテクニカル・リードは、締め切りが迫っていることにストレスを感じ、重要な機能のリリースを控えていた日に病欠の電話をかけてきました。彼は不安のあまり、周りの誰も彼と一緒に仕事をしたがらなかったのです。

この2つはまったく正反対のケースですが、どちらのマネージャーが将来成功する可能性が高いかは一目瞭然です。

テクニカル・リーダーは、自分が責任を負うすべてのことの「理由」を理解すべきです。リーダーには、自分がなぜそのプロジェクトをやっているのかを、他の全員に理解してもらう責任があります。リーダーは、なぜこのプロジェクトを行うのか、なぜ特定の人が行うのか、そしてそれが「全体像」の中でどのように位置づけられるのかを説明しなければなりません。チームが効果的に働くためには、自分たちのしていることを信じなければなりません。

許可を待たずに、今すぐステップアップしましょう。自分の分野の専門家になって、人々が行き詰まったときに助けてあげましょう。コミュニケーションスキルの向上に努めましょう。現在の同僚や将来的に同僚になる可能性のある人たちと、プロとして良好な関係を築きましょう。時間を効率的に管理し、各プロジェクトの納期を守りましょう。最後に、リーダーシップとは人間関係であることを忘れないでください。

Original link:

Read next