ソフト開発のリーダーはかくあるべき

 最近変わったリーダーがやり手である。もともと技術畑の人で、管理者にもかかわらずなんちゃってプログラマーの僕よりコーディングはできるし、アーキテクチャに関する造詣も深い。知らない領域でも長年培ったコンピュータの知識量と開発者的勘所でお客さんと対等以上に話す。当然、ソフトハウスからの信頼も厚く、技術的な折衝などはほとんど一人でこなしてしまう。僕ら末端の底辺プログラマーに作業が及ばないように、いい感じに外部とのやり取りをフィルターしてくれる。
 経験則だが、ソフト開発の世界には20%ぐらいのリーダーという名のアホがいると思っている。細かいことは分からん、基本は仕事ぶん投げ、そして進捗確認だけは無駄に細かく進捗のミーティングに1時間かけるようなやつ。主な仕事は他社やお客様から来たメールを転送するボットのお仕事。ソフト開発のリーダーと銘打っているのに、Redmineの方がよっぽど人を管理してくれるわみたいな奴。
 こういう奴と、今回のリーダーが違うのは、実際に物を作れるか否かだと思う。誤解を恐れずに言えば、ソフトの大部分は時間をかければできるということが大前提だ。そしてリーダーたるもの時間をかければ自分でも作れるということが重要だと思う。スタートアップの役員なんかはコーディングもできる技術屋であることが多い。なぜなら作れるから人が付いてくるのであって、技術抜きで「なんかさ、こう盛り上がることやりたいんだよね!」では誰もついてこない。んでさらに反発を恐れずに言えばソフト開発者と名乗る20%ぐらいの奴はhelloworldも書けずに生きている(死ね!)。helloworld書けないような奴がリーダーとしてソフトハウス、および末端の僕みたいな内製プログラマーに偉そうな口を聞くのである。まあ別にhelloworldを書けるか否かが重要ではないのだが、大切なのはソフト開発の勘所があるか否かである。そういうやつは勘所が全くないので、自分がやったらどれだけかかるかの想像力がない。だいたいこれぐらいかかりそうだなという予測がつかないので、進捗のエクセルはどんどんバージョンを上げていかざるおえない(20160610_進捗_new_backup.xls)。そして厄介なことに他社やお客様から技術的な折衝や問い合わせが来た際にことごとく末端の開発者を呼び出して貴重な時間と集中力を奪う。そして技術資料などが作れないため、末端のコーダーにそれをやらせ、わからないくせにレビュー指摘だけは異常に多く(どれもクソほどどうでもいい体裁指摘)、そのために進捗が遅れると「なぜだ!?」とキレる。
 今回、技術畑のリーダーに変わったことでそういう精神的ストレスがなくなった。リーダーはほとんどの作業をその気になれば自分でできる人なので、話がツーカーでめちゃくちゃ意思疎通が早い。無論自分で作れるのだから、お客さんや他社からの折衝ごとにいちいち末端のコーダーが出て行く必要はなく、外部からの仕事をほぼフィルターしてくれる。これがリーダーだろ。なあ。進捗のエクセル作るだけがリーダーじゃないだろ。なあ。ただ僕が同じことできるかと言われるとできませんと言うしかない。それを鑑みるに、管理しかできないからリーダーやりますというあるある人事は本末転倒で、作れるから管理をやるべきであると思うのである。反論は受け付ける。