Slide 1

Slide 1 text

CTOが語る、 事業のまんなかでエンジニアリングする キャリアの作り方 これからの未来をつくる学生エンジニアのみなさんに向けて 2022/10/14 技育祭 秋 CARTA HOLDINGS Inc. 株式会社CARTA HOLDINGS 執行役員CTO 鈴木 健太 (@suzu_v, すずけん)

Slide 2

Slide 2 text

CARTA HOLDINGS Inc. CARTAでは20を超える事業を200人弱のエンジニアと共に創っています。 3回のCTO経験と10年以上に渡る事業開発経験を交えつつ、どのように事業の コアとしてのテクノロジーに携わり、価値を届け続けながら事業と共に成長 していくかについてお話します。 概要より 事業づくりと、そこで必要なエンジニアリングについて、なるべくわかりやすく話していこうと 思います。どうぞよろしくおねがいします!

Slide 3

Slide 3 text

CARTA HOLDINGS Inc. 発表中のツイート、ぜひどうぞ! 感想・質問も気軽にお寄せください! スクリーンショット📷のツイートももちろんOKです。 ハッシュタグ #技育祭 #ホールC (時間があまれば)ツイートを拾いつつ、 Q&A時間をとるのでぜひ質問をなげてみてください! お知らせ💡 スライドはあとで公開するのでメモしなくて大丈夫です 📝👌

Slide 4

Slide 4 text

CARTA HOLDINGS Inc. 自己紹介 データエンジニアリング ウェブ技術が好きです 本も書きました(いずれも共著) 鈴木健太 すずけん 経歴 2011年 スタートアップでCTO 2012年 VOYAGE GROUP新卒入社 2019年 fluct(子会社) 取締役CTO 2022年〜 CARTA HD 執行役員CTO ポッドキャスト「 https://ajito.fm 」 得意なこと このへんにいます Twitter: @suzu_v

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

CARTA HOLDINGS Inc. わたしたちについて 株式会社電通 株式会社サイバー コミュニケーションズ 株式会社VOYAGE GROUP 株式会社CARTA HOLDINGS 2019年に経営統合 CARTA HOLDINGSはCCIとVOYAGE GROUPの二社の経営統 合によって設立されました 会社名 株式会社CARTA HOLDINGS 代表者 代表取締役会長:宇佐美 進典 代表取締役社長:新澤 明男 設立日 2019年(1996年設立のCCIと1999年設立の VOYAGEの経営統合によって設立) 従業員数 1,399名(2021年12月末現在) 資本金 1,410百万円(2021年12月時点) 主な拠点 東銀座オフィス・渋谷オフィス 6

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

CARTA HOLDINGS Inc. 創業から20年間以上、様々な事業に挑戦し続けることで成長してきました。 
 過去10年間でも、20以上の子会社を立ち上げ、100以上の事業やサービスに挑戦してきました。 
 
 
 
 事業開発について
 (売上推移)


Slide 9

Slide 9 text

CARTA HOLDINGS Inc. これまでのキャリア ● 2006年: 大学ではじめてプログラミング ● 2008年: バイト先でVBAつかってExcelをいい感じに自動化 ● 2010年: 研究室に所属。VOYAGE GROUPのインターンTreasureに行く。 ● 2011年: スタートアップを立ち上げる。CTO就任。 ● 2012年: 株式会社VOYAGE GROUP入社。fluctで新規サービス立ち上げ。 ● 2014年: データ解析チームをつくる。マネージャーをやる。 ● 2015年: やっぱりマネージャーやめてfluctでエンジニアに専念 ● 2017年: 結局またfluct開発チームのマネジメントをやりはじめる ● 2019年: 株式会社fluct 取締役CTO就任 ● 2022年: 株式会社CARTA HOLDINGS 執行役員CTO就任

Slide 10

Slide 10 text

CARTA HOLDINGS Inc. CTOが語る、これからのソフトウェアエンジニアに必要なことと鍛え方 / GEEK-SAI-2022-SPRING - Speaker Deck これまでの詳しいキャリアの流れは春のスライドをどうぞ

Slide 11

Slide 11 text

CARTA HOLDINGS Inc. アジェンダ - 事業のまんなかでエンジニアリングするキャリアの作り方 ● 1. 個人のスキルをどう伸ばすか ○ 個人のスキルを継続的に伸ばすコツ ● 2. チームで価値を届け続けるには ○ 事業、プロダクト、プロジェクト、機能 ○ フルサイクルエンジニアリング ● 3. 事業のまんなかでエンジニアリングする、とは ○ 高い成果を出すチームの特徴

Slide 12

Slide 12 text

1. 個人のスキルをどう伸ばす?

Slide 13

Slide 13 text

CARTA HOLDINGS Inc. 質問です ● みんなどうやって自分がつかっている技術(プログラミング言語、ツールなど)を選びまし たか? ● ぜひTwitterでおしえてください! #技育祭 #ホールC

Slide 14

Slide 14 text

CARTA HOLDINGS Inc. なんとなくよくありそうな技術習得観点 ● かっこいい ● なんとなくつかってみたい ● よくわからないけど面白そう ● ググったら一番上にでてきた ● 流行ってそう ● 儲かりそう ● バイト先で使ってたから ● 研究室の先輩が使ってたので真似した ● 学校の講義でさわることになった わかる。僕もそうでした。

Slide 15

Slide 15 text

CARTA HOLDINGS Inc. 例えば、カリキュラムを眺めてみる 情報科学科で学びコンピュータサイエンスを極める - 学科の教育メ ニュー - 東京大学 大学院理学系研究科・理学部

Slide 16

Slide 16 text

CARTA HOLDINGS Inc. 理想の知識習得経路どおりにはなかなかならない ● 技育シリーズしかり、まずはやってみる、つくってみる ○ 最初につくるものは「どこかでみたことがあるようなもの」になる ○ まずは真似るところから。作るのを楽しもう! ● 自分にとってはPHPでウェブアプリをつくるのがその始まりだった ○ きっかけ: 研究室の先輩が書いていた ● やってみて、わからなくなって、また調べて、やってみる 理想の知識習得経路 現実はいったりきたり寄り道したり・・ Depth-first search - Wikipedia より

Slide 17

Slide 17 text

CARTA HOLDINGS Inc. こういう不安ありませんか? ● この学び方のままでいいのかな・・? ● でも社会にでてからこの技術は通用するのかな? ● 仕事をやりはじめるといま学んでいる技術って無駄にならないのかな? ● とりあえず1人でつくる分にはなんとなく動かせるようになったけど、次どうすればいいのか な・・? ● そもそもプログラミングってもっとできる人がたくさんいるけど、自分がちょっとかけたと ころでやっていけるのかな・・? 僕も同じように、なんとなく不安でした。

Slide 18

Slide 18 text

CARTA HOLDINGS Inc. 初めてのプログラムを書いていた頃の問題 n番目の三角数を求めてください。 三角数 - Wikipedia より

Slide 19

Slide 19 text

CARTA HOLDINGS Inc. “ https://twitter.com/katzchang/status/1503243138013761538

Slide 20

Slide 20 text

CARTA HOLDINGS Inc. 授業のプログラムと、実世界のシステムはどうも遠そう 授業のプログラム 実世界のシステム ? そもそもどう作ったらいいかの想像すらつかない・・

Slide 21

Slide 21 text

CARTA HOLDINGS Inc. とはいえ、スキルを磨いていかないとつくれなさそう ● なのだけれど、手を動かしても、なにかすごく上達しているという感じはしない・・

Slide 22

Slide 22 text

CARTA HOLDINGS Inc. 意識的に、自分のコンフォートゾーンから飛び出していく 目的ある練習の4つのポイント ● はっきりと定義された具体的目標がある ● 集中して行う ● フィードバックが不可欠 ● コンフォートゾーンから飛び出すことが必要 “30年間同じ曲を同じやり方で繰り返し弾き続けてきたアマ チュアピアニストは、たしかに1万時間分の練習を積んだかも しれないが、30年前と比べてまったく上達していないはずだ” “

Slide 23

Slide 23 text

CARTA HOLDINGS Inc. コンフォートゾーンの少し外側へ ● 限界的練習 ○ 「何を知っているか」ではなく 「何ができるか」に重きを置く ● コンフォートゾーンでトレーニング をつづけていても上達しない ● 一方、あまりにも長時間負荷をかけ つづけると燃え尽きてしまい、学習 効果は低くなる ● コンフォートゾーンの「はるか上」 ではなく「少し外側」というスイー トスポット パニックゾーン コンフォート ゾーン ラーニングゾーン

Slide 24

Slide 24 text

CARTA HOLDINGS Inc. suzukenの実例: コンフォートゾーンを超える(2011年) https://speakerdeck.com/carta_engineering/geek-sai-2022-spring?slide=30

Slide 25

Slide 25 text

CARTA HOLDINGS Inc. suzukenの実例: コンフォートゾーンを超える(2011年) https://speakerdeck.com/carta_engineering/geek-sai-2022-spring?slide=31

Slide 26

Slide 26 text

CARTA HOLDINGS Inc. 再掲: 授業のプログラムと、実世界のシステムはどうも遠そう 授業のプログラム 実世界のシステム ? そもそもどう作ったらいいかの想像すらつかない・・

Slide 27

Slide 27 text

CARTA HOLDINGS Inc. 個人のスキル編まとめ: 1人でやれることは限界があるけど、スキルは大事 ● スキルが伸びれば、やれることも広がる ● 1人だけでやる面白さもあるが、やっぱりみんなでやったほうが面白いはず ○ 楽しいと続けられる ● 自分だけではできないことをチームで挑戦することで、コンフォートゾーンから抜け出す きっかけに ○ refs. 実世界の複雑さ ではどうやって実世界にでていこう?

Slide 28

Slide 28 text

2. チームで価値を届け続けるには 共に信頼し、共に創る

Slide 29

Slide 29 text

CARTA HOLDINGS Inc. はじめに: チームについて、2つの観点 ● よいチームを選ぶ ● よいチームにする 将来、みんなにぜひよいチームを作っていってほしいなーと思ってお話します その上で、どういうチームで働きたいか? どういうチームだったらエンジニアリングが活きるか? というのをぜひ考えてみてもらえるとうれしいです。

Slide 30

Slide 30 text

CARTA HOLDINGS Inc. チームで価値を「届け続ける」には コンテキスト: 自社で開発したプロダクトをどう続けていくか ざっくりいうと、 ● 使ってもらう必要がある ● (それなりに)もうかっている必要がある ● 開発もいい感じに続いている必要がある 結構むずかしい

Slide 31

Slide 31 text

CARTA HOLDINGS Inc. 創業から20年間以上、様々な事業に挑戦し続けることで成長してきました。 
 過去10年間でも、20以上の子会社を立ち上げ、100以上の事業やサービスに挑戦してきました。 
 
 
 
 事業開発について
 (売上推移)


Slide 32

Slide 32 text

CARTA HOLDINGS Inc. 当然うまくいかない事業もたくさんある ● これ以上やってもうまくいかなさそう ● たとえば ○ お客さんがつかない ○ ユーザがつかない ● なんで? ○ そもそも必要とされてない ○ 機能追加がおそい ○ 対応が遅い ○ 競合がすばらしい などなど、いろいろな事情がある。とはいえやってみないとわからないのも事実。 やってみることで、チーム・組織に経験が蓄積され、成功確度があがる(はず)

Slide 33

Slide 33 text

CARTA HOLDINGS Inc. ソフトウェアと経済性: たくさん使われるコードを書く 広告システムだと1回書いたコードが 毎日数億回利用されたりする きっと今日も誰かが自分の書いたコー ドを通り抜けていく たくさん使われるコードは必然的にお 金が集まり、人が集まり、コードベー スが磨かれていく 使われないコードは放置されていく 利用される プロダクト 質への投資 お金 経済合理性と コードメンテナンス 使われるプロダクト には、投資する理由 が生まれる 利用されない ☠ 放置

Slide 34

Slide 34 text

CARTA HOLDINGS Inc. 「ソフトウェアエンジニアリング」と「プログラミング」の違い プログラミングとソフトウェアエンジニアリングの決定的な違いは3 つある。 時間、スケール、そして作用しているトレードオフだ。ソフトウェ アエンジニアリングのプロジェクトにおいてエンジニアは、時間の 経過と、結果的に出てくる変更の必要性に、より配慮しなければな らない。ソフトウェアエンジニアリング組織内では、生産するソフ トウェアと、ソフトウェアを生産する組織、それら両方のスケール と効率に関してより配慮しなければならない。最後に、ソフトウェ アエンジニアとして我々は、時間と発展に対する不正確な見積もり に多くの場合基づき、比較的大きな利害の関係する結果を伴う、よ り複雑な決定の実行を求められる。 “

Slide 35

Slide 35 text

CARTA HOLDINGS Inc. 質問です ● これからあたるプロダクトは?アイディアある?

Slide 36

Slide 36 text

CARTA HOLDINGS Inc. アイディアの価値 あなたのアイディアにはそんなに価値が あるだろうか。売ってどれだけの儲けに なるか試してみることだ。たぶん、そん なに儲けはないだろう。作り始めるまで あなたのすばらしいアイディアはアイ ディアにすぎない。それはみんな持って いるものだ。 ジェイソン フリード,デイヴィッド ハイネマイヤー ハンソ ン. 小さなチーム、大きな仕事 働き方の新しいスタン ダード (Japanese Edition) (Kindle の位置No.291-293). Kindle 版.

Slide 37

Slide 37 text

CARTA HOLDINGS Inc. 思考実験: じゃあアイディアがあるとして、どうプロダクトにしよう? 例: ラーメン配送アプリ🍜 コンセプト: “日本初、お店で食べられるクオリティのラーメンがアプリで注文できます” ● つくってまず売ってみればよい? ● ラーメンの調達どうする?ラーメン屋と提携してくる? ● 専用のキッチンつくって配送用にしたほうがいいんじゃない? ● 知り合い何人かにインタビューして使ってみたい?ってきいてみる? ● ラーメンって味も種類もいろいろあるしどういうUIつくればいいんだろ? ● 配送ってどうやる?バイト雇う?給料はどうやって計算する? ● そもそもラーメンってどうやって運ぶの? ● てかなんでラーメンだけが対象なの?そもそものびない? ● そもそも儲かるんだっけ?かかるコストって何がある? ● お店側って注文入ったらどうやって気付くの?タブレット置く?場所ある? ● 対象ユーザってだれなの?ウェブもやるの? ● 電話で出前とればよくない? 事業をつくろうと思うと、いろいろ 疑問が出てくる

Slide 38

Slide 38 text

CARTA HOLDINGS Inc. プロダクトとは?(あるいは事業とは?) ● 事業も「広義のプロダクト」 ● プロジェクトの繰り返しによって、プロダクトをアップデートし つづける ● プロダクトに終わりはない 最も魅力的な職業「プロダクトマネージャー」の役割とは? 重要性が増すプロダクト作りに必要な仕事を解説 より引用

Slide 39

Slide 39 text

CARTA HOLDINGS Inc. 価値を届け「続ける」は大変: 環境は変化する ざっと10年くらいを振り返ってみても・・ ● デバイス ○ スマホがやたら速い ○ スマホのカメラがやたらすごい ● 回線 ○ LTEがきたりとか ● 開発 ○ DockerもVSCodeもAWS Lambdaもなかった ● 競合 ○ 突然海外のいけてるサービスがやってくる という変化をうける。 ユーザの「当たり前」もかわる。 危機でもあり、チャンスでもある。

Slide 40

Slide 40 text

CARTA HOLDINGS Inc. じゃあどうすれば、変化に気づき、変えられるチームでありうるか? ● 気付く力 ● 聞く力 ● 学ぶ力 「自分がつくったもの」が「どう使われているか」「役立っているか」を確認するというのは、も のづくりにとってとても大切なフィードバック。 じゃあどうやってチームのなかの個人がフィードバックを効果的に受け、状況判断の質を上げられ るようになるだろう?

Slide 41

Slide 41 text

CARTA HOLDINGS Inc. フルサイクル開発者 出典:https://techblog.cartaholdings.co.jp/entry/2019/02/04/171325 "開発したものが運用する" “責任を外部化するのではなく開発チームに与え ることで、ダイレクトなフィードバックループ と共通のインセンティブを持つことができる” “各開発チームは開発上の課題、パフォーマンス のバグ、キャパシティープランニング、アラー トの欠如、パートナーサポートといったものを 受け持っている” “アラート対応の自動化やパートナー向けのセル フサービスツールの開発は、ビジネス上の要望 と同じレベルで優先順位付けされる必要があ る。十分な人員と優先順位付けとパートナー シップによって、チームは自分のビルドしたも のを運用することができる。”

Slide 42

Slide 42 text

CARTA HOLDINGS Inc. 事業をエンジニアリングする技術者たち “「ビジネスアイディアからお客さんに届くまで」を1 つのサ イクルとみて、それをすべて一人の技術者でもやれるように しよう、というのがフルサイクル開発者のイメージ” “フルサイクル開発者の仕事はコードを書くことだけでな く、ビジネス” “フルサイクルでは、全部を作れる必要はないけれど、その 代わりビジネス的な要件を整理するところからできる必要が ある” (第2章 Zucks - フルサイクル開発者の文化 より)

Slide 43

Slide 43 text

CARTA HOLDINGS Inc. 再掲: プロダクトとは?(あるいは事業とは?) ● 事業も「広義のプロダクト」 ● プロジェクトの繰り返しによって、プロダクトをアップデートし つづける ● プロダクトに終わりはない 最も魅力的な職業「プロダクトマネージャー」の役割とは? 重要性が増すプロダクト作りに必要な仕事を解説 より引用

Slide 44

Slide 44 text

CARTA HOLDINGS Inc. 事業をつくる力を伸ばすには?: 繰り返しの価値 ● フィードバックが重要 ○ つくる、リリース、つかってもらう、観察する、なおす、またつくる・・ ● 全部考えてからつくる、じゃなくてやってみて学ぶ ○ リリースしてみないと役立つかわからない ○ 理論的に正しいことの証明よりも、まずは「やってみよう」のスイッチをいれる ● サイクルを回すことで学ぶ力が伸びていく ○ やっていくと「ああこれはこういうことか」がわかってくる ○ 「正しいコード」より「次のチャレンジのし易い見通しのよいコード」が役に立つ つくる リリース つかってもらう もっとこうしたら?

Slide 45

Slide 45 text

CARTA HOLDINGS Inc. 意思決定と行動に関する理論: OODAループ OODAループ - Wikipedia

Slide 46

Slide 46 text

CARTA HOLDINGS Inc. OODAにおけるエンジニアリングの価値 ● 観察(Observe)にエンジニアリングの知見が生きる ○ 「何が起きているのか?」を理解するのに原理を理解することは役立つ ○ エンジニアを信頼することは個人のObserveへの信頼である ● 状況判断(Orient)の質をあげる ○ データを集め、観察力をあげる(Observabilityの向上) ○ これまでの経験と、集めたデータを分析して考える ○ 「どう感じたか」もOrientの質をあげるのに必要 ● 意思決定(Decide)を重ねる ○ Observeに戻っても(Feedback)良いしActしてもよい。 ○ 戻るリスクを最小限にするのもエンジニアリングのポイント ● OODAループのテンポをあげる ○ 例えばCI/CDの高速化への投資は行動(Act)を加速させる ○ Actしてからすぐ気付ける(Feedback)ようにする ○ つまり、発見の加速 ● ObserveからActへのパスをチームにつくる ○ 毎回意思決定じゃなく、「これはやるよね」をすぐできるように ○ チーム全員がこのパスをこなせるのがある状態においては理想的 ● 最終的には意思決定が正確で、かつ速い状態をつくる

Slide 47

Slide 47 text

CARTA HOLDINGS Inc. ではどうすれば「繰り返しの価値」を得られるチームにできる? ● 信頼をベースにしたチームであること ● 人と人の間で知識がどんどん伝搬していく ● 「まかせる」「やらせてみる」 そもそもフルサイクル開発者、というのも開発者を信頼していないとできない みんなに期待し、信頼し、任せ、経験してもらう。 チームメンバーを頼り、わからないことを さらけ出し、相談する。 個人もチームも成長 する。

Slide 48

Slide 48 text

CARTA HOLDINGS Inc. Westrum の組織類型 Westrum organizational culture | DevOps capabilities | Google Cloud ● 創造的な組織「みんなでやってみよう 」「まずはやってみよう」 ● 官僚的な組織「それはあなたの責任」「その試み、失敗したらどうするの?」

Slide 49

Slide 49 text

49

Slide 50

Slide 50 text

3. 事業のまんなかで エンジニアリングする、とは まとめ

Slide 51

Slide 51 text

CARTA HOLDINGS Inc. 前提: テクノロジーは事業の競争力そのもの ● Why Software is Eating the World (2011) ● 事業にソフトウェアの強みを組み込むことが生命線 ○ 競合もそうやっている ● じゃあどうやって事業にソフトウェアを組み込めば良い?

Slide 52

Slide 52 text

CARTA HOLDINGS Inc. 事業の「まんなかで」エンジニアリングするキャリアとは ● 事業の成功のために、自らが学ぶサイクルに身を置き、チームで動く ○ プロダクトの成功が事業の成功になっている ○ プロダクトの成功のためには、技術もビジネスもユーザも全部高いレベルで成り立って いないといけない ● 技術から目を背けず、技術以外からも目を背けない ○ 「うまくいく」ためにやれることをやる ○ プロダクトチームはワンチーム ● 背けないからこそ、何を学べばいいかが見えてくる(本質を考える) ○ なぜ機能開発が早いほうがよいのか ○ なぜ継続的な学びが必要なのか ○ なぜ高いアウトプットを出すチームは大事なのか ● なぜがわかり、深く納得すれば、自然と体は動く ○ 調べる、聴く、実践する ○ 方法論はどこにでも落ちている ○ 都度「なぜ」を考え、自分の言葉に落とし、実践する

Slide 53

Slide 53 text

CARTA HOLDINGS Inc. 事業で課題に出会い、スキルを伸ばし、また解いていく 解決する力 問題に会う力 おもしろい問題を 見つける できる範囲が 広がる 新たについた力をつかって、 また新しい問題と出会う。 コンフォートゾーンを超えて やってみる。

Slide 54

Slide 54 text

CARTA HOLDINGS Inc. 経験を加速させるチームへ 出典:https://techblog.cartaholdings.co.jp/entry/2019/02/04/171325 1人ひとりがプロダクトに対しオーナーシップを持ち、 アイデアが生まれ顧客に価値を届けるまでのサイクルを担当 54

Slide 55

Slide 55 text

CARTA HOLDINGS Inc. まとめ: 事業のまんなかでエンジニアリングするキャリアの作り方 ● 個人のスキルはコンフォートゾーンを少し超えたところで伸びる ● 事業のまんなかで、改善のサイクルに身をおき、外部からのフィードバックを得て学ぶ ● プロダクトに終わりはなく、価値を提供し続けるために改善し続ける必要がある ● 「繰り返しの価値」は信頼をベースにしたチームでより大きくなる ● 信頼をベースとしたチームで、個人もチームも育つ 将来、信頼し合ったチームをつくれるようになってください。 そしてたくさんのエンジニアリングをして、リリースをして、そこから学び取ってください。 日本に信頼し合う素敵なチームがたくさん生まれることを願っています!