はじめての開発マネージャーの教科書

昔、はじめての課長の教科書を読んで、「中間管理職大変だなー」というのとともに、「中間管理職も必要なんだよなー」と思ったのですが、理想の開発マネージャーってどんなのかなぁとよく考えます。今日はそんな試行錯誤の日々について書いてみます。

楽しい仕事を創る

世の中には「つまらない」と感じる作業があると思います。僕の場合は、アジェンダ確認するだけのMTGに参加するのが本当に苦手。段取りの悪い作業に参加するのも本当に苦手。

つまらなそうな仕事をいかに「つまる仕事」にするか?これはマネージャーに問われる資質なのではないでしょうか。

開発の場合だと、定形業務とかは自動化したりツール化することができます。そのときに、チャレンジ要素を盛り込むと「つまる仕事」になったりする。過去にやったのが

  • 完全チケット駆動開発で、最新開発環境を駆使し音速開発大会
  • 最新版のRailsを使ってツールをアジャイルに作れ!
  • 技術的負債を叩き潰そう月間

などなど。仕事と遊びと悪ふざけを混ぜてやりました。座右の銘が「冗談半分」ですから。

ただ、気をつけたいのは、マネージャーとしてこれらの成果を「見える化」してあげるのを忘れてはいけない。そうじゃないと、一時的な盛り上がりで終わるし、評価に反映されないんですよね。

プログラムを書く時間を作る

基礎体力としてコーディング力を身につけてもらいたいといつも思ってます。本を読んで得る知識もありますが、実際にやったほうが早い。

だから、限られた時間をコーディングに投資したいので、スタンドアップ朝会とふりかえり以外のMTGは止めました。

さらに、その他雑用は全部僕が担当しています(ほとんどの雑用が会社運営のための作業で、開発に関係ないものが多いんじゃないですかね)。

僕は「こういった作業は新人にやらせろ」みたいなのが嫌いです。新人のときに「お前がやれよ」って100万回思ったりしました。新人が仕事を学ぶ機会にはなるかもしれないけど、そんな仕事すら効率よくできない先輩もいますからね。

そこで、雑用は全部マネージャーがやればいいという仮説を立てました。マネージャーは偉くない。そういえば、@kuranukiも同じ事をおっしゃってたなぁ。

生みだした時間で、エンジニアに雑用を自動化してもらったりすれば、どんどん雑用の負担が減ります。さらに、メンバーが自走すれば、マネージャーは超ヒマ。ひゃっほー。

そのかわりにマネージャーしかできない作業や、育成に時間を書けることができる。これが僕にとって理想の役割分担です(だってマネージャーが忙しいところって、いいイメージないし・・・)。

話す時間を作る

昔、一人でお客さん先に行ってたときに「どうやって僕って評価されるのかなぁ」と疑問に思ったことがありました。でも時期が来ると給与面談で結果だけが伝えられる謎。これはフェアじゃない。

そんな経験をした影響もあり、メンバーの人数が少ないというのもあり、月に一度、1人1時間のマンツーマンフリートーク大会を始めました。

はじめはなかなか話が続かないかなーと思ったのですが、翌月辺りから1時間じゃ足りないぐらい盛り上がります。みんな話したいことや思ったことがたくさんあるんですよ。

最近では、「藤原さん、なかなかいいですね」とか「藤原さん、なかなかがんばってる」というような「上から目線かコラ!」というFBをもらってます。もしかしたらフラットにしすぎたのかもしれない。。。

いくらメールが便利でも、ツールが便利になっても、フェーストゥーフェースのコミュニケーションに優るものはないです。きっと、信頼関係って、何かを仲介すると築きにくいんじゃないかな。

楽しい場を作る

つまる仕事で成果をだし、エンジニアとして十分に訓練できる時間を作り、お互いに話し合いながら現場を良くしていく。こうしていけば楽しいチームができるはず。試しがいのある仮説です。

ただ、やっぱり問題は出てきます。例えばコミュニケーションの問題。メンバーには「コミュニケーションの問題でしたとか簡単に言う大人になるな!」と常々言ってます。なぜなら、思考停止している感じがするからです。もう聞き飽きたでしょ。

でも、人間が集まると「いった、いわん」の話が始まる。そこで、まずはメールを使わないようにしました。メンバーからメールを受け取ることはほとんどなくて、全然困らない。

隣りに座ってるんだし話したほうが早いんですよね。また、メールって自分のタイミングで読めるんですが、一緒に考えたい時に不便です。

「忙しそうだから話かけにくい」という意見もはじめはでましたが、やってみると話しかけるのがあたりまえになりました。開発が遅れたりするより話しかけたほうが安いし、それがきっかけで助け合うようにもなっていく。

「遅れそうだったらみんなでやればいいじゃん!」みたいな声がでてくると、もう心配する必要ないですね。

理想の開発マネージャー

マネジメントの本は結構ありますが、どうするか?よりもどういったマネージャーになりたいかを先に決めたほうがいいと思いました。

楽しく働けて、ゆっくり休暇もとれて、成果もちゃんとだせて・・・という理想を考えていくと、今まで見てきた方法とは逆のやり方をすればいいんじゃないかと試しています。

  • 忙しくて声をかけにくい偉そうなマネージャーよりも、好きなだけ話ができるマネージャー
  • 雑用を下っ端にやらせるのではなく、雑用はマネージャーが喜んでやる
  • 距離をとるのではなく、すごく近寄ってくるマネージャー(すごく余計なお世話をする。人としての話とか、人生とか、誕生日サプライズとか)

僕だって「一人1時間はなすの面倒臭いな・・・」と毎月思います。僕は毎週「ジムに行きたくないなぁ」と思いながら行きます。だって、お金払ってしんどい思いするわけですよ。でも行ったら気持ちいいわけです。こういう面倒くさいと思うことは、やったほうがいい場合が多い。

やっぱり変化に対応していくことがとても大切で、マネージャーごっこしてもソフトウェアは良くなってくれないし、人材は育たない。

そうそう。昔、プログラマとしてがんがんJava書いていた時期に、「スーパーエンジニアへの道」を読みました。それ以来、困ったときはいつもこう考えるようになりました。

スーパーエンジニアだったらどうするだろうか?

次は「スーパーウルトラマネージャーだったらどうするか?」自分に問いかけてみよう。