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
個人から始める開発生産性向上
Search
Aki Takami
November 29, 2023
Programming
1
380
個人から始める開発生産性向上
Aki Takami
November 29, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.9k
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
AHC035解説
terryu16
0
710
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
CSC307 Lecture 11
javiergs
PRO
0
240
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
A better future with KSS
kneath
231
17k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Building Adaptive Systems
keathley
34
2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Side Projects
sachag
451
42k
Designing with Data
zakiwarfel
96
5k
Atom: Resistance is Futile
akmur
261
25k
How to Think Like a Performance Engineer
csswizardry
4
590
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Transcript
個⼈から始める開発⽣産性向上 サイボウズ株式会社 ⽣産性向上チーム ⾼⾒ 諒 1
⾃⼰紹介 ▌⾼⾒ 諒 / たかみ あき / たかみん ▌𝕏: @takamin_55
▌2023年4⽉ サイボウズ ⽣産性向上チームにジョイン n Fourkeys 計測&可視化基盤を開発中 ▌趣味 n グルメバーガー / ダーツ / チェス / 旅⾏ 2
開発⽣産性向上の取り組み、難しすぎ...︖ ▌開発⽣産性向上の取り組みは話の規模が⼤きい。難しそう n 開発フロー 変えてみた n チーム体制 変えてみた n デプロイ
⾃動化してみた ↓ ▌個⼈でできる開発⽣産性向上から1歩ずつ始めませんか︕という話 3
個⼈レベルの開発⽣産性 ▌SPACE フレームワーク n 満⾜感 n 効率性 n フロー(集中環境) ▌「良い環境」を作っていこう
n ⾯倒な作業をなくす n やりたいことが中断されない状況を作る 4
どうやって? 5 普段の業務で⾯倒な部分を⾒つけて改善していこう︕
6 …。
そんなことは分かっている ▌⾯倒な部分を改善するスタンスは正しい。できるなら良い ▌“⾯倒” ← 感覚主導 / 閃き依存 n 慣れて⾯倒だと感じない n
そもそも⾯倒の感度が低い(私) ▌⾯倒な部分を⾒つける具体的・再現性のある⼿法を考えてみた n ⾯倒感度もあがって次に繋がる 7
どうやって? 8 それは「区切る」こと︕ 区切って注⽬する領域を絞り、改善箇所を⾒つけやすくする 1. 区切る 2. 改善できそうな箇所を⾒つける 3. 改善する
1. 区切る ▌⾊々な観点で⾃分の普段の業務を区切り、中⾝を洗い出す n ツール/アプリで区切る n どんなツールやアプリを使って何をしている︖ n 時間で区切る n
◯時から✗時の間、何をしている︖ n タスクで区切る n 最近、どんなタスクをしている︖ 9
ツール/アプリで区切ってみた例 ▌Visual Studio Code o どんなことをしたか o コードを書く、ファイルを開く、検索&置換、⼀⾏削除... ▌Microsoft Edge
▌Linear ▌Confluence, Obsidian, Slack, Git, GitHub, AWS ▌... 10
時間で区切ってみた例 ▌14時から15時 o 週次のミーティング § Zoomに繋いで § アジェンダ通りに先週の進捗を振り返って § 全体計画を振り返って
§ 今週の⽬標を⽴てて § … 11
タスクで区切ってみた例 ▌パーサーの作成タスク o 機能の洗い出して o Linearでタスク管理して o APIの設計をして o GitHub上のPRでコードレビューをして
o Dockerイメージのビルド & プッシュ & デプロイをして o Terraformをapplyしてリソースを作成して o … 12
2. 改善できそうな箇所を⾒つける ▌「そういえば...」がおすすめキーワード o そういえば、コミットメッセージにIssue番号を書く作業が⼿間だなぁ o そういえば、Dockerのイメージビルド遅いなぁ o そういえば、毎回クリック操作で事を進めるのが⾯倒だなぁ 13
3. 改善する 事例1 ▌コミットメッセージの半⾃動化 o ⾯倒︓コミットメッセージに「Issue番号」を毎回書くのが⾯倒 o 改善︓Issue番号がある状態で書き始められるコマンドを作ってみた § "-e"
なし § "-e" あり 14
3. 改善する 事例2 ▌イメージビルドの⾃動化 & ⾼速化 o ⾯倒︓モブ中のビルド待ちの無⾔時間がもったいない o 改善︓イメージビルドを⾃動化し、その後キャッシュも⼊れ⾼速化した
§ GitHub Actions o docker/setup-buildx-action o docker/build-push-action 15
3. 改善する 事例3 ▌LinearのIssue(タスク)を開く o ⾯倒︓今やっているIssueを探して開くのが⾯倒 o 改善︓shell, Raycastなどから簡単に開けるようにした §
Issue番号からタスクを開く § ステータスが "Doing" のIssueを開く 16 開く
3. 改善する 事例4 ▌ウィンドウをいい感じに配置する o ⾯倒︓ブラウザやアプリのウィンドウを配置するのが⾯倒 o 改善︓Raycastのaliasを使って簡単に配置できるようにした 17
3. 改善する 事例5 ▌ショートカット / エイリアス / ホットキーで楽に作業する o ⾯倒︓マウス作業が挟まるのが⾯倒
o 改善︓よく⾏う操作はコマンドで完結するようにする § VSCode o `ctrl + cmd + →` で開いているファイルを右に画⾯分割する § git clone したリポジトリを⼀覧で出し、選択してそこへ移動する o alias cdrepo='cd $(ghq root)/$(ghq list | peco)' 18
⼩さな⽣産性向上でもOK ▌⼩さな⽣産性向上でも o 積み重なれば⼤きな改善になる o 改善による達成感 → 次の改善へと繋がる o 新しい技術に触れる機会になる可能性を秘めている
o 影響範囲を個⼈、⾃チーム、他チーム...と⼤きくしていく準備になる 19
まとめ ▌個⼈でできる開発⽣産性向上から1歩ずつ始めよう n ⼩さくてもOK。良いことたくさん ▌⾯倒な作業を効率化し、中断のない環境(フロー)を作ろう n SPACEフレームワークより ▌⾯倒な作業は「区切る」ことで⾒つけよう n 再現性アリ。⾯倒感度も上がるかも
20
おまけ ▌1. RescueTime n PCを監視して何に時間を使っているかを⾃動的に洗い出してくれる n 社内セキュリティと相談 ▌2. 新しいショートカットを覚える時は1⽇最⼤2個がおすすめ(体感) 21
引⽤ ▌The SPACE of Developer Productivity - ACM Queue 22