見出し画像

エンジニアのチームマネージャーとして大切にしている5つのこと

株式会社エイチーム EC事業本部でエンジニアのマネジメントをしております Masahiro.F です。
この記事は、Ateam cyma Advent Calendar 2019 の 24日目の記事となります。

はじめに

昨年末のアドベントカレンダーで CTOがデザイン組織をデザインして学んだこと という記事を書かせて貰いました。
その時はエイチームライフスタイルのデザイン組織の責任者をしていたのですが、2019年7月からエイチーム EC事業本部(以下、cyma)のエンジニアマネージャーとして現場にも入っております。

今回は私がエンジニアチームのマネジメントをする上で大切にしている5つのことを前職、現職の経験も含めてまとめていきます。
現在エンジニアチームのマネジメントをしている方や、これからする予定の方に少しでも何か参考になれば幸いです。

1. 炎上している時こそ、最短の期日とゴールを明確化させる

画像1

炎上しないようにプロジェクトマネジメントをすることが大前提ですが、様々な事情が重なって炎上してしまうことはあります。また炎上しているプロジェクトにアサインされることもあるかもしれません。
そんな時に私が真っ先にしているのが最短の期日とゴールを明確化することです。
以前大規模リプレイスをした後のプロジェクトにジョインしました。そのサービスはローンチ当初からPHP5.x / symfony 1.4.x が使われており、言語、フレームワークともにサポートが終了しているのと、日々の改善で技術的負債も溜まっていたためそれらを返済し、サービスを利用するお客様に早く価値を届けられるようにするためにシステムリプレイスを行っておりました。しかし、リプレイス後に待っていたのは 1,300個以上の不具合とその対応に追われる日々でした。
まず最初にこの不具合の中を紐解いて見ていき、現場のメンバー全員と話をしていったところ大きく課題は3つ。

1. カスタマー対応、オペレーション対応に追われて開発時間が取れていない
2. 開発経験が豊富な有識者不足
3. CI/CD環境が整っておらずデプロイにも大きく時間が取られている

これら3つの課題をまず解消させるために、1,300個以上あった不具合から解決すべき不具合として60個まで絞りました。ここで優先したのはサービスを使ってくれているお客様に影響度合いが大きいところのみ。それ以外のサービス運用上必要なところに関しては、エンジニアの開発工数が確保できてから改善のフェーズを作り、そこで解消をすることにしました。
「今から3ヶ月以内に、この60個のバグを潰すことに集中をする」
このメッセージをエンジニアチームから関係各部署に発信をし、周りの協力を得ながら進めていくことにしました。
それと同時に自部署外からスペシャリストのエンジニアにジョインしてもらい、コードの品質担保とCI/CD環境の構築、メトリクスの整備をしていくことで、実質2ヶ月半程度で収束することができました。

ここで重要なのは火がついた場合には、どれだけ早く消火できるかが肝になります。その時に自分のチームだけで解消ができない場合は、マネージャーはどうやって協力者を集めてくるかが重要になります。炎上期間が長くなればなるほど、事業へのダメージもそうですが、それを解消しようとしているメンバーが疲弊していき、最終的には取り返しがつかない状況になってしまうため、炎上している時にこそ最短の期日とゴールを明確化する必要があります。

2. エンジニアマネージャーとしての意思決定とメッセージ

画像2

マネジメントをする上で、プロジェクトの進行状況であったり、ソフトウェアの品質など様々なものを定量化していき、チームの状況を可視化しながら進めていきますが、全てが定量化できるわけではありません。
定量化できないからこそ、エンジニアのマネージャーが必要になっているとも言えます。つまり不確実な状況の中、常に意思決定をしながらマネジメントをすることが求められます。
例えば、技術的負債が事業にどのような影響を与えるのか。直近足元ですぐに問題にならなくても、中長期でみた時にどのタイミングでリプレイスをすることが事業の最大化につながるか、これはエンジニアのマネージャーだからこそ分かることであり、熱量をもって伝えるべきところでもあります。
また、それ以外にもチームメンバーの育成(実際にはモチベーション向上かもしれない)のために外部の勉強会やセミナーに業務として参加させたいなどもあると思います。
誰々さんが月に何回勉強会に参加して、そこで得られる情報は○○なので自社プロダクトへのリターンがうんぬん…とかすべて定量的に示すのは難しい(というか時間の無駄)と思います。
それが必要かどうかが分かるのがエンジニアのマネージャーであるので、必要だと言い切れば良いだけです。
その時に大切にしているのは常に事業・経営側に立って意思決定をすることです。そうすることで相手によって自分の意思決定がブレたり、必要性を話すときには事業・経営目線でメッセージを発信することが容易になります。

3. 謙虚であり素直であり続けること

画像3

テストもろくにせずに自分の書いたコードに絶対的自信を持ち、コードレビューで指摘を受けても直そうとしないエンジニアを見て、今後大きな成長が見込めると思えますか?
少し極端に書きましたが、これはマネージャーになってからも同じことが言えます。マネージャーが役職である会社は多いと思いますが、役職は役割であると私は考えています。Product、Project、Peopleに対してマネジメントをし、チームとしての成果を最大化させるためにマネージャーがいます。
マネージャーを数年もやっていると今までよりも経営に近い立場になり、入ってくる一次情報も変わってくると思います。そうなった時こそ、経営の立場で現場を知ることが重要になります。
私は普段自チームのメンバーと 1 on 1 をやっていますが、それとは別にリバースメンターを一部のメンバーにお願いすることもあります。
現場で第一線で働いているメンバーに対して、今どんなことに力をいれていて、それはどんなやり方をしていて、それをするにはどんな課題があり、それをどう解決しようとしているのかを教えてもらいます。これは昨年デザイン組織を見ている時に、私はデザイナー出身ではないので、現場の業務を深く知りたくて始めたのがキッカケでした。現場での業務を深く知り、その上で現場の課題を自分が知ることで、マネージャーだからこそ解決できるやり方も多々あります。
現場から少し距離が離れてきていると感じたら、管理するためではなく教えを請うために現場に入ってみてください。きっとマネージャーだからこそできることがそこにはたくさんあり、結果それがチームとしての成果を最大化させるためのヒントが眠っています。

4. 答えを持たずにメンバーの話を聞くこと

画像5

ベテランになればなるほど難しいのはここだと思います。メンバーからの報告や相談を聞いている時に、「これはこうしたほうが良い、あーした方が良い。これを伝えよう。」と思いながら話を聞いていることはありませんか?
しかし、これはメンバーには見透かされます。この人本当に私の話を聞いてくれているんだろうか?と。
過去の成功体験がたくさんあるからこそ、話を聞いている途中で自分の中の答えが頭に浮かんできて、それを伝えたくなる気持ちになりますが、よほど間違っていることをしようとしている時以外は、一旦その気持を外に置くようにしています。仮に自分の成功体験による解を伝えて、結果を出せたとしても、それを超える結果にはつながりにくいからです。
特にITの世界は日進月歩で発展をし、外部環境の変化も速いです。今起きていることを事実ベースで聞き、その事実の中から課題を抽出し、どんな手を打つかを一緒に考えることが必要になります。
そうすることで、メンバーそれぞれが自身の過去の成功体験を超えることができ、自分も含めてチームが成長できると考えています。

5. プロダクトを通じて、このチームで成し遂げたいことを発信し、行動し続けること

プロダクトマネジメント、エンジニアのチームマネジメントをする上でここは1番大切にしています。営利企業のサービスなのでP/Lはもちろんあり、毎月の予算達成に向けてメンバーは一生懸命働いてくれています。
その先のビジョンを皆で見て、そしてそれを妨げる課題をどう技術で解決をするのかを考え、実行するのがインハウスのエンジニアチームになります。

cymaエイチームのIRを見て頂けると分かるように、まだ赤字のサービスになります。

スクリーンショット 2019-12-22 2.08.29

黒字化を目指していくのはもちろんですが、今よりももっと高い利益率を出せる仕組みを考えて実施していくことで、サービスを継続することができ、結果お客様に今までよりも多くの価値を提供することができると思っています。
cymaは自転車を自社で仕入れ、全国の工場に配置し、インターネットを通じて自転車を販売しております。そして購入して頂いた自転車を1台1台プロの整備士が整備し、すぐに乗れる状態でお客様にお届けするサービスです。
仕入・販売・物流それぞれに x Tech をかけ合わせることで今までよりも大きくサービスをグロースさせて行くことを狙っています。
結果それがIT企業であるエイチームが自転車を売っているひとつの理由になり、それを今いるメンバー全員でつくりに行くことを目指しています。

12/25 公開予定の記事でcymaの事業責任者が Tech の 概要を書いているので、詳しくはそちらを御覧ください!

最後に

今回アドベントカレンダーの企画、運営をしてくれたスタッフの皆様、本当にありがとうございます。今回cymaはエンジニア、デザイナーだけでなく様々な職種のみんなで記事を書いているので、是非最初から最後までお付き合い頂けると幸いです。

-----

Ateam cyma Advent Calendar 2019 の ラストを飾るのは、cymaの事業責任者でもあり、同期的な存在でもある @mochi_mochizuki「非エンジニアのぼく(事業責任者)が考えた、次世代の最強ECシステム「MAGI」とは?」という記事を書いているのでお楽しみにしてください!

株式会社エイチームでは、一緒に働けるチャレンジ精神旺盛な仲間を募集しています。
エンジニアで興味を持った方は是非 cymaのQiita Jobs からご連絡ください!
そのほかの職種は、エイチームグループ採用サイトをご覧ください。

この記事が気に入ったらサポートをしてみませんか?