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

2019-01 開運ことはじめ/2019-01-orientation

A97eee01397705443a72a48ce29d3e19?s=47 Cybozu
May 27, 2019

2019-01 開運ことはじめ/2019-01-orientation

A97eee01397705443a72a48ce29d3e19?s=128

Cybozu

May 27, 2019
Tweet

Transcript

  1. 開発運用研修 2019 開運ことはじめ ymmt

  2. Who? ▌ymmt と呼んでください ▌2001 年入社 ⚫ 開発本部長, CTO, 運用本部長など歴任 ⚫

    今は Neco プロジェクトの責任者 ▌職種? ⚫ 名刺には Software Entropy Reducer ⚫ アーキテクト?プロジェクトマネージャ?執行役員? ⚫ この話題はあとで深堀します
  3. 本講義の内容と目的 ▌自社の製品・サービスの開発運用体制を知る ⚫ どのようなチームがあるか ⚫ チーム間の関係性 ▌職種とスキルについて知る ⚫ チーム=職種? (No!)

    ⚫ 職務・職種・職階 ⚫ キャリアとスキル開発
  4. 製品・サービスと体制今昔

  5. 製品とサービス as of 2019 ▌cybozu.com ⚫ Slash - 共通ユーザー管理 ⚫

    kintone + Office + メールワイズ + ガルーン ▌kintone.com ⚫ Slash + kintone ▌cybozu.cn ⚫ Slash + kintone + Garoon ▌オンプレミス ⚫ Office, メールワイズ, ガルーン ⚫ リモートサービス 少品種を多様に提供するビジネスモデル • 開発効率は良い?悪い? →再利用の点では良いが、制約が強い • 開発本部と運用本部で業務が分離 →オンプレミスから発展させたので そもそも運用本部がない体制だった
  6. Back to 2010…

  7. 製品とサービス as of 2010 ▌パッケージ製品 ⚫ Office, メールワイズ, ガルーン, デヂエ

    ▌サービス ⚫ リモートサービス ⚫ cybozu.net ⚫ サイボウズ Live ・開発本部しかなかった ・サービスは情シス?が運用していた →情シスは当時概念上の存在だった 情シスっぽいことをする人が運用も片手間にしていた Live / リモートの運用はそれぞれ一人が片手間運用
  8. 起きたことと、これから起きること 2011年 cybozu.com 開始 • 今では売り上げの大半を占めるクラウドサービス • 24/365 運用の業務が発生 2014年

    運用本部が発足 • サービス運用の職能を開発・成熟 • 情報システム部を正式に設立 2018年 Yakumo プロジェクト開始 • kintone.com を AWS に分離して開発・運用 • 開発・試験・運用をひとつのチームで 2019年 開発本部組織改革 • 部を解体して複数職能からなるチームに再編
  9. チームと役割 支援系チーム 流れ作業系チーム 自己完結系チーム プロダクト・サービスの開発 運用を間接的に支援 企画・開発・試験・運用を 流れ作業的に分担 企画・開発・試験・運用を チーム内で完結

    移行しつつある
  10. チームと役割 支援系チーム 流れ作業系チーム 自己完結系チーム 本部長s PSIRT TC デザイン OSS推進 コネクト

    支援 アジャイル コーチ WASABI コミュニケーション エンジニアリング フロントエンド エキスパート 生産性向上 組織運営 情シス Network アシスタント ラボ kintone Garoon かんたん系 Slash / CyDE-C Sales System モバイル リモート サービス KB2 Desktop 検証 テスト エンジニアリング SRE Yakumo Neco
  11. 自己完結型への変化の理由 ▌クラウドサービスの特性を活かすため ⚫ オンプレミスと違い、自社で更新できる ⚫ 極めれば、一日に何度も更新することも可能 ▌分業流れ作業は「鈍重」 ⚫ 企画→開発→試験→運用がそれぞれ別チームだった ⚫

    開発したものがすぐ出荷できない ⚫ 運用上の問題をすぐ直せない
  12. DevOps / マイクロサービス / (本来の) SRE ▌DevOps ⚫ 開発・試験・運用の一体化と自動化 ⚫

    継続的インテグレーション(CI) ⚫ 継続的デリバリー(CD) ▌マイクロサービス ⚫ 大きなプロダクトを分割して個別にリリース ▌(本来の)SRE ⚫ 日々の運用改善をお任せする支援サービス これらすべて、 高速なリリース サイクルのため!
  13. 要するに

  14. クラウドサービスの開発・運用に 最適化中なのです

  15. 企画・開発・試験・運用の仕事の 境目は曖昧化していきます 良い悪いではなく、そういう時代、 そういう業界にいるということです

  16. 職種とキャリア

  17. 職種と職階 ▌当社には以下のような職種がある、感じです ⚫ プログラマ, テストエンジニア, UI/UX エンジニア, スクラムマスタ, SRE, プロダクトマネージャ,

    … ▌当社には職階はありません ⚫ Junior, Senior, Principal, Fellowといった job title はない ▌職種は、実のところそれが必要と言って名乗ったらできる ものであって、会社が決めていたりはしません ⚫ 私は Software Entropy Reducer を名乗ってます ☺
  18. 職種や職階が会社で決まってないなら、 どうキャリアアップできるんだろう?

  19. そもそもキャリアとは? ▌デジタル大辞泉いわく 1 職業・技能上の経験。経歴。 「キャリアを積む」「キャリア不足」 ▌経験・経歴を「型にはめる」のが職種と職階 ⚫ 仕事のやり方が年々進化する業界で、 型にはめるのが良いことかどうか考えてみよう

  20. 職務 ▌良い経験を積みたい ⚫ 例:マネジメントしたい or 分散システムを設計したい ⚫ どうすればそういう仕事ができる? ▌考えられる手段 ⚫

    社内でその職務のポジションに応募する ⚫ 社外で同上=転職 or 複職 ⚫ 自分で提案してポジションを作る
  21. 社内でその職務のポジションに応募する ▌サイボウズでは異動希望は自由に出せます ⚫ マネジメントやりたければ組織運営チーム ⚫ Kubernetes 開発者になりたければ Neco チーム ▌体験入部という制度もあります

    ⚫ 数週間他のチームの業務を体験できる制度です ⚫ いきなり異動は不安な場合に活用できます
  22. 自分で提案してポジションを作る ▌やるべき仕事があると思うが、誰もやっていない場合 ⚫ 大阪拠点を作りたい, サービス運用技術者を育成したい, 製品のアクセシビリティを向上したい, チームにスクラムを導入したい ▌提案の大きさ(モノ・人・金)次第で難易度は変わります ⚫ 大きな提案には十分な信頼と覚悟が求められます

    ▌ポジションを自ら作れる人は高い評価を獲得しています ⚫ 実例多数:okady, ymmt, 小林大輔さん, 天野祐介さん, … ⚫ 安定を捨てて不安定を選べる人です
  23. スキル開発

  24. スキルを身に着けるにあたって ▌仕事に役立つスキルは無数にある ⚫ 英語, 経営戦略, プログラミング, 統計分析, … ▌例:Neco 開発チームの仕事をしたい

    ⚫ スキルチェックシートをみてみましょう
  25. None
  26. None
  27. None
  28. 真実:必要なスキルを挙げればきりがない ▌Neco の応募者が全部身に着けていることはない ▌入った人がまず全部勉強するということもない ▌必要に応じてひとつずつ学んでいくしかない ⚫ 山のふもとからいきなり頂上には登れないのです ⚫ 頂上のエンジニアもまた成長していたりします ⚫

    焦らず ☺
  29. 習うより慣れよ ▌git (Java, Go, …)のマニュアルを読んでいても それだけで使えるようにはなりません ▌まずは試しに以下を打ってみる git clone https://github.com/cybozu-go/sabakan

    cd sabakan git log ▌動かしながらわからないことを調べるのが効率的
  30. まとめ

  31. 以下の内容でお送りしました • クラウドサービスに最適化中 • 職種間の境目は曖昧化 開発本部・運用本部 の組織体制の変遷 • 決まった職種・職階はない •

    希望する仕事に応募してキャリアアップしよう 職種とキャリア • 習うより慣れよ • 焦らずひとつずつ スキル開発
  32. 以上

  33. 以降はおまけ

  34. メモ ▌スキルがあれば、職種なんて選び放題なんだぜ! ⚫ アーキテクトを名乗ったらアーキテクチャ設計ができるように なるわけじゃない。逆。 ⚫ スキルを伸ばしてできる仕事を増やせ ▌やりたい・やるべき・できる ⚫ 前二つより、まずは「できる」が増えないと選択肢がない

    ⚫ 「やるべき」はスキル次第で自分で増やせることもある ⚫ 関心外の仕事にも適性はあるかもよ ⚫やってみてからやりたいかやりたくないか判断しよう
  35. こんな商用ソフトウェアは困る ▌バグだらけでまともに利用できない ▌バージョンアップしたら動かなくなった ▌メモリや CPU を使いすぎる ▌自動アップデートでウィルスが混入 ▌ろくにドキュメントがない 企業で開発者が書くコードには一定の品質が必要

  36. アウトプット(成果とその宣伝)

  37. 失敗も重要な成果です ▌不具合を出したり、性能が出なかったり、セキュリティホール を作ったりすることがあるでしょう ▌あなたの失敗は、チームにとって重要な成果になりえます ⚫ 共有することで、チームの知見が増え成長できます ⚫ 世の中に共有すると感謝されるかもしれません 実際会社ブログで失敗系記事は人気があります ▌大事なことなので最初に書きました

  38. 成果物は共有資産 ▌会社で開発したものは、あなたのものではありません ▌チームで運用したり、利用したり、不具合を直したりします ▌開発中にレビューを受けましょう ⚫ 設計レビュー・実装レビューがどのチームにもあります ⚫ コーディング規約等しっかり守りましょう ▌完成したら利用者に説明しましょう

  39. 宣伝重要 ▌いいものを作っても、使われなければ意味はありません ▌サイボウズ社内でも、宣伝しなければ使ってもらえません! ⚫ Neco は四半期毎に成果報告会を社内で開催 ⚫ ブログやカンファレンス登壇も多数 ▌遠慮は禁物!!!

  40. 私のキャリア ▌大学院で分散処理を専攻 ▌2001年 中退してサイボウズ入社 ▌2005年 開発部長に就任 ▌2007年 開発本部長を辞めて社内ニート ▌2010年 cybozu.com

    の開発責任者 ▌2012年 平プログラマとしてインフラ開発 ▌2014年 運用本部を作って本部長に就任 ▌2018年 運用本部長を辞めて Neco プロジェクトの責任者
  41. スキルやキャリアは結果論 ▌なにをしてきたか、がキャリアになるのです ⚫ 決まった出世コースなんてありません ▌自分が幸せに生きる、を大事にね ⚫ 社内ニート怖いよ