エンジニアさんタイプ別コミュニケーション

色々な案件でディレクターをやっていくと、色々なタイプのエンジニアさんに出会い、一緒に仕事していくことになる。
エンジニアがどういったタイプなのか把握して動くことで、自分に合う合わない以上にグッと仕事がしやすくなったりしたので、そのメモ。

# そもそもこのタイプ分類について
コミュニケーションの難易度を独断と偏見で★（易）～★★★（難）までランク付けて、それぞれの特徴とその対処法……っと言うとアレだがつまり、より気持ちよくより力を発揮してもらえるようにいかに工夫するか？というところをまとめた。

* ★★★は強いが扱いの難しい上級者向けキャラみたいなイメージ。
* ★は初心者ディレクターさんでも仕事しやすいタイプの人だと思う
    * 初めての案件とか、自信を失いかけてるようなディレクターさんには★タイプのエンジニアを当てると良いのではと思うものの、ぶっちゃけそれ以上に相性もあるので何とも言えない。
    * そのへんはできるマネージャーがよしなにアサインしてくれることを祈っている…

# ディレクター側の紹介
多分これが無いと参考にならないので一応まとめてみた

* マネジメントスタイル：王道/正統派
* 性格：とても大雑把
    * ざっくり進めるのにはまあ向いてるが、細かい要件が多いプロジェクトや、しがらみ多いプロジェクトだと逆にガタガタにする
    * どうしてもそういう案件の担当になったら、細かくて仕事の丁寧な誰かをつけてくださいってなるべくお願いしている
    * 手腕は強引なのでトラブルフルな状況には比較的強い
* スキル：ノンエンジニア
    * GitはGUIツールで使える
    * 小～中規模案件のリリースマネジメントの経験がある
    * デザインとちょっとしたHTMLの修正程度ならできるがそれ以上は無理。
    * コードは読めない


# ★★★難易度3
難易度3のエンジニアさんは若輩には扱いがむずかしい。とても。えてして能力が高い人が多かったりしてさらに扱いが難しい。協力と、ディレクターとしての信頼を勝ち取ろう

## ★★★難易度3　一問一答タイプ
「Aの要件はBの機能をつける方向で検討してるんですが…」
「いいんじゃない」
「Cのデータが来てエラーになった場合はDの方法で…」
「それはEじゃないと無理」

いきなり~~難敵~~難易度の高いエンジニア。
基本的に質問に対してのみ答えてくれるので、こちらの質問の仕方が悪いとまったく情報を得られない。

### 特徴
* 聞かれたことには答えてくれる（聞かれてない範囲は答えない）
* 返答が端的（返答が回りくどくなく早い）
* 出来る系エンジニアなことも多い
* 普段は丁寧に回答してくれるエンジニアでも、忙しいときにはこうなったりする

### 対処
* 基本的にエンジニアは開発することがお仕事なので、そもそも仕様の相談とかは彼らの範疇外と心得ること。
    * 仕様決めんのがおまえらの仕事だろーが決まってから持って来いよふざけんじゃねえ　と思ってる人も中にはいる。そうなんだけどネ。
    * 「開発以外でも、ちゃんと見てくれて、（めっちゃ端的だけど）答えてくれた！」ということに感謝の気持ちをちゃんと表すこと。
* その上で、あなたの知見が借りたいので、「懸念になりそうな点があるとしたら、どこだと思いますか？」「Eじゃないと無理なのは、どういった理由からですか？」とか、オープンクエスチョンで聞く。
    * **めんどくさいヤツだな…って顔されてもめげない鋼の心を持とう**
* 「そもそも、ユーザー登録の煩わしさを回避したい」みたいな、そもそもの目的を共有すると、「ならその仕様っておかしくない？」みたいな提案をちゃんともらえたりする。
    * 今更で申し訳ないんですが、そもそも、この開発って、○○の登録を簡単にしたいので、▲▲の実装をしようとしてるんですが…って再度伝えてみる。
* それでもダメならあきらめて、間に誰か挟む
    * 間にそのあたりを埋めてくれる人を置いて、その人に引き出してもらうようにする。
    * 得てしてそういう埋めてくれる人は引っ張りだこだったりするけれど、なんとか仕様レビューをもらうなどして、まず何を質問しないといけないのかの手札（カード）を持つことからはじめる。

## ★★★難易度3　ハッカータイプ
「昨日お願いしてた機能、どうですか？」
「ああ、あれ？仕様がおかしいと思ったから、○○が出来るように仕様変えておいたよ」
ってタイプ。
得てしてとっても手が早いし能力も高かったりするのだが、「それなんかピンとこねーわ」と思われた瞬間スケジュールクラッシャー、セルフ仕様変更マンと化す諸刃の剣タイプでもある。

### 特徴
* コーディングが好きだったり、新しい技術が好きだったり、好奇心旺盛で提案力も高いことが多い
* ノってもらえさえすれば、超速で実装が終わったり、スゴイアウトプットが出てきたりする
* ピンと来てもらえるかどうかが天国と地獄の分かれ目だったりする
* 最適なように適宜仕様や設計や実装方法を変えてよろしくやってくれたりする（そしてディレクターの知らない仕様が増えることも）

### 対処
* 基本的にディレクターのいない場で絶対1:1コミュニケーションをさせないか、周りの人に厳命してディレクターにチクってもらうようにする。
    * 正直これ超やりたくないいやな手だが、放置するとディレクターから仕様も実装も離れ、いつの間にか仕様についてのイニシアチブを取られたりする
* ノってもらえるようにありとあらゆる手を尽くす
    * 手を変え品を変え共感してもらえるように全力を尽くす
    * トップダウンでノらなくても仕事しなければならない状況に追い込む…こともあるが、悪手。出来るだけ避けるが仕方なければこの手でも取るのをためらわない
* ノってもらえなかった時でも最低限やってもらうことを明確に
    * これは絶対実装してくださいねっというのをきちんと伝えるか、見えるようにしておく

# ★★難易度2
すっごい難しいわけではないが、落とし穴がちょいちょい空いてたりする。ハマるとやばいので注意
## ★★難易度2　仕様に超細かくコミットしてくれるタイプ
「このボタン押したら画面B-03が開きますが、ロードの瞬間にどれから表示させるのがベターですか？」
そこらへんは勝手に決めてくれて構わないのに…と思いつつディレクターも一緒になってミクロの視点になるといろんな意味で終わる。ディレクターが考えるところと、エンジニアに考えて勝手に実行してもらうところを切り分ける。エンジニアにも裁量権を持たせるのがコツかな。

### 特徴
* 仕様に関わるようなことを逐一確認してくれる（かなり細かい）
* 仕事ぶりは結構堅実で、しかも報告を密にしてもらえる
* ディレクター側からタスクを細かく切っておくと、その通りに進捗を上げてもらえたりする
* 色々なパターンを想定したときの実装方法までディレクターに相談されるため、ほぼディレクターが全部考えてるよな…っとふと思ってしまう。ディレクターが大局観をだんだん持てなくなったりするので注意。

### 対処
* エンジニアが自分で挙動を見て参考にしていただけるような、挙動が近い、またはコンセプトが似ているサービスを研究してもらう。
    * 大事。ディレクターも、エンジニアも、拠り所となるお手本を探すと、双方でイメージがつかみやすい。
* 信頼感を伝えて、お任せしてみる
* 逐一聞かれると思うが、さらっと答えず「実装上はどっちがラクですか？」「こういう意図の機能なんですが、ユーザーとしてはどっちがいいと思いますか？」と投げ返して、提案を貰うようにする。


# ★難易度1
クセはありつつもそこさえ押さえれば、というタイプ。このタイプのメンバーが多いとちょっとほっとする。でもたまに難易度★★★3の人が恋しくなる。

## ★難易度1　大人しいイエスマンタイプ
「この機能の実装お願いします」
「はい、分かりました」
とにかくイエスといってくださるのだが…ディレクターはあなたの仕事をラクにしたいと考えているのだよ…難しそうなときとか、仕様で「んっ？」と思ったときにアラートが欲しいのはワガママなのかしら…

### 特徴
* あまり質問とか疑問とか反論とかがなく、わかりました、と言ってくださることが多い（内心何も思っていないわけではない）
* 入社間もないとか、子会社の人とか、出向で来てるとか、何らかの思惑にてこうなっていることもある

### 対処
* ストレートに想いは伝える。
    * 「ディレクターなんで、エンジニアの人がきつい実装を必ずしもお願いしたいとは思ってないんですよ。発注側って、かならずその機能が欲しいって訳じゃなくて、別に解決したい課題さえ解決されれば良いので、要件は交渉次第です。実装しやすい方法でも、交渉してみたら『あ、○○出来るならなんでもいいよ』ってことも多いので、ちゃんと、エンジニアとしての意見が欲しいです」
* エンジニアさんをとにかく信頼する姿勢を見せる。あなたのエンジニアリングに全幅の信頼を置いてる、だから私にプロの意見として意見をくれ、と言う。
* 「ぶっちゃけそんなカネもらってないしな」みたいな思惑からこのタイプになっているような人は難しい。契約の絡みもあるから。でも、プロジェクトに対して面白いと思ってもらえれば、やっぱりエンジニアなので、あれこれ口出したくなって、口出してくれることもある。望み薄だががんばる。

## ★難易度1　コツコツ職人タイプ
安定感ピカ一。懐に入ってしまえば甘えられる。長期案件にぜひ欲しい人

### 特徴

* コツコツ仕事をしてくれるので安定感はバツグン（しかし焦って追い立ててもスピードがあがることはない）
* プロなのでプロとして許せない実装はどう説得してもやってくれなかったりする
* ペースが基本一定なので、このエンジニアに差し込みが入ったりするとキレイにスケジュールがズレる。見積も安定してることが多い。

### 対処

* 差し込み案件系があると見事なまでに計算ぴったりでスケジュールがずれる。ので、外からの差し込み等から極力守ってあげて、彼らが彼らのペースでつつがなく進めていただけるように心を砕く
* プロとして許せない実装でも、工期の関係とかお客さんがそこまで求めてないとかでどうしても押し付けざるを得ない時が来る……折れないと思うのでやり合ってもいいが、親方チックな人を連れてきて一喝してもらうのが一番良いですﾊｲ


# 【番外】難易度0

## 発注側に立って提案をくれるエンジニア
実装方法は正直、お客さんにとっては興味ない。ディレクターはエンジニアの説明を聞きながら「あっこれお客さんに響きそうだな」みたいなポイントを自分で考えたり、お客さんの知りたい情報をエンジニアの説明から抜き取って伝えるわけだが、まれにお客さんにそのまま伝えても問題ないレベルの説明と提案をくれるエンジニアがいる。
宝くじに当たったと思って喜ぼう。

### 特徴
* 会話の中でのエンジニア用語が少なく、一般人に分かりやすく噛み砕いた説明をしてくれる
    * 例：「クライアントサイドで入力制御をかけるかサーバサイドで処理するかどうします？」
        * →「ブラウザとかの機能で半角全角みたいなおかしな値が入らないようにするか、どんな値でも入力できるようにしておくけど、保存するときに正しい形に直して保存するか、どっちにします？」
* 技術的にオススメな方法を提案してくれる
    * 前者だと実装は早いですが、ブラウザによって違うので万全とは言えないですし、後者だと保存時に変換するので、ユーザーさんが入力した本当の値は分からなくなりますが、最終的には値が揃っていることの方が今回は重要なので、後者の方がオススメです
* プランをそもそも考えてくれる
    * 納期小、機能最低限/納期大、機能フル　みたいな2プランを勝手に考えて提案してくれたりする。ついでに見積もりもついてたりする。伝えるだけ。わー超ラクチン

というかこういうエンジニアさんだと正直ディレクターはやることないです　伝書鳩とドキュメントまとめぐらいかな…でもそれすらだいたいやってくれたりする
 

### 対処
* とくになし
* 全力で甘えてもいいと思うが、とっても後学のためになるので、この機会にどうやって設計しているか、とか、何が知りたいのか、とか、技術側の立場で考えていることについて質問しておくと良いと思う


# まとめ
とかくエンジニアさんって色々なタイプがいて、コミュニケーションは結構苦労してる…という話も聞く。（本人にとっては笑い話どころじゃないと思うが、毎日モーニングコールしてる！なんてディレクターもいた。）

でも、ディレクターがダメエンジニアなんて呼んでしまった瞬間に、エンジニアはプロジェクトで誰も頼れる人が居なくなってしまう。

ディレクターはエンジニアを信頼してこそディレクター。
エンジニアを活かすも殺すもディレクター次第…っというほどディレクターに別に力はないが、そういう気持ちでいかにエンジニアさんに気持ちよく仕事してもらえるか、なるべく細やかに心が配れるようになればいいと思っている。
そして同じプロジェクトに関わる一員として、エンジニアさんにも作るモノへ気持ちよくコミットしてもらえると嬉しいな、といつも思う。

## **信頼することと、信用することは別で考える**
さいごに。
信頼して任せつつも、投げっぱなしにしない。どこかで必ず疑いの目を残して、エンジニアさんの仕事をチェックすることもディレクターにとってまた必要なことだと思います。
同時にエンジニアさんも、ディレクターの言うことがカンペキだと思わずに、それって言ってることおかしくない？という目線は常に持ち続けて、潰されないように適切に自衛して欲しい。

これは自戒もこめて。それではよいコミュニケーションを！


## 【追記】
ディレクターって書いてますけど、内容的にはPLとかPM寄りですかね…
PMBOKの実践もまた有機的なコミュニケーションの積み重ねだと思っているので、書いてみました。
なにかの参考になれば。