読者です 読者をやめる 読者になる 読者になる

FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

エンジニアだってあなたのことが嫌いなわけじゃない

megamouth.hateblo.jp

読んだ。すごく良い記事だと思った。エンジニアの試行回路をトレースされているようで、読みながら「分かるーーー!!」ってなってしまった。

(僕の知る限り)新しいプロジェクトが始まるとき、不完全なものを作ろうとするエンジニアなんて一人もいない。 プロジェクトのキックオフ時には、完璧に書かれた計画書が存在し、顧客を満足させる性能、綿密に組まれた役割分担、隙のないリリースフロー、、、このプロジェクト、失敗する余地なんてあるわけがないじゃないか! スケジュール的にはちょっと厳しいけど。

ただし、上記のエントリにもあるとおり、いろんな要素でプロジェクトの状態は一刻一刻と変化していく。僕らは最初は完璧な戦艦を作るつもりだったんだ。 だけど、実際には部品が足りないことが判明したり、マネージャーが砲台をもう一個追加しろと言ったと思ったら重過ぎるから何とかしろ(何とかしろって何だよ!)とか言ってきたり、、、 スケジュールは遅れる要因しかないけど何故かマネージャがミーティングから戻ってくると納期が早まっていたり、、、

いろんな要因が絡まってきて、僕らが作ろうとしてきた完璧な戦艦は、いつの間にか砲台が削られ、世界トップレベルだったはずの性能は削られ、そこそこ(あるいはそれ以下!)のものになってしまったり、だんだん自分が何のために戦艦を作っているのかわからなくなってくる。実はこの瞬間がエンジニアにとって一番危ないんだ。

マネージャや経営者の皆さん、覚えていて欲しい。エンジニアは「モチベーション」を失ったとき、最大限に生産性が落ちる。

でも、僕らは黙っている。言うことは言うけど、基本的にマネージャの決定事項に反論することは少ない。 会社の経営方針や顧客との信頼確保のためにやむを得ず決定したことだってあるだろう。 エンジニアはマネージャの決定したことが、ただマネージャの自分勝手で決められたことではないことだって知っている。

マネージャや経営者の皆さん、覚えていて欲しい。エンジニアは皆さんが思っている以上に、皆さんの立場を理解している。

納期をもっと短く出来ないか、顧客に言われたこの機能を追加できないか、そう言ってくるマネージャの雰囲気で、エンジニアは意外と事の重大さに気がついている。

だいたい、マネージャのいないプロジェクトなんて想像してごらんよ。いつまで経ってもそのプロジェクトは終了しないよ。 誰かがどこかで線を引かないと、完璧を求めるエンジニアはいつまでも機能追加、機能改善を求めて突き進んでしまう。

https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Sagrada_Familia_02.jpg/1280px-Sagrada_Familia_02.jpg

サグラダ・ファミリア - Wikipedia

#僕もエンジニアだけど、実装したときは完璧だと思ってる物でも、数ヶ月して見直したらどうしてもリファクタリングしたくなっちゃうんだよね。

半導体畑出身な僕としては、ひとつの製品を長々と検討・開発し続け、経営者もフラフラとはっきりとしない経営方針を続けた結果、潰れかけた半導体企業を知っている。 上記のたとえ話をするならば、「戦艦大和」を皆で一生懸命作ろうとして、いつまで経っても完成しないアレだ。

toyokeizai.net

Facebookのオフィスには「Done is better than perfect」という言葉が壁に貼ってあるそうな。 これ、僕の理解(間違っているかもしれないけど)では、締め切りドリブンで動け、という意味だと理解している。

f:id:msyksphinz:20170121020346p:plain

この締め切りを決めるのはマネージャでありリーダであり、これを逃すと商機を逃したりする。 マネージャだって馬鹿じゃないんだから、理由もなく納期を短縮したりなんかしない。

強力なリーダーと、エンジニアの信頼関係

じゃあエンジニアに無理を承知でやってもらうためにはどうしたら良いのか? 僕は、マネージャとエンジニアとの信頼関係が構築されていれば、それが可能だと考えている。

マネージャが細かくエンジニアの状態を把握し(何も日報を出せといっているわけじゃない!)、それに伴ってエンジニアの要求もきちんと聞いてくれる、 マネージャがエンジニアに言うことを聞いて欲しいように、エンジニアだってマネージャに言うことを聞いて欲しい。一方通行では、信頼関係は築けない。 たまには飲み会でざっくばらんに愚痴を言い合ってもいいかもしれない(僕はあまり飲み会が好きじゃないけど)。

そうしてマネージャとエンジニアとの信頼関係、つまり「このマネージャだったら、無理は言うけど結果的に商談を成功に導いてくれる」と思われたり、「このエンジニアだったら、プロジェクトの成功のために一生懸命作業してくれる」と思われたりすると、多少難しい問題に直面しても、じゃあ何とかしましょう、ってなるんじゃないかね?

エンジニアは、マネージャの方針や考え方がブレることを恐れている。 昨日言ったことが意味もなく今日変わっていたり、昨日約束してくれたことを覚えていなかったりすると「この人大丈夫かな?」ってなり、いまいち信用できなくなったりする。

だから、マネージャには堂々としていて欲しい。「みんな俺の方針について来いよ!」って言われると、意外とエンジニアはついて来てくれるものなんだよ。

っていう

理想の世界が実現できれば幸せなんだけど、実際にはそうも行かないもんだねえ。