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
460
個人から始める開発生産性向上
Aki Takami
November 29, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
390
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
700
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
140
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
240
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
370
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
GraphQLとの向き合い方2022年版
quramy
48
14k
Navigating Team Friction
lara
187
15k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
4 Signs Your Business is Dying
shpigford
184
22k
Optimizing for Happiness
mojombo
379
70k
Designing for Performance
lara
609
69k
Building an army of robots
kneath
306
45k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Writing Fast Ruby
sferik
628
62k
Visualization
eitanlees
146
16k
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