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
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Healthy Code Collaboration
Matthias Le Brun
March 30, 2022
More Decks by Matthias Le Brun
See All by Matthias Le Brun
GraphQL, Pothos & SQLite: a perfect match
bloodyowl
0
120
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
160
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
190
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
340
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
520
La drôle d'histoire de JavaScript
bloodyowl
0
410
Simplify your UI management with (algebraic data) types
bloodyowl
0
860
Simplify your UI management with (algebraic data) types
bloodyowl
1
590
Migrating a large Reason+React codebase to hooks
bloodyowl
0
620
Other Decks in Technology
See All in Technology
JavaScript 研修 (2026)
recruitengineers
PRO
2
530
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
550
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
150
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.2k
ブラウザ研修 2026
recruitengineers
PRO
6
970
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
400
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
230
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.2k
SmartHR Engineering Team Deck
smarthr
1
2.1k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Optimizing for Happiness
mojombo
378
71k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
410
Producing Creativity
orderedlist
PRO
348
40k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
560
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Why Our Code Smells
bkeepers
PRO
340
58k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Fireside Chat
paigeccino
42
4k
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