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

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

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

Cybozu
PRO

May 27, 2019
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

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

    View Slide

  2. Who?
    ▌ymmt と呼んでください
    ▌2001 年入社
    ⚫ 開発本部長, CTO, 運用本部長など歴任
    ⚫ 今は Neco プロジェクトの責任者
    ▌職種?
    ⚫ 名刺には Software Entropy Reducer
    ⚫ アーキテクト?プロジェクトマネージャ?執行役員?
    ⚫ この話題はあとで深堀します

    View Slide

  3. 本講義の内容と目的
    ▌自社の製品・サービスの開発運用体制を知る
    ⚫ どのようなチームがあるか
    ⚫ チーム間の関係性
    ▌職種とスキルについて知る
    ⚫ チーム=職種? (No!)
    ⚫ 職務・職種・職階
    ⚫ キャリアとスキル開発

    View Slide

  4. 製品・サービスと体制今昔

    View Slide

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

    View Slide

  6. Back to 2010…

    View Slide

  7. 製品とサービス as of 2010
    ▌パッケージ製品
    ⚫ Office, メールワイズ, ガルーン, デヂエ
    ▌サービス
    ⚫ リモートサービス
    ⚫ cybozu.net
    ⚫ サイボウズ Live
    ・開発本部しかなかった
    ・サービスは情シス?が運用していた
    →情シスは当時概念上の存在だった
    情シスっぽいことをする人が運用も片手間にしていた
    Live / リモートの運用はそれぞれ一人が片手間運用

    View Slide

  8. 起きたことと、これから起きること
    2011年 cybozu.com 開始
    • 今では売り上げの大半を占めるクラウドサービス
    • 24/365 運用の業務が発生
    2014年 運用本部が発足
    • サービス運用の職能を開発・成熟
    • 情報システム部を正式に設立
    2018年 Yakumo プロジェクト開始
    • kintone.com を AWS に分離して開発・運用
    • 開発・試験・運用をひとつのチームで
    2019年 開発本部組織改革
    • 部を解体して複数職能からなるチームに再編

    View Slide

  9. チームと役割
    支援系チーム
    流れ作業系チーム 自己完結系チーム
    プロダクト・サービスの開発
    運用を間接的に支援
    企画・開発・試験・運用を
    流れ作業的に分担
    企画・開発・試験・運用を
    チーム内で完結
    移行しつつある

    View Slide

  10. チームと役割
    支援系チーム
    流れ作業系チーム 自己完結系チーム
    本部長s PSIRT TC デザイン OSS推進
    コネクト
    支援
    アジャイル
    コーチ
    WASABI コミュニケーション
    エンジニアリング
    フロントエンド
    エキスパート
    生産性向上 組織運営
    情シス Network アシスタント ラボ
    kintone Garoon かんたん系
    Slash /
    CyDE-C
    Sales
    System
    モバイル
    リモート
    サービス
    KB2
    Desktop
    検証
    テスト
    エンジニアリング
    SRE
    Yakumo
    Neco

    View Slide

  11. 自己完結型への変化の理由
    ▌クラウドサービスの特性を活かすため
    ⚫ オンプレミスと違い、自社で更新できる
    ⚫ 極めれば、一日に何度も更新することも可能
    ▌分業流れ作業は「鈍重」
    ⚫ 企画→開発→試験→運用がそれぞれ別チームだった
    ⚫ 開発したものがすぐ出荷できない
    ⚫ 運用上の問題をすぐ直せない

    View Slide

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

    View Slide

  13. 要するに

    View Slide

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

    View Slide

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

    View Slide

  16. 職種とキャリア

    View Slide

  17. 職種と職階
    ▌当社には以下のような職種がある、感じです
    ⚫ プログラマ, テストエンジニア, UI/UX エンジニア,
    スクラムマスタ, SRE, プロダクトマネージャ, …
    ▌当社には職階はありません
    ⚫ Junior, Senior, Principal, Fellowといった job title はない
    ▌職種は、実のところそれが必要と言って名乗ったらできる
    ものであって、会社が決めていたりはしません
    ⚫ 私は Software Entropy Reducer を名乗ってます ☺

    View Slide

  18. 職種や職階が会社で決まってないなら、
    どうキャリアアップできるんだろう?

    View Slide

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

    View Slide

  20. 職務
    ▌良い経験を積みたい
    ⚫ 例:マネジメントしたい or 分散システムを設計したい
    ⚫ どうすればそういう仕事ができる?
    ▌考えられる手段
    ⚫ 社内でその職務のポジションに応募する
    ⚫ 社外で同上=転職 or 複職
    ⚫ 自分で提案してポジションを作る

    View Slide

  21. 社内でその職務のポジションに応募する
    ▌サイボウズでは異動希望は自由に出せます
    ⚫ マネジメントやりたければ組織運営チーム
    ⚫ Kubernetes 開発者になりたければ Neco チーム
    ▌体験入部という制度もあります
    ⚫ 数週間他のチームの業務を体験できる制度です
    ⚫ いきなり異動は不安な場合に活用できます

    View Slide

  22. 自分で提案してポジションを作る
    ▌やるべき仕事があると思うが、誰もやっていない場合
    ⚫ 大阪拠点を作りたい, サービス運用技術者を育成したい,
    製品のアクセシビリティを向上したい, チームにスクラムを導入したい
    ▌提案の大きさ(モノ・人・金)次第で難易度は変わります
    ⚫ 大きな提案には十分な信頼と覚悟が求められます
    ▌ポジションを自ら作れる人は高い評価を獲得しています
    ⚫ 実例多数:okady, ymmt, 小林大輔さん, 天野祐介さん, …
    ⚫ 安定を捨てて不安定を選べる人です

    View Slide

  23. スキル開発

    View Slide

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

    View Slide

  25. View Slide

  26. View Slide

  27. View Slide

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

    View Slide

  29. 習うより慣れよ
    ▌git (Java, Go, …)のマニュアルを読んでいても
    それだけで使えるようにはなりません
    ▌まずは試しに以下を打ってみる
    git clone https://github.com/cybozu-go/sabakan
    cd sabakan
    git log
    ▌動かしながらわからないことを調べるのが効率的

    View Slide

  30. まとめ

    View Slide

  31. 以下の内容でお送りしました
    • クラウドサービスに最適化中
    • 職種間の境目は曖昧化
    開発本部・運用本部
    の組織体制の変遷
    • 決まった職種・職階はない
    • 希望する仕事に応募してキャリアアップしよう
    職種とキャリア
    • 習うより慣れよ
    • 焦らずひとつずつ
    スキル開発

    View Slide

  32. 以上

    View Slide

  33. 以降はおまけ

    View Slide

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

    View Slide

  35. こんな商用ソフトウェアは困る
    ▌バグだらけでまともに利用できない
    ▌バージョンアップしたら動かなくなった
    ▌メモリや CPU を使いすぎる
    ▌自動アップデートでウィルスが混入
    ▌ろくにドキュメントがない
    企業で開発者が書くコードには一定の品質が必要

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. 私のキャリア
    ▌大学院で分散処理を専攻
    ▌2001年 中退してサイボウズ入社
    ▌2005年 開発部長に就任
    ▌2007年 開発本部長を辞めて社内ニート
    ▌2010年 cybozu.com の開発責任者
    ▌2012年 平プログラマとしてインフラ開発
    ▌2014年 運用本部を作って本部長に就任
    ▌2018年 運用本部長を辞めて Neco プロジェクトの責任者

    View Slide

  41. スキルやキャリアは結果論
    ▌なにをしてきたか、がキャリアになるのです
    ⚫ 決まった出世コースなんてありません
    ▌自分が幸せに生きる、を大事にね
    ⚫ 社内ニート怖いよ

    View Slide