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
350
0
Share
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
89
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
140
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
170
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
320
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
480
La drôle d'histoire de JavaScript
bloodyowl
0
390
Simplify your UI management with (algebraic data) types
bloodyowl
0
840
Simplify your UI management with (algebraic data) types
bloodyowl
1
560
Migrating a large Reason+React codebase to hooks
bloodyowl
0
590
Other Decks in Technology
See All in Technology
No Types Needed, Just Callable Method Check
dak2
1
2.2k
AI와 협업하는 조직으로의 여정
arawn
0
530
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
140
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
400
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
130
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
370
今年注目する!データ分析プラットフォームでのAIの活用
nayuts
0
170
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
270
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
1.2k
AI時代 に増える データ活用先
takahal
0
330
これからの「データマネジメント」の話をしよう
sansantech
PRO
0
160
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
330
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
210
The SEO Collaboration Effect
kristinabergwall1
1
430
KATA
mclloyd
PRO
35
15k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
We Have a Design System, Now What?
morganepeng
55
8.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
380
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
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