Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スタートアップチームで学んだエンジニアの心構え / The attitude of the engineer who learned from the start-up team
Search
mtskhs
January 31, 2020
Technology
1
1.6k
スタートアップチームで学んだエンジニアの心構え / The attitude of the engineer who learned from the start-up team
presentated at NTT Tech Conference #4
mtskhs
January 31, 2020
Tweet
Share
More Decks by mtskhs
See All by mtskhs
Cloud Firestore With Go
matsu0228
0
690
Goとの歩み / History with Go
matsu0228
0
97
ReactNativeにおけるパフォーマンスチューニング/ Performance tuning in ReactNative
matsu0228
2
1.2k
Goにおける API Client実装パターン / API Client implementation pattern in Go
matsu0228
7
6.9k
expo開発におけるCI/CD / CICD on development of expo
matsu0228
0
710
SpoLiveの爆速開発を支えるGAE/Goノウハウ / Practice of GAE&Go supporting SpoLive super fast development
matsu0228
1
200
Report of AgileTestingDays2018
matsu0228
0
430
OrganizationTheory of engineering
matsu0228
0
560
architecture of API server with golang
matsu0228
4
740
Other Decks in Technology
See All in Technology
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
10
2.1k
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
100
VS CodeでAWSを操作しよう
smt7174
1
110
AWS を使う上で知っておきたいオンプレミス知識/aws-on-premise-essentials
emiki
1
4.2k
TransitGatewayの基礎
toru_kubota
0
230
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
4
270
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
230
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
340
Oracle Cloud Infrastructure:2024年4月度サービス・アップデート
oracle4engineer
PRO
1
110
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
220
SREとその組織類型
tatsuo48
8
1.5k
Featured
See All Featured
Embracing the Ebb and Flow
colly
79
4.1k
Code Reviewing Like a Champion
maltzj
513
39k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Designing for humans not robots
tammielis
247
25k
Agile that works and the tools we love
rasmusluckow
324
20k
A Modern Web Designer's Workflow
chriscoyier
688
190k
The Invisible Side of Design
smashingmag
294
49k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
Building Effective Engineering Teams - LeadDev
addyosmani
27
1.8k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Transcript
スタートアップチームで学んだ エンジニアの心構え NTT Tech Conference #4 Hisayuki Matsuki Twitter: @mtskhs
about me • 松木久幸(@mtskhs) ◦ Backend Engineer / Gopher ◦
スポーツAI解説アプリ(SpoLive) ◦ GoにおけるAPI Client @Go Conference Autumn ▪ https://speakerdeck.com/matsu0228/api-client-implementation-pattern-in-go ◦ Agile (シリコンバレーで3ヶ月働いて体感した自立型組織のススメ) ▪ https://speakerdeck.com/matsu0228/organizationtheory-of-engineering 2
3
SpoLive ラグビー・サッカーの試合に対応中 4
Contents 自分が重要だと思う 心構え について • #1 共通認識 • #2 集中
• #3 楽しむこと 話さないこと • 技術的なトピック 5
#1 Common Ground 開発で一番難しいのは? 6
#1 Common Ground 開発で一番難しいのは? 何を作るか 決めること 7 詳細まで認識を合わせること • 背景・目的をメンバーが常に理解しておく
• どのような効果が見込めるか把握することで、実装コス トを踏まえた提案をできるようにしておく 正解は誰にも判断できない(常に変化が求められる) • 常にプロダクトのフィードバックを把握し、今後の改善を 回しやすくする手段を考える
#1 Common Ground 開発で一番難しいのは? 何を作るか 決めること 8 価値向上のために、時には「発散」が必要 • サービス価値のために良いものを作る
• 既存の仕様を捨ててでも価値を提供する • プロダクトチームに、これらの思考ができるメンバー(UXデ ザイナー 等)が必要だし、エンジニアが持っていると強い ◦ 会話をすることにより、その思考を学習する c.f. 書籍 正しいものを正しく作る
#2 Concentration • 限られたリソースでサービス改善・運用するためにはどうす ればよいか? ◦ 集中 ( = やらないことを決めること)
が重要 • 技術選定 ◦ できる限り、運用・監視が不要なように ◦ e.g. GAE / firebase + expo • 開発の進め方 ◦ セットアップなどは自動化して、ドキュメントよりも動く環 境を整える c.f. アジャイルマニュフェスト 9
#3 Enjoy • プレッシャーがキツイ・・ 前向きに変換するには? ◦ 仕事を 楽しむ こと! •
自分に限らずメンバーが主体的になるためにも ◦ c.f. エンジニアリング組織論への招待 承認欲求を満たす ことの大切さ • ドッグフーディングは当然に、フィードバックや周りの声を聞く ◦ フィードバックの仕組み化(アプリ内で評価を促す・分析基 盤の構築) c.f. スポーツ解説アプリ SpoLive における分析基盤の構築 https://qiita.com/mtskhs/items/ca10f926900303f09bf8 10
Summary • サービス価値向上のために、共通認識をもち自律的に動け る組織となることが大切 ◦ 決めるための、前提知識を共有しておく ◦ メンバーの成長のための会話。役割をオーバーラップで きると強い •
集中するために小さく保つ ◦ アーキテクチャ選定 • 楽しくやる ◦ ドッグフーディング・フィードバックを受ける・周りに発信し てみる ◦ 楽しさを見つける(スキル向上・対外発表) 11
参考書籍等 • 正しいものを正しく作る ◦ https://www.amazon.co.jp/dp/B07SGCH8R6 • エンジニアリング組織論への招待 ◦ https://www.amazon.co.jp/dp/B079TLW41L •
アジャイルマニュフェスト ◦ https://agilemanifesto.org/iso/ja/manifesto.html 12
参考書籍等 • 正しいものを正しく作る ◦ https://www.amazon.co.jp/dp/B07SGCH8R6 「6−2 視座、視野を越境する」 にて、 普段感じていたモヤモヤ(決めたどおりに作る ことは容易だが、それでよいのか)が言語化さ
れて腑に落ちました。 また、チーム内のUXデザイナーとの会話で今 までにない視点(現状仕様が〜だから、ではな くあるべき姿を考える)で考えることができまし た。 13
参考書籍等 • エンジニアリング組織論への招待 ◦ https://www.amazon.co.jp/dp/B079TLW41L 「2-3 心理的安全性の作り方」のアクノレッジメ ントとストーリーテリングの項目で、「承認」の大 切さが述べられている ある行動に対するフィードバック・承認により、
よいチームになっていくことができることを実感 している。 14
参考書籍等 • アジャイルマニュフェスト ◦ https://agilemanifesto.org/iso/ja/manifesto.html ドキュメントも大切だが、「動くソフトウェア」も大切とする考え 方。プロダクトは変化が大きいので変更されにくい「ドキュメント」 よりも「すぐ動かして確認できること」が大切だと感じる。 15