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
okuzawats
November 29, 2023
Programming
0
380
「勉強になった」で終わらせない、ストロングスタイルの勉強会
社内勉強会のノウハウ、公開しちゃいます!LT会
https://yumenosora.connpass.com/event/300021/
での発表資料です。
okuzawats
November 29, 2023
Tweet
Share
More Decks by okuzawats
See All by okuzawats
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
360
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
300
カンファレンス参加をいかに正当化するか
okuzawats
0
270
10年モノのAndroidアプリのコード品質を改善していく、3つの取り組み
okuzawats
0
1.3k
Androidアプリ開発におけるSonarCloudの活用
okuzawats
0
1.1k
何故、UseCaseは1メソッドなのか
okuzawats
3
1.9k
例外を投げるな、値を返せ
okuzawats
9
8k
GitHub ActionsでAndroidアプリのテストを回しまくってたら全プロジェクトのCI/CDが完全停止する寸前だった件
okuzawats
0
580
Kotlinのifを愛でる
okuzawats
0
600
Other Decks in Programming
See All in Programming
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
690
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
140
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
570
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
410
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
780
A comprehensive view of refactoring
marabesi
0
520
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
120
WindowInsetsだってテストしたい
ryunen344
1
170
無関心の谷
kanayannet
0
170
Benchmark
sysong
0
190
GoのGenericsによるslice操作との付き合い方
syumai
2
620
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.4k
Building an army of robots
kneath
306
45k
Code Reviewing Like a Champion
maltzj
524
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Done Done
chrislema
184
16k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Facilitating Awesome Meetings
lara
54
6.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
「勉強になった」で終わらせない、ストロングスタイルの勉強会 社内勉強会のノウハウ、公開しちゃいます!LT会(2023/11/29) 奥澤 俊樹@Chatwork株式会社
自己紹介 • 奥澤 俊樹(@okuzawats) • Chatwork株式会社 ◦ 2022/09〜 • Androidアプリエンジニア
◦ モバイルアプリケーションアーキテクト ◦ Chatwork Android版アプリのアーキテクチャの改善と技術負債解消に取り組んでいます。
社内勉強会を開催した背景
何の勉強会を開催したか? 概要 「コードの読みやすさ」について学ぶ勉強会 目的 Chatwork Android版アプリは、10年を超える歴史のあるコードベースに、様々なバックグラウンドのメンバーがコミットしている中で、「コードの読みやすさ」について共通認識を育むことが今後の開発生産性の維持・向上につながると考えたため 対象 モバイルアプリ開発(特にAndroid)に関わるエンジニア(任意参加)
勉強会のきっかけ
勉強会のきっかけ
勉強会のきっかけ Chatwork Androidのリポジトリには生粋のAndroidアプリエンジニアもコミットするし、それ以外の多種多様なバックグラウンドを持ったエンジニアもコミットする。 各チーム・各人が好きなようにコードを書いてしまうと、特に他チームが書いたコードを読むための時間が増えていき、開発速度が低下していく懸念がある。 そのため、「コードの読みやすさ」についての認識を揃えた上で、コードベースの読みやすさを改善していきたい。
ここまでのまとめ コードの読みやすさに関する課題を解決し、開発速度を維持・向上していくため、「コードの読みやすさ」に関する勉強会を開催した。
社内勉強会で何をやったのか
勉強会の内容 「読みやすいコードのガイドライン」の著者・石川宗寿さんをお招きして、コードの読みやすさについての勉強会を開催しました - Chatwork Creator's Note https://creators-note.chatwork.com/entry/code-readability
勉強会の内容 石川宗寿, (2022), “読みやすいコードのガイドライン 持続的なソフトウェア開発のために”, 技術評論社
社内勉強会のスケジュール
勉強会のスケジュール - 1週間に1回 - 全4回 - 1回あたり2時間 - なるべく多くのメンバーが参加できるように配慮した結果、17:00〜19:00に開催した。 -
合計8時間
勉強会のスケジュール 前日まで 特に準備は必要なし。勉強会の中で考える時間を設けたいため。 当日 Miroを使ってリアルタイムで感想・質問を共有。 翌日 学んだこと、実践したいこと(アクション)を各自書き出して、共有。
None
None
None
勉強会開催後のふりかえり 終了後 参加者を集めて、ふりかえり。1回目〜4回目の勉強会開催後に書いた「学んだこと、実践したいこと」を思い出しながら、各自が実践していきたいことを共有する。
None
None
None
ふりかえり 1回1回の勉強会、勉強会全体でふりかえり、理解の促進と記憶の定着を図っている。 同様に、アクションの抽出も1回1回の勉強会と勉強会全体でそれぞれ行い、実践につながるようにしている。 「勉強になった」で終わらせず、組織の目標達成に繋がって、はじめてゴール。
今後の展望 実践から得られる知見を持ち寄ったり、新メンバー加入を経たりし ながら、同じテーマで勉強会自体もイテレーションしていけるとよ り実践的になると思ってます(まだ思ってるだけ)。
勉強会をやった結果
勉強会をやった結果 - コードレビューやペアプロの時に、「読みやすさ」の観点からのフィードバックが増えた(ような気がする)。自分がコードレビューする時も「読みやすさ」の観点 からレビューコメントを入れやすくなった。 - スタイルガイドの整備が重要という認識が得られ、「スタイルガイドの整備」というアクションを抽出した(WIP)。 - 大きなPull Requestがレビュー精度に与える影響を認識し、PRのサイズに気を配る用になった。Big PRには警告を出すようにした。
まとめ
まとめ - Chatwork Android版アプリに関わるチーム・メンバーが増えていく中で、開発生産性を維持・向上していくために「コードの読みやすさ」が課題になると感じ、勉 強会を開催した。 - 1回ごとに学んだことをふりかえり、記憶の定着と、アクションの抽出を図った。 - 全4回の勉強会終了後に勉強会全体をふりかえり、さらなる記憶の定着と、個人・チームのアクションの抽出を図った。 -
「勉強になった」で終わらせず、組織の目標達成につなげるような勉強会の設計を意識した。 - 勉強会もイテレーションしていきたい(今後の展望)。 - We Are Hiring! カジュアル面談で待ってます!
参考文献 - 「読みやすいコードのガイドライン」の著者・石川宗寿さんをお招きして、コードの読みやすさについての勉強会を開催しました - Chatwork Creator's Note, https://creators-note.chatwork.com/entry/code-readability (最終アクセス日:2023/11/07) -
石川宗寿, (2022), “読みやすいコードのガイドライン 持続的なソフトウェア開発のために”, 技術評論社