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
Healthy Code Collaboration
Search
Matthias Le Brun
March 30, 2022
Technology
0
290
Healthy Code Collaboration
Matthias Le Brun
March 30, 2022
Tweet
Share
More Decks by Matthias Le Brun
See All by Matthias Le Brun
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
110
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
120
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
290
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
420
La drôle d'histoire de JavaScript
bloodyowl
0
370
Simplify your UI management with (algebraic data) types
bloodyowl
0
810
Simplify your UI management with (algebraic data) types
bloodyowl
1
540
Migrating a large Reason+React codebase to hooks
bloodyowl
0
560
Third Party Hell (BestOfWeb)
bloodyowl
0
650
Other Decks in Technology
See All in Technology
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
220
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
170
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
1.9k
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
140
Liquid AI Hackathon Tokyo プレゼン資料
aratako
0
100
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
0
190
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
450
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
490
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
240
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
130
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
170
AI Agent Dojo #2 watsonx Orchestrateフローの作成
oniak3ibm
PRO
0
120
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
A designer walks into a library…
pauljervisheath
209
24k
Documentation Writing (for coders)
carmenintech
75
5.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Become a Pro
speakerdeck
PRO
29
5.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Automating Front-end Workflow
addyosmani
1371
200k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Side Projects
sachag
455
43k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
870
Transcript
Healthy code collaboration
Matthias Le Brun @bloodyowl → Co-lead front end developer at
swan.io → Paris.JS organizer → Putain de Code co-founder & host We're hiring!
Collective intelligence
Collaboration
Anxiety Context switching Collaboration is hard
Fatigue Anxiety Context switching Misunderstanding Anger Collaboration is hard
How do we make it healthy?
Make communication asynchronous → reduces stress
Use Pull Request tooling
Use Pull Request tooling Draft Open Don't bother reviewers if
not ready Notify when done
Use Pull Request tooling ! " Request All good Be
asynchronous When everything is good, let's go
Use Pull Request tooling Provide context
Context Why? How? What?
Use Pull Request tooling Provide details when complex
Provide context By commenting yourself on code that might raise
questions
Use Pull Request tooling Regularly check where you might
be asked something
Avoid bikeshedding → reduces fatigue
«Spazi o tabulazioni» Oil painting (est. 2012) Leonardo Da Vinci
Avoid bikeshedding Code aesthetics is not the point
Avoid nitpicking
nit: typo here If you want to: Don't 👏 block
👏 approval 👏 on 👏 nit
Scope your review Notice something about unrelated existing code ?
Create a new issue or a PR
Make everyone belong → reduces conflict
Use "we" pronouns Antagonizing doesn't lead anywhere
Use passive tone and speak for yourself
Use questions instead of directive sentences
"Change X please" → "Can we change X?" "You should
change this call" → "I think we should change this call" "Rename X to Y for readability" → "How about renaming X to Y? I feel that might be clearer" "Why did you use X?" → "Why is X used here? I thought it wasn't necessary"
Use emojis to convey a mood
Use emojis (but please ban 🙃 & 😉)
Don't use angry, agressive vocabulary and punctuation ?!!!
Use jokes only if not detrimental (when in doubt, don't)
Look for agreement «____, what do you think?» → better
collective understanding → invites the reviewee to provide their idea
Show appreciation «Wow, nice job! 😍»
Be constructive, don't be stubborn
Credit «Thanks to @a, @b & @c for their work!»
Be empathetic
github.com/bloodyowl/review-guidelines REVIEW_GUIDELINES.md It that sounds good to you: don't hesitate
Thank you 🙏 Inspirations https://mtlynch.io/human-code-reviews-1/ https://mtlynch.io/human-code-reviews-2/ Matthias Le Brun @bloodyowl
→ github.com/bloodyowl/review-guidelines