Slide 1

Slide 1 text

サイボウズの⽣産性を⾼める ⽣産性向上チームと開発⽂化 2021/02/18 サイボウズ株式会社 開発本部 ⽣産性向上チーム 平⽊場 ⾵太

Slide 2

Slide 2 text

2 ⾃⼰紹介 平⽊場 ⾵太 Futa Hirakoba 所属 開発本部 ⽣産性向上チーム 略歴 2020年 4⽉ サイボウズに新卒⼊社 6⽉ ⽣産性向上チームに配属 好きな技術 CI/CDやパブリッククラウド、IaC 関連の技術 好きなもの スーツ👔と⾟麺🍜とドライブ🚗

Slide 3

Slide 3 text

今⽇話すこと ▌イチオシなサイボウズの開発⽂化 ▌配属チームの決まり⽅ ▌⽣産性向上チームの話 3

Slide 4

Slide 4 text

イチオシなサイボウズの開発⽂化 僕から⾒た開発⽂化を紹介します 4

Slide 5

Slide 5 text

マネジャーがいない︕ 5 イチオシなサイボウズの開発⽂化 https://cybozushiki.cybozu.c o.jp/articles/m005343.html https://cybozushiki.cybozu.c o.jp/articles/m005359.html ▌開発本部はマネジャー(部⻑)がいな くなりフラットな組織となった ▌チームの裁量権が⼤きくなり、よりスピー ディに業務を進められるようになった ▌それまでのマネジャーは、研修や給与評 価など、開発本部に関する業務を⾏う 組織運営チームに集合した

Slide 6

Slide 6 text

フラットでオープンな議論︕ ▌チーム、上下関係を超えた議論が⾏われる ▌オープンな場(社内kintone上)で、誰でも議論に参加できる。 ▌例えば、「次世代インフラNecoに関する議論」や「今後のエンジニア採⽤ について」や「給与評価について」などなど ▌新卒エンジニアも積極的に議論に参加している。 イチオシなサイボウズの開発⽂化 6

Slide 7

Slide 7 text

兼務している⼈が多い︕ ▌チームを兼務している⼈が多い n 例えば⽣産性向上チームだと6⼈中4⼈は兼務 n QAエンジニアと法務を兼務しているような⽅も ▌兼務や異動はやりたいと⾔えばやれる場合が多い ▌⾃分のやりたいことが⼊社後に変わったり、別領域のスキルを⾝につけたく なったら新しくチャレンジできる イチオシなサイボウズの開発⽂化 7

Slide 8

Slide 8 text

エンジニアが最⾼のパフォーマンスを出せる環境︕ ▌ハイスペックPCを貸与してもらえる ▌4KディスプレイやHHKBなどの周辺機器を貸与してもらえる ▌欲しい技術書も買ってもらえる。電⼦書籍OK イチオシなサイボウズの開発⽂化 サイボウズの「開発・運⽤組織」で働く環境@2020 https://blog.cybozu.io/entry/2020/10/13/124546 8

Slide 9

Slide 9 text

勉強会、交流が盛ん︕ ▌いろんな⼈が勉強会を好きに開催している n 多くの勉強会はGaroonスケジュールに登録されており、 誰でも参加できる。組織の垣根を越えたメンバーが参加。 ▌WASABIチームがイベントを頻繁に開催 n LTをする会(話スシ🍣)、 ⾃⼰紹介をする会(⾃⼰紹介スシ🍣)、 社内ハッカソンなど イチオシなサイボウズの開発⽂化 エンジニアが技術以外のLTをする会︓その名も『話スシ🍣』 https://blog.cybozu.io/entry/2018/04/23/171819 9

Slide 10

Slide 10 text

モブプログラミング ▌複数⼈で⼀つの画⾯を⾒ながら同時にプログラミングすること ▌モブプロ、モブと略されることが多い ▌モブプロしているチームとしていないチームがある ▌コードレビューや設計のレビュー⽅法 n モブプロしているチーム︓モブプロ中に同期的にレビュー n モブプロしていないチーム︓プルリクエストやkintoneアプリ上で⾮同期的にレビュー イチオシなサイボウズの開発⽂化 10

Slide 11

Slide 11 text

開発フロー ▌だいたいどのチームもアジャイル開発を⾏なっているが、詳細はそれぞれ異 なる ▌例えばGaroon開発はスクラムを採⽤している n 1スプリント=1週間、スプリントレビューやリファインメント、レトロスペクティブを毎週 開催 ▌スクラムを採⽤していないチームもある イチオシなサイボウズの開発⽂化 11

Slide 12

Slide 12 text

配属チームが決まるまで 2020年における ⼊社からチームに配属されるまでを話します 12

Slide 13

Slide 13 text

⼊社から配属までの流れ ▌4⽉ 全体研修 ▌4⽉〜6⽉ 開運研修 n 必修講義、各チーム紹介 n チーム体験(2週間*3チーム) n HTTPサーバ開発研修 ▌6⽉〜 本⼈の希望や適性を基に 各チームに配属される 🎉 13 配属チームが決まるまで 2020年のエンジニア新⼈研修の講義資料を公開しました https://blog.cybozu.io/entry/2020/09/07/180000 講義資料 公開中

Slide 14

Slide 14 text

チーム体験 ▌各チームを紹介された後に、体験希望チームを複数選択する ▌3つのチームをそれぞれ2週間体験する ▌メリット n 配属されたいチームの実態を、配属前に知ることができる n 配属後に他のチーム体験で得たドメイン知識が活⽤できる n 合っていないと思っていたチームの⽅が、実は⾃分に合っていることに気づけるなん てこともあるかも︖ ⇨ 体験後に第⼀志望が変わった同期もいた 14 配属チームが決まるまで

Slide 15

Slide 15 text

僕の場合 ▌「Garoon開発」⇨「⽣産性向上」⇨「クラウド運⽤」の順に体験 ▌⼊社前から⽣産性向上チームで働きたかったが、 3チーム体験することでますます同チームで働きたくなった︕ ▌配属希望の提出、⾯談などを経て、⽣産性向上チームに配属︕ 15 配属チームが決まるまで 注意 - あくまで2020年の話。2021年以降も同じであるとは限らない。 - エキスパートエンジニア職で採⽤された場合は「クラウド基盤エンジニア」として配属先が決まる

Slide 16

Slide 16 text

⽣産性向上チームの話 僕が配属された⽣産性向上チームの話をします 16

Slide 17

Slide 17 text

サイボウズの技術領域 ⽣産性向上チームの話 開発⽀援 kintone on AWS Yakumoチーム kintoneチーム Garoonチーム テストエンジニアチーム フロントエンドエキスパート PSIRT ⽣産性向上チーム クラウド運⽤チーム Necoチーム slash/CyDE-Cチーム アジャイルコーチチーム モバイルチーム Networkチーム Sales systemチーム ※インフラからアプリケーションまですべて⾃社開発 17

Slide 18

Slide 18 text

⽣産性向上チームとは ▌ミッション 多様で価値あるサービスを迅速に提供するため、 部署やプロダクトを横断して、 ⽣産的でオープンな開発基盤を整備する ▌役割 ⽣産性向上チームの話 開発基盤の整備 ⾃動化・効率化の⽀援 みんなハッピー 18

Slide 19

Slide 19 text

具体的にやってること例 ▌開発基盤の整備 n GitHub Actions Self-hosted runnerのオートスケール環境の構築、AWSマ ルチアカウント運⽤、CI解析プラットフォームの構築・運⽤などなど ▌⾃動化・効率化の⽀援 n CIの導⼊、⾃動テスト環境の構築、クラウド移⾏、ミドルウェアの開発⽤Docker 化、AWSリソースのIaC化などなど ▌関連技術の探求と知⾒の共有 n 毎⽇探求する時間がある。得た知⾒を共有する勉強会も開催している ⽣産性向上チームの話 19

Slide 20

Slide 20 text

よく使う技術 ⽣産性向上チームの話 コーディング CI/CD ⾔語 構成管理 パブリッククラウド ミドルウェア 20 JetBrains IDE GitHub Actions CircleCI GCP Terraform Serverless Framework TypeScript Kubernetes Node.js

Slide 21

Slide 21 text

⽣産性向上チームのモブプロ ▌1⽇の半分ほど(13:30-17:00)は基本的にモブプロ ▌兼務メンバーが多く、決まった時間に参加できる⼈が少ないため、 ドライバーの順番は決まっていない ▌モブプロ中のメモは kintone のスレッド上に記録する ⽣産性向上チームの話 25分 作業 5分 休憩 ドライバー 交代 21

Slide 22

Slide 22 text

モブプロ実況スレ ▌kintone に情報を貯めるこ とで、後から必要になった時 にすぐ参照できる ▌やったこと、やらなかったこと、 判断理由などを記す ⽣産性向上チームの話 22

Slide 23

Slide 23 text

僕の⼀⽇のスケジュール ▌10:00〜 ⾃由 ▌10:30〜 探求タイム ▌11:30〜 朝会 ▌12:00〜 お昼休み ▌13:30〜 モブプログラミング ▌17:00〜 勉強会に参加 or ⾃由 ⽣産性向上チームの話 23 ⾃由時間、探求時間に 探求や⼀⼈でできそうな タスクを捌く モブプロでは複数⼈で 同じタスクを捌く 17:00以降はいつもの 勉強会に参加。無い⽇ はやりたいことをやる

Slide 24

Slide 24 text

僕はこんな勉強会に参加してます ▌Productivity Weekly (毎週⽔曜⽇) n ⽣産性が上がると思ったネタを各⾃が持ち寄り共有する会 n #cybozu_productivity_weekly でTwitterで発信中 ▌達⼈プログラマー第⼆版輪読会(毎週⽔・⽊曜⽇) n 達⼈プログラマー(第⼆版)という本を交代で⾳読し、その都度気になったことな どを議論しあう。 ▌もくもく会(毎⽉) n ⼀⽇中もくもくと好きな作業をして、最後にやったことを共有する会 ⽣産性向上チームの話 24

Slide 25

Slide 25 text

⽣産性向上チームのここが良い ▌⼀⼈時間とモブ時間のバランスが良い ▌⾃分らの裁量でタスクの優先度が決められる ▌顧客(社内エンジニア)との距離が近いため、活動に対するフィードバッ クを受けやすい ▌他チームの開発を⾼速化するための⽅法を学べる ▌カイゼン系タスクにたくさん取り掛かれる(無限にある︕) ⽣産性向上チームの話 25

Slide 26

Slide 26 text

⽣産性向上チームが気になった⼈向け情報 ▌⽣産性向上チームの紹介 n https://blog.cybozu.io/entry/2020/08/31/080000 ▌Cybozu Productivity Weekly n Twitter (#cybozu_productivity_weekly) n Zenn (https://zenn.dev/topics/productivityweekly) ▌絶賛メンバー募集中︕今年は初のインターンシップ開催予定︕ ⽣産性向上チームの話 26

Slide 27

Slide 27 text

まとめ ▌議論が活発で働きやすいような開発⽂化 👨💻 ▌⼊社後にじっくり配属チームを考えられる 🤔 ▌⽣産性向上チームはサイボウズエンジニアの⽣産性を上げたい 💪 ▌開発⽂化が⾃分に合ってそうだな〜と思った⼈、もっと話を聞いてみたい と思った⼈、応募お待ちしております︕︕︕︕︕ Weʼre hiring 🎉 27