見出し画像

技術リーダーに必要なこと

こんにちは
homie株式会社でエンジニアとして働いているikemiです。

先日、「スーパーエンジニアへの道(1986[訳1991], 著: ジェラルド・M・ワインバーグ)」を読みました。


この本は、技術的に優れているだけでなく、問題解決能力やリーダーとしての能力も兼ね備えたエンジニア、つまりスーパーエンジニアになるための方法を紹介している本です。
私がエンジニアとして駆け出しの頃に読んだのですが、あまりピンとこなかったので、ほとんど読んでいませんでした。
しかし、エンジニアになって 3 年が経ち、改めて読んでみると共感できる部分が多くありました。
この本を読んで、「リーダシップとは何か」「リーダとしてよい組織を作るにはどうしたらよいか」「スーパーエンジニアになるためにはどうしたらよいか」を自分なりにまとめてみましたので、ここで紹介したいと思います。

リーダーシップとは何なのか

まずは、リーダーシップとは何かを、以下の 2 つのモデルで解き明かしていきます。

直線的モデル

・従来のリーダーシップ。
・単純作業を大勢で素早くやる場合には役に立つ。

人の定義
・人を種類に分ける、人を型にはめる。型にはまらない人を強制する。
・その結果、「私は努力が足りない」「私はしゃべりすぎだ」など、負の感情が生まれる。

関係の定義
・役割に基づいて定義する。例えば、実際に影響を及ぼしている人より、その上司に焦点を当てる。

変化への態度
・変化がモデルに合わない場合、その変化を起こさないようにする。
・そのため、変化に直面すると無力になってしまう。

有機的モデル

・複雑化した現代で必要なリーダーシップ。
・様々な可能性に直面したとき、それら全てを考慮し、その中から最適なものを選択する。

人の定義
・人を一定の基準に照らし合わせて、理想の型にはめようとしない。
・異なる人々の共通点を見つけて仕事できる。

関係の定義
・役割ではなく、人に焦点を当てる。
・1人ひとりにメリットがある方法で問題を解決できる。

変化への態度
・変化を受け入れ、それを成長の機会ととらえる。

リーダーシップの有機的モデルは何が良いか

直線的モデルでは、リーダーシップは「強要」や「判定」によって他人をリードするもの、と定義されます。
人を型にはめて強制的に導くという形です。

一方、有機的モデルは、「選択」と「発見」が特徴です。
有機的モデルが威力を発揮する例を以下に挙げてみましょう。

あるエンジニアチーム(A・B・C)が、ある問題を解決するための方法を議論している。
A と B は活発に議論しているが、C は黙って資料とにらめっこしている。30 分経っても有用な案は出ない。
すると、C が突然、「もしかしてここが間違っていて、本当は xxx だと解決しない?」と言った。
その後、A と B は活発に議論を展開し、C の意見を元に解決策を生み出した後、議論は終了した。

直線的モデルで「会議ではたくさん発言しなければならない」という人の定義をしていれば、C の評価は高くないでしょう。(もちろん、全く発言しないのはよくありません。)
しかし、C にとっては、問題を考え抜き、解決策を見出すことが最も強力なスタイルなのです。
そして、A と B はそのことを知っていたので、あえてC を放置したのです。
これを有機的モデルで説明すると、「A と B は C が力を発揮できるようなプロセスをリードしていた」ということになります。
つまり、有機的モデルでは、リーダーシップとはプロセスをリードすることなのです。
プロセスをリードするとは、人々に選択を委ね、自分自身をコントロールさせ、力を発揮できるような環境を作り出すことです。
このような環境では、人は自由に考え行動し、創造性豊かになります。
さらに、有機的モデルは変化を受け入れるため、未知の技術や理解できない技術を取り入れることができます。

以上が、リーダーシップの直線的モデルと有機的モデルの違いです。

リードできるのはリーダーだけだ、という幻想

ここでよくある誤解は、リーダーだけがリードできるというものです。
有機的モデルが示すように、リードするのは必ずしもリーダーではありません。
肩書きのある人がリードすることもあれば、肩書きのない人が、チームがよりよくなるようなきっかけを作るかもしれません。

良いチームとは、全員がリーダーシップを発揮できるチームでもあります。

優秀な技術リーダーになりたいです

優秀な技術リーダーは、次の 3 点を重視しています。

問題の理解
アイデアの流れの調整
スケジュール・品質管理

問題の理解

仕様をよく考える
問題の全体図が、細部が一箇所異なるだけで変わる場合があります。
良いリーダーはそのことを認識し、仕様の細部にまで気を配ります。

仕様をチームメンバーにレビューしてもらう
1人の力だけで誤りを洗い出すのは困難です。
他の人にレビューしてもらって、誤りを見つけてもらいましょう。

仕様の曖眛な部分について聞く
最初から完璧な仕様は存在しません。
些細なことでも確認することで、大きな矛盾や誤りを発見することができます。

定期的に仕様を見直す
仕様を最初から完璧に理解することは不可能なので、仕事の進捗に合わせて見直す必要があります。
良いリーダーは、常に自分の理解度をテストしています。

アイデアの流れの調整

アイデアが多いと混乱するし、少なすぎると解決策は得られません。
リーダーシップによってアイデアの流れをコントロールしない限り、チーム内で論争が起こってしまいます。
したがって、アイデアの流れを調整して、チームが何人いても、質の高い解決策が得られるようにする必要があります。

アイデアの流れを調整する具体的な方法は以下の通りです。

よいアイデアをチームに提供する
最もわかりやすいリーダシップ行動です。

よいアイデアを真似する
有用なアイデアは、すでに他の文脈で登場しています。
常にアンテナを張っておきましょう。

アイデアを練り直す
最初から完璧なアイデアはありません。
アイデアを洗練させることが重要です。

状況に応じて、自分のアイデアを撤回したり、強く訴えたりする
自分がアイデアに固執しているだけなら、そのアイデアを引っ込めましょう。
一方、チームが間違った方向に進んでいる場合は、自分のアイデアを主張する必要があります。
「チームワークは大切だ」の精神が多数に従う同調圧力になり、正しくないアイデアの方に走るのは防ぎましょう。

時間をかけて、他人が自分のアイデアを説明するのを聞く
アイデアを理解する前に捨てるのはやめましょう。
有用なアイデアが、有用だと分かる前に捨てられる恐れがあります。

アイデアを試す
有用なアイデアを見つけるためには、片っ端から試していく必要があります。

すぐに批判しない
すぐに批判すると、アイデアの流れを止めてしまいます。

人を批判しない
アイデアを批判しているのであって、その人の人間性を否定しているわけではないことをはっきりさせましょう。

自分の練ってないアイデアを絶え間なく喋るのをやめる
他の人のアイデアを引っ込めてしまうおそれがあります。

スケジュール・品質管理

作業の進捗とスケジュールを比較して、必要に応じて解決策を変更しましょう。
作業中のものが仕様に沿っているかどうか、定期的に確認しましょう。

優秀な技術リーダーは、みな個人的ビジョンを持っている

ビジョンがあると、何が大事なものなのか、見分けることができるます。
ビジョンがあってこそ、仕事は重要な意味を持ち、それを行う人の延長線上にあるものになります。
人々がビジョンを共有し、お互いにリードし合うことで、大きな成果をあげることができます。

もし、リーダーにビジョンがなく、出世やお金がモチベーションになっている場合、チームメンバーとのやりとりは以下のようになってしまいます。
「この仕事が失敗したら私は昇進できないでしょう。私が出世するためにもっと頑張って働いてくれませんか。」

コミュニケーションは難しい

リーダーは、仕様を説明したり、作業を指示したり、相手のモチベーションを上げるために説得したりします。
ここで重要なのはコミュニケーションですが、コミュニケーションは以下の理由で簡単にねじ曲げられてしまいます。

・集中して聞いてないかもしれない。
・知らない用語があるかもしれない。
・ニュアンスを捉え間違えるかもしれない。
・相手が自分と同じ問題の捉え方をするとは限らない。
・相手がリーダーのメッセージに対して抱く感情は、相手の過去の経験や自己評価に左右される。

よりよいコミュニケーションのためにできること

相手は私に対してなんとか対応しようとし、私を理解しようとしてくれています。
なので、まずは自分の置かれている状況をさらけ出すことが必要です。
自分が置かれている状況を説明することは、コミュニケーションの助けになります。

問題解決のためのよりよい組織を作りたい

問題解決のための組織を作る最良の方法とは何でしょうか。
例えば、組織における意思決定には、大きく分けて3つのタイプがあります。

投票
・リーダーに知識がない、他のメンバーから知識を引き出せない場合などは、他の方法と比べるとよい結果を得やすい。
・多くの場合、平均的な結果しか得られない。
・匿名投票の場合、責任がはっきりしない。

リーダーに判断を委ねる
・意思決定の質は、リーダーの能力に依存する。
・リーダーの知識が乏しくても、他のメンバーの意見を聞くことで、よい意思決定ができる。

コンセンサス
・全員が情報を共有し、質問できる。
・各メンバーの合意が必要。

ここで大切なのは、現在の状況下において最良の方法を選択し、組み合わせることです。
状況が変われば組織も変わらなければいけません。
組織の目的は、人々が問題を理解し、アイデアの流れを管理し、品質を保持する環境を作り出すことです。

組織づくりの障害になるもの

逆に、優れた組織になるのに障害となるものは何かを紹介します。

人にあれこれ指示する偉い人は誰か決める
「この中で最も偉い人は誰か」を決めるのはやめましょう。
以下のような人が出てきます
・年長・経験が長いなどの理由で、傲慢に振る舞う人
・強い人の権利に寄り添って虎の意を借りる狐
・「私は新人で無力なのだから、あなたは私の世話をする義務があり、私のミスはあなたの責任です」のような人

人に完璧を求める
相手が意図した通りに動いてくれなかった場合、イライラすると思います。
このイライラを人に向けると、自分の意思決定をますます厳密にルール化するようになります。
その結果、規準や手順が山のように増えてしまいます。
完璧さを望むなら、プログラムにやらせた方がよいです。

自分でやってしまう
他の人が作業をしていて困難に当たったとき、代わりに仕事をやってやりたいという強い衝動が発生します。
リーダーの仕事は、一つの問題を解くことではなく、将来的に多くの問題が解決できるような環境を作ることです。
チームメンバー全体の技量を上げることで、結果的に自身が楽になります。

効果的ではない組織づくりを高く評価する
組織づくりの主題は、問題を解くことではなく、問題を回避することです。
例えば、自分で作ったバグを自分で修正した人が目立って評価されやすいです。
ただ、本来評価されるべきなのは、バグを発生させない仕組みを作った人なのです。

でも、リーダーになって、技術力を失うのは嫌です

リーダーになると手を動かすことが少なくなったり、最新の技術に触れる機会がなくなったりで、技術力の低下を懸念してしまうと思います。
たしかに、何かを手放すのは大変ですが、これは避けられないトレードオフです。
PRレビューで最新の技術に触れるなど、できる限り多くのものが手に入るようにしましょう。

最後に

初版は 1986 年で、技術的な内容は古くなっていましたが、組織の中で出てくる問題やそれに対するアプローチは普遍的なものだと感じました。
一方でまだ読んでもしっくりこない部分もあったので、半年後、1 年後にまた読み返してみたいと思います。