Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Healthy Code Collaboration

Healthy Code Collaboration

Matthias Le Brun

March 30, 2022

More Decks by Matthias Le Brun

Other Decks in Technology


  1. Healthy code collaboration

  2. Matthias Le Brun @bloodyowl → Co-lead front end developer at

    swan.io → Paris.JS organizer → Putain de Code co-founder & host We're hiring!
  3. Collective intelligence

  4. Collaboration

  5. Anxiety Context switching Collaboration is hard

  6. Fatigue Anxiety Context switching Misunderstanding Anger Collaboration is hard

  7. How do we make it healthy?

  8. Make communication asynchronous → reduces stress

  9. Use Pull Request tooling

  10. Use Pull Request tooling Draft Open Don't bother reviewers if

    not ready Notify when done
  11. Use Pull Request tooling ! " Request All good Be

    asynchronous When everything is good, let's go
  12. Use Pull Request tooling Provide context

  13. Context Why? How? What?

  14. Use Pull Request tooling Provide details when complex

  15. Provide context By commenting yourself on code that might raise

  16. Use Pull Request tooling  Regularly check where you might

    be asked something
  17. Avoid bikeshedding → reduces fatigue

  18. «Spazi o tabulazioni» Oil painting (est. 2012) Leonardo Da Vinci

  19. Avoid bikeshedding Code aesthetics is not the point

  20. Avoid nitpicking

  21. nit: typo here If you want to: Don't 👏 block

    👏 approval 👏 on 👏 nit
  22. Scope your review Notice something about unrelated existing code ?

    Create a new issue or a PR
  23. Make everyone belong → reduces conflict

  24. Use "we" pronouns Antagonizing doesn't lead anywhere

  25. Use passive tone and speak for yourself

  26. Use questions instead of directive sentences

  27. "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"
  28. Use emojis to convey a mood

  29. Use emojis (but please ban 🙃 & 😉)

  30. Don't use angry, agressive vocabulary and punctuation ?!!!

  31. Use jokes only if not detrimental (when in doubt, don't)

  32. Look for agreement «____, what do you think?» → better

    collective understanding → invites the reviewee to provide their idea
  33. Show appreciation «Wow, nice job! 😍»

  34. Be constructive, don't be stubborn

  35. Credit «Thanks to @a, @b & @c for their work!»

  36. Be empathetic

  37. github.com/bloodyowl/review-guidelines REVIEW_GUIDELINES.md It that sounds good to you: don't hesitate

  38. 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