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
330
Healthy Code Collaboration
Matthias Le Brun
March 30, 2022
Tweet
Share
More Decks by Matthias Le Brun
See All by Matthias Le Brun
GraphQL, Pothos & SQLite: a perfect match
bloodyowl
0
66
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
120
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
150
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
300
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
450
La drôle d'histoire de JavaScript
bloodyowl
0
380
Simplify your UI management with (algebraic data) types
bloodyowl
0
830
Simplify your UI management with (algebraic data) types
bloodyowl
1
550
Migrating a large Reason+React codebase to hooks
bloodyowl
0
580
Other Decks in Technology
See All in Technology
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
400
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
120
みんなだいすきALB、NLBの 仕組みから最新機能まで総おさらい / Mastering ALB & NLB: Internal Mechanics and Latest Innovations
kaminashi
0
200
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
41k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
140
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
480
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
110
エンジニアとマネジメントの距離/Engineering and Management
ikuodanaka
3
700
20260129_CB_Kansai
takuyay0ne
1
260
MySQLのJSON機能の活用術
ikomachi226
0
130
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
890
AWS Devops Agent ~ 自動調査とSlack統合をやってみた! ~
kubomasataka
3
320
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
46
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Docker and Python
trallard
47
3.7k
Exploring anti-patterns in Rails
aemeredith
2
240
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
420
Writing Fast Ruby
sferik
630
62k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
230
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
52
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