はじめに
ココネアドベントカレンダー2023年のトップバッターを担当する"くら"です。はじめまして。
今年も残すところあとわずかとなりましたが、皆様いかがお過ごしでしょうか?
長かった夏から急に冬になって体がびっくりしますね。みなさん、お体には気をつけて。エンジニアも体が資本です。歳を重ねてとても痛感しています。
さて、わたし今年の7月から前任の髙山さんの後を引き継いで現在 CTO をやっています。(2回目の登板)
今回は、今年のココネ開発組織の取り組みを紹介したいと思います。
対象者は、同規模(50〜100人位)の開発組織の責任者や、開発組織のマネジメントに興味のある方と、ココネのエンジニアです。
自己紹介
と早速本題に入ろうと思ったのですが、ガッツリ自己紹介をさせてください。
わたし、元々はBtoB系のネットワーク監視システムの構築からITエンジニアのキャリアを始めました。(その際にご一緒させていただいた皆様には、本当にお世話になりました。ありがとうございます)
その時は、UDP、SNMPを使って、UNIXの環境でC言語とviを骨の髄まで仕込まれました。
それからゲーム会社にキャリアチェンジしまして、当時普及しつつあったネットワーク通信を行うアーケードゲームの立ち上げ、開発に携わりました。多人数対戦のクイズゲームです。
ロケテストで遊んでくれているお客様を直接見ながら開発できる稀有な体験を得られました。自分たちが作ったゲームで一喜一憂しているプレーヤーを見られ、エンターテイメントの仕事をとてもやりがいを持って楽しく感じられるようになりました。今でも楽しく開発できているのは、ここでの原体験が大きいなぁと感謝しています。この時は、サーバエンジニアでエンジニアリーダー、ディレクターも経験させていただきました。
で、わたしミーハーなので、その時台頭してきたたソーシャルゲームプラットフォームの会社に移りまして、凄まじい勢いで成長していくサービス/会社を経験しました。ちょうどガラケーのソシャゲ全盛期を迎えつつあるタイミングです。
その会社にはとても優秀な人が集まっていて、熱気もあり、良い意味でも悪い意味でも、毎日がお祭りのような日々を過ごしました。
月初にちょっと不具合が発生すると大惨事、自分の年俸くらいは軽く飛ぶようなレベルで蒼白になって、インフラの人に平謝りしながら、映画「ソード・フィッシュ」のスタンリーの気分でキーボードを打っていたのをたまに思い出します。今でも夢に出てうなされる事があります。良い経験です。学祭みたいで楽しかったです。
それから、縁あってココネにジョインしまして、クライアントエンジニアとして「ポケコロツイン」「リヴリーアイランド」など今ではココネの中核となったアバターサービスの立上げに参加しました(ラッキーでした)。新規サービスの立ち上げ中は暗中模索でとても辛いのですが、後で思い返すと楽しかった思い出がいっぱいで、一緒にサービスを作り上げた方たちには、職種問わず勝手に戦友の気持ちになって、人生を豊かにしてくれたなぁと感謝しています。サービス開発はほんと楽しくて大好きです。CTO業務が一段落して、「ぼくの考える最強の開発組織」のベースができたら、どなたか次の方にCTOをバトンタッチして、またサービス開発やりたいなぁ、フフフとか密かに考えています。
キャリアはこんな感じです。
プライベートでは最近、ゲームはSteamのFactorio+mod(Krastorio2, Space Exploration)にハマっていまして、工場長生活を楽しんでいます。(modは使えないけどSwitch版も出ています!)
ようやく恒星の周りに太陽光パネルを敷いて、「ダイソン球できた!わたしの星間文明は第2段階に到達しちゃった!?」と楽しんでいます。毎夜・毎週末リファクタリングです。工場のラインの。
あと、今年1月に仕込んだ味噌が熟成し11月に完成しまして、毎日帰宅後のお味噌汁が楽しみです。仕込みはわりと面倒で、もう二度とやるか!とその時思っていましたが、今作った味噌が尽きたら再チャレンジしちゃうかも?しれません。辛い記憶は忘れてしまいがち。
そんな感じです。
旧ココネ開発組織の概要
閑話休題。
ココネの開発組織は、2023年6月時点ではざっくり以下のような構成となっていました。
※サービスの数は適当です。サービス内のエンジニアのみ概念図で記載しています。他の職種として企画・運営・UIデザイナー・モーション・アイテムデザイナーが各サービスチームにいます。
全体で100名くらいの開発組織で、サービス(事業)開発をしている各チームは、サーバ・クライアント合わせて10〜20人位で構成されています。
各チームに開発リーダーを1名立てて、プレイングマネージャーとして、技術とマネジメント両方を担っていました。
また、開発本部があり、インフラ・ウェブ・ビリング・QA・サービス基盤開発のチームがサービスをスペシャリストの横断組織としてサポートしています。
旧ココネ開発組織の課題
さて、縦にも横にもスケールしたい開発組織を考えると(今ココネはグローバルに挑戦していて、成功するためにもスケールする下準備が必要です)、各チームが1人の開発リーダーに依存している状態は問題がありました。バス係数(cf. Team Geek)=1の状態です。
開発リーダー、この人めっちゃ忙しいです。サービス施策の企画会議はほぼ出るし、コード書くし、レビューするし、ジュニアなメンバーも見なくちゃだし。
この状態はとても不健全で、リーダーの大変さを見て、メンバーも「そんな大変なリーダーになれない/なりたくない」と思っていたかもしれません。
時間が少ないと、サービスの施策実装に集中しがちで、結局マネジメントの時間が取れず、悪循環に陥ります。
わたし自身、開発リーダーをした経験上、メンバーが10人を超えてくると実業務を抱えながら、マネジメントをするのは難易度が高いと感じていまして(と言うかわたしには無理でした)、この状態を何とかしたいと考えました。
開発リーダーの課題はまとめるとこんな感じ
- 1人で多くの責任を担っている
- 技術的なコミットも求められる
- サービス施策実装に集中しがち
- マネジメントの成果が直接的に評価されにくい(短期的なサービスの成果が評価されやすいので)
- マネジメントに満足な時間が取れない
- マネジメントスキルを磨く機会が少ない
要するに、彼らはスーパーマンでなければならない状況でした。大変だ!
新ココネ開発組織の設計
そこで、サービス開発リーダーの役割を分けて、テックとマネジメントを別々にする事にします。
一般的なテックリード(TL)とエンジニアリングマネージャー(EM)の分け方です。(cf. Googleのソフトウェアエンジニアリング)
TL
- チームの技術的な方向性を定める
- メンバーの技術的な成長を促す
- コードレビューを主導する(一人でやると言う意味ではない)
- 他のチームのTLと連携して技術的課題を横断で共有・解決を主導する
EM
- メンバーの成果を中期的に最大化する役割を担う
- メンバーのマネジメントを行う(が管理するのではなく、プロチームのコーチと選手の役割分担のイメージで並走して欲しい)
- 1on1を定期的に行う
- 一人ひとりのモチベーションを把握し、サービスの目標と個人の成長・やりがいの重なっている部分を見つける
- メンバーの目標設定・評価を行う
- 採用を主導する
- 場合によってはTLや他メンバーの協力を乞う。優秀なエンジニアを仲間に迎える業務は全エンジニアの大切な仕事です
- なお、技術的な成果・貢献はオプション
このようにミッションを分けることで、
- TLは技術的な成果を出すことに集中できるようになり
- EMはメンバーの成長や活躍に注力できるようになる
のじゃないかな?と。
ココネのサービスチームでは、EM、クライアントTL、サーバーTLのスリーマンセルにしています。
でどうだったか?(つまびらかに)
※以下、わたし個人の感想が多々あります。ご注意ください。
EMとTLの選出は、その時の開発リーダーとそのチームにお任せしました。
自分自身のキャリアを考えると、エンジニアからマネージャー専任になるのは勇気と決断がとても必要で、EMになってくれる方は出てきてくれるだろうか?とわたし自身とても不安に思っていましたが、(会社にとって)とてもラッキーな事に各サービスからEMになってくれる方が自発的に(ですよね?)出てきてくれまして、わたしの中ではとてもスムーズにEMとTLが決まりました。
(なお、そのEMとTLを束ねる横断的なリーダーの方は、わたしの独断で決めています)
まだ、社外にアピールできるまでの実績は出ていませんが、サービスを軸にした開発組織として、良い人選だったなぁ、これから楽しみだなぁと一人ほくそ笑んでいます。
EMの横断組織は、結果、現在のココネのフェーズでは導入して正解だと感じています。何より初めてCTOしていた時より、格段に物事を進めやすくなりました。
一般的に、とりわけエンジニア組織では、ある一定人数以上のチームになると、一部のスタープレーヤーに負荷が集中して(今のココネでもまだその傾向はありますが)、一部の方以外は埋もれてしまいがちだと思います。
メンバーに寄り添うリーダーがいることで、日常の課題を認識し、今何をすべきかを自分ごととして本人が意識し、周りの仲間・サービスに貢献できる下地ができて、現在サービス開発が加速していると実感しています。
それに加えて、IT業界はドッグイヤーと言われるくらい変化が早く、激しく、会社の体制・サービスも気持ちが追いつかないくらい変わっていきます。
そんな中で、日々自分を気にかけてくれるEMがいるのは心の支えになったんじゃないかなぁと感じています。(メンバーはEMにそれを求めてくださいね)
安定と人の成長を担うEMはお母さん。TLはチャレンジ(と失敗)を進めるお父さん。
こんな開発組織になってくれればと強く期待しています。
ココネの開発組織のこれからとか(採用告知多め)
SRE
昨年のココネのアドベントカレンダー初日のCTO髙山さんの記事を読み返すと、SREを導入したいと書いてありました。
弊社のサービスは開発して終わり。ということはほぼないので、保守・運用ということが必ずセットになってきます。よって、言うまでもなくDevOpsのためのツールの導入であったり、エンジニア各々でマインドセットは持っていたりとするのですが、今より更に強化していく為、 SRE(Site Reliability Engineering) を導入できないかと考えています。
外部の方とお話している中で、こういったお話とすると「ココネさんでは初めて聞きました」などのお答え頂くのですが、現状、組織、チームとしては構成されていないのですが、弊社ではインフラチームや、サーバーチームが担っている範囲となります。これを明確に、SREチームとして組織として設けるのか、マインドを強化すればカバーできる問題なのかは、メンバーと引き続き議論は必要だと思っております。
いい事書いていますね。わたしも完全同意です。ですが、まだ、これ明確な形で実現できていないです。面目ないです。
どなたかココネでSRE進めてくれませんか?採用募集してますのでご応募ください!是非是非。
社内でもSRE的なスキルを持っている方はいらっしゃるのですが、開発リーダーの件と同様でメインのミッションがサービス開発ですと、なかなかSREに注力できず、そこまで手を回せない現状があります。何とかしたいですね。と言うエクスキューズ。
サービスセキュリティエンジニア
あと、ココネは現在、とても強い気持ちでグローバルに絶賛挑戦中でして。サービスのセキュリティ強化も急務となっています。
「ふーん、サービスのセキュリティ強化だったら、オレに任せろ!」みたいなスペシャリストがいらっしゃいましたら、是非お声がけください。待っています!
グラフィックエンジニア
ココネは「感性をカタチに。」を召命としています。
グローバルに挑戦したい無茶振りするデザイナーのイメージをカタチにできる/してやろう!みたいな気概をお持ちの方のご応募をお待ちしています!(たぶん大変だと思うんですけど)
日本の未来はエンターテイメントに掛かっていると思っています。その礎を築いていただける方。
むすび
(書き終えて、読み返してみたらかなりポエムで、ちょっと申し訳ない気持ちです)
さて、これから約1ヶ月ココネのエンジニアのアドベントカレンダーが続きます。どんな個性的な記事が出てくるのか、わたしも楽しみにしています。
明日はEM組織の立ち上げを担ってくれたEMリーダー @saito_yuji さんです。お楽しみに!
ではでは。
ココネでは仲間になってグローバルに挑戦していく仲間を募集しています。
「われこそは!」もしくは、「ははーん、ちょっと聞いてみるか」くらいの軽い気持ちでも構わないので、是非ご応募ください。カジュアル面談もやっています。
25卒のエンジニアも募集しています!
応募要項の詳細は下記をご参照ください。
エンジニア キャリア採用
エンジニアオープンポジション(2025年4月入社 新卒)