こんにちは!技術部ゲーム事業部サーバサイドエンジニアの宮村 紅葉です。
社内では「みやむー」と呼ばれています!
普段はぼくらの甲子園!ポケットのサーバサイドエンジニアとして Perl5 を用いた運用・開発のお仕事をしています。
突然やってきたサーバーチームリーダーへの打診!
新卒 2 年目の昨年 12 月に所属チームのプロデューサーに「みやむーリーダーやってみない?」と言われ、2021 年 1 月からサーバチームのリーダーになりました。
この記事では後学のために、リーダーになって数ヶ月の間に経験した、どったんばったん大騒ぎと、若手がリーダーを経験することで何が得られたのかということについて書いてみたいと思います。
どったんばったん大騒ぎ!したこと
自分よりもベテランエンジニアばかり!
「ぼくらの甲子園!ポケット」チームには昨年 5 月ごろにジョインしたのですが、チームのサーバエンジニアは数年以上のベテランの方ばかりでした。
また、プロジェクト自体が運用 6 周年(開発期間も含めるともっと)の長寿タイトルでサーバサイドは歴史的経緯により、運用・開発難易度が高い状況です。
なので「自分が一番プロジェクトについて技術的に詳しくない」かつ「他職能メンバーから判断を求められる」という状況によく直面しました。
幸いにもプロジェクトメンバーや先輩が皆優しい方ばかりなので、時間もらって技術的アドバイスいただいたり、前リーダーを中心にちょくちょく対応の相談をすることで乗り越えられたかなと思います。
普段からチームメンバーと相談しやすい関係性を築いておくことの重要性を感じました。
他職能から相談される機会が増え、開発に集中する時間を割くのが難しくなった!
リーダーになって、他職能がサーバーに関する相談があった場合、真っ先に僕のところに飛んでくるようになりました。
前述したプロジェクト経験・エンジニア経験の浅さも相まって、それらの対応で 1 日が終わる日もあったり(苦笑)。
リーダー当初は「エンジニアなのにコード一切書けてない・・・!」となり仕事のモチベーション低下や焦りに繋がったりすることもありました。
この点はまだ課題にしているところでもありますが、全部自分でやらずに出来るだけメンバーに委譲したり、Slack のメンションを減らすように工夫したりという取り組みを意識することで軽減されたかなと思います。
例えば、メンバーのリソース状況把握して空いてそうな人にお願いしたり、Slack のメンションは緊急性が高くなければ即レスせずに今のタスクが終わってから返すようにしていました。
前述したように技術的な知見は他チームメンバーが持っていることが多いので、自分はテックリード的な役割よりも、マネジメント的な役割をより意識して立ち回ることで抱え込んでしまうことが減ったようにと思います。
その結果、最近ではリーダー業の合間に Devel::NYTProf
と DBIx::QueryLog
を使った巨大 API のパフォーマンスチューニングをしてみたりと開発に割く時間も増やせてきたように思います。
また仕事でコードを書く時間が減っていたので、プライベートでコードを書く時間を増やし、自分自身の腕をあげることでスループットを上げるよう意識するようにもなりました。
具体的には、リーダーとしてタスク量コントロールして残業を減らしつつ、浮いた時間で所属しているエンジニアコミュニティの活動に積極的に参加してコードを書く時間を増やすなどしていました。
それにより仕事のモチベーションを上げつつ、得られた知見を仕事に活かす、という循環も生まれたように思います。
一人でなんでも解決しようとしすぎた!
プロジェクトにジョインしてから僕と同時期に入った新卒に色々教えていたので引き続きサポートしつつ、更に新規にジョインしてくれたメンバーに対してサポートをしていました。新卒の子が自分が学んだことを積極的に新規メンバーに伝授するなど、チームとしていい流れを生み出せたように思います。
一方でベテランの方がチームから離れることもあり、その対応に追われたりもしていました。運用歴の長くなってくるとベテランの方が抜けるインパクトは大きいので、その人が担っていた色々な役割を自分が巻き取ったりチームメンバーにお願いしたり立ち回っていました。
このようにチームのリソース状況が大きく変化する中で、企画側の要求に対応していくのが大変で、疲弊してしまっている時期もありました。各方面に相談していくなかでこれはサーバチームだけで考えることじゃないということに気づき、PM (プロジェクトマネージャー) などの他職能を巻き込んで優先度とマイルストーンを定めてもらうことで解決しました。
「スケジュールやリソースで困ったら PM に相談する」という当たり前といえば当たり前の話ですが、リーダーをやる前は無意識のうちに同じ職能である「サーバチームの中」で何とかすることに意識が向いていたなと気づきました。リーダーになってからは積極的に他の職能を頼るという意識が芽生え、視野が広がったなと思います。
一人で抱え込まないことの必要性は頭では分かってたつもりだったんですが、無意識のうちにハマっていました。
まさに「仲間に助けてもらう勇気を持て」ですね!
やってみて気づいたこと
リーダー経験はリーダーじゃない時にこそ最も役立つ
こういう経験をしてみて気づいたこととして「リーダー経験はリーダーじゃない時にこそ最も役立つ」ということがあります。
リーダーやる前は、自分の上司や先輩やチームリーダーに対してどこか「スーパーマン的期待」というか、何でも知っているはず、という期待をしていたように思います。でも実際に自分がそういう立場になってみて、そんな幻想はないし 「スーパーマンはいなくて」 、みんな分からないなりにもがいてなんとかやっているんだなぁと気づきました。
そういう目線に立てたからこそ、自発的に動いてくれるチームメンバーがとてもありがたいなとも思い、逆に自分が誰かのリーダーの下で働く立場になったら、リーダーが何に困っているのかを察して先んじて行動しようと思えるようになりました。
リーダーシップはリーダーじゃなくても発揮できるという話にも通じますね。
若手のうちにこういう視点を得られたのはいい経験だったなと思います。
まとめ
新卒 2 年目でサーバーチームのリーダーになったという経験と、そこから得られたものについて書きました。
「自分は若手だしチームメンバーの方がベテランなのにリーダーやる意味あるのかな?」という疑問を持つ時期もありましたが、実際にやってみると、あえて若手のうちにリーダーやってみることで学べることもあると理解しました。
この記事が同じような境遇の若手リーダー、もしくは若手にリーダー任せてみようかと思っているマネージャーさんの参考となれば幸いです。