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
360
Simplify your UI management with (algebraic data) types
bloodyowl
0
810
Simplify your UI management with (algebraic data) types
bloodyowl
1
530
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
「Verify with Wallet API」を アプリに導入するために
hinakko
1
260
PLaMoの事後学習を支える技術 / PFN LLMセミナー
pfn
PRO
9
4k
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
120
社内お問い合わせBotの仕組みと学び
nish01
1
520
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
0
110
from Sakichi Toyoda to Agile
kawaguti
PRO
1
100
KMP の Swift export
kokihirokawa
0
350
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
340
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
360
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
5
3.5k
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
2
210
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Faster Mobile Websites
deanohume
310
31k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Cult of Friendly URLs
andyhume
79
6.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Done Done
chrislema
185
16k
Code Reviewing Like a Champion
maltzj
525
40k
Music & Morning Musume
bryan
46
6.8k
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