Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developer Experienceを向上させる基盤づくりの取り組み事例集

Developer Experienceを向上させる基盤づくりの取り組み事例集

「【日経×ココナラ×Sansan】開発者体験の未来絵図、プロダクト立ち上げ迅速化の基盤作り」の登壇資料。
https://nikkei.connpass.com/event/325769/

coconala_engineer

September 12, 2024
Tweet

More Decks by coconala_engineer

Other Decks in Technology

Transcript

  1. Copyright coconala Inc. All Rights Reserved. 自己紹介(川崎 雄太) 2 川崎

    雄太 Yuta Kawasaki @yuta_k0911 株式会社ココナラ Head of Information 🆕 株式会社ココナラテック 執行役員 情報基盤統括本部長 SRE / 情シス / セキュリティ領域のEM SRE NEXT 2024のコアメンバー
  2. Copyright coconala Inc. All Rights Reserved. ココナラのエンジニア数の変遷 4 事業拡大に合わせて 3年で約3倍の組織規模に成長

    2020年 2023年 フェーズ 上場前 上場後 エンジニア数 20人強 70人強 リポジトリ数 45 170以上
  3. Copyright coconala Inc. All Rights Reserved. プロダクトも組織も急拡大していく中で、開発生産性が犠牲に・・・ 9 開発生産性は後回しになりがちだった 「3年で約3倍のリポジトリ・人員」担っ

    ていることに伴い、プロダクトのグロー ス > 開発生産性という構図になって しまった。 本質的には、開発生産性が低いと、プ ロダクトのグロースにも影響を及ぼす が、それが問題として顕在化した のはしばらくあとになってから。
  4. Copyright coconala Inc. All Rights Reserved. 開発生産性のメトリクスもそこまでうまく利活用できていなかった 10 たとえば、 Four

    Keysのような指標もなく、独自指標のみ 「Findy Team+」の導入は2022年から 実施していて、当時はAwardで表彰さ れるほどだった。 それからなかなかうまくFindy Team+ を利活用できなかったり、Four Keys のような指標をモニタリングもしておら ず、独自の指標( PRのマージ数、 など)に頼っていた。
  5. Copyright coconala Inc. All Rights Reserved. 特定のリポジトリがどんどん肥大化していった 11 プロダクトが開発されればされるほど、認知負荷も増加 前述の通り、リポジトリの数も増えてい

    く中で、特定のリポジトリが肥大化して いる状態にもなっていた。 認知負荷がどんどん増えていく状況 で、開発生産性だけでなく、入社者 のオンボーディングで苦戦するこ とも少なくなかった。
  6. Copyright coconala Inc. All Rights Reserved. ドラスティックに「現状打破」を考える 14 付け焼き刃の対応は NG、課題の本質を見極める

    ありものをエンハンスし続けるのはココ ナラでは中長期的に見ると、悪手と捉え て ・どういう課題を解決したいのか? ・あるべき姿はなにか? を徹底的に考え抜いた。 また、手段先行にならないことも重要な ので、本質をしっかり捉えていくこと に重きを置いた。
  7. Copyright coconala Inc. All Rights Reserved. 一大プロジェクトになるので、マイルストーンを設定し、経営層と合意形成 15 開発生産性を阻害する要因の排除を訴え続ける 経営層に「このままだとプロダクトの成長

    を阻害するリスクと難易度が大きいも の」とインプットするために対応するタスクの 整理と、マイルストーン設定から着手。 プロダクトの成長と並行して進めるためには リソースをあらかじめ確保する必要があるた め、全社ロードマップに最大優先度で設 定。
  8. Copyright coconala Inc. All Rights Reserved. マイクロサービス化の推進 19 肥大化したリポジトリを適切な単位に分割し、組織も分割 「適切な単位」のさじ加減が難しいところで絶

    賛悩み中だが、まずはリポジトリを適切な単 位に分割したり、不要なコードを削除すること で、リファクタリングを推進。 また、開発を担当する組織も分割するこ とでアジリティをあげていく ことにも挑戦し ている。
  9. Copyright coconala Inc. All Rights Reserved. セルフサービス化の下地作り 20 開発者が自分たちで運用しやすいアーキテクチャーを採用 今まではEC2とECSが半分ずつぐ

    らいだった環境に対して、「コンテ ナ化」「k8sの導入」に絶賛取り 組んでいる。 また、開発環境は強い権限を アプリケーション開発者に渡し たり、GitHub Actionsで自動 化するなど地道に進めている。
  10. Copyright coconala Inc. All Rights Reserved. マネージドサービスを使い倒す 21 極限まで割り込み業務を減らす クラウドサービスを使っている限り、「基盤

    のメンテナンス」 は切っても切れないイベン トになる。(全てがライブマイグレーションにな れば、みんなHappyだけど…) それらになるべく時間をかけず、本質的な開 発に時間を費やすために、たとえば極力シ ステムメンテナンスがない世界を実現 するための検証を行う。
  11. Copyright coconala Inc. All Rights Reserved. 常に技術の最適解を考え続ける 23 現状維持をしようとしたらそこで上げ止まる まずは「今が100点のシステムではない

    こと」を理解することで、ブレイクスルーを生 み出し続ける。 また、技術は入れ替わりが激しいものなの で、バズワードには惑わされないように する。 最新トレンドは追いかけつつ、「課題解決 の手段として、使えるものはないか?」 というアンテナを張り続ける。
  12. Copyright coconala Inc. All Rights Reserved. 適材適所な組織作り 24 「組織の成果の最大化」を愚直に追い続ける システム的な仕組みが整っていても、組織

    がイケてなかったら Developer Experienceは下がってしまう。 既存メンバーやこれからジョインする人材を 理解し、いかにインテグレートするか? に注力して、組織を作る。 もしかしたら、福利厚生などにも関わってくる かも…?
  13. Fin