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

Comment with Compassion: Empathy, Open Source & a Better World

Comment with Compassion: Empathy, Open Source & a Better World

by Rebecca Miller-Webster @rmillerwebster
and Tanner Welsh @tannerwelsh

Dev Bootcamp - 9 week intensive coding school
Make beautiful, meaningful things
NYC, Chicago, SF
@devbootcamp
devbootcamp.com

A9a491b0fcbe0fbce3d64063a37add99?s=128

Rebecca Miller-Webster

January 18, 2014
Tweet

Transcript

  1. Comment with Compassion: Empathy, Open Source & a Better World

    Rebecca Miller-Webster @rmillerwebster rebecca@devbootcamp.com Tanner Welsh @tannerwelsh tanner@devbootcamp.com
  2. Why are you here today?

  3. Everybody can be great...because anybody can serve. You don't have

    to have a college degree to serve. You don't have to make your subject and verb agree to serve. You only need a heart full of grace. A soul generated by love.
  4. Open Source • New solutions & perspectives • Sharing, collaboration,

    & peer review • Exponential impact - multiplies knowledge, effort, inspiration & creativity
  5. Not just writing code Building Community Growing Developers

  6. Issues with Open Source

  7. 1. No greater service to non-tech Issues with Open Source

  8. 1. No greater service to non-tech 2. Low participation by

    minorities & women Issues with Open Source
  9. 1. No greater service to non-tech 2. Low participation by

    minorities & women 3. Assholes Issues with Open Source
  10. 1. No greater service to non-tech 2. Low participation by

    minorities & women 3. Assholes • Abrasive emails, flamewars, RTFM, etc Issues with Open Source
  11. 1. No greater service to non-tech 2. Low participation by

    minorities & women 3. Assholes • Abrasive emails, flamewars, RTFM, etc • Low documentation & user engagement Issues with Open Source
  12. People fail to get along because they fear each other;

    they fear each other because they don't know each other; they don't know each other because they have not communicated with each other.
  13. The difference between a tolerable programmer and a great programmer

    is not how many programming languages they know, and it’s not whether they prefer Python or Java. It’s whether they can communicate their ideas... By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code. - Joel Spolsky
  14. Empathetic Open Source • Welcoming to new contributors • Respectful

    communication • Mentorship • Open Discourse
  15. We can m a k e o p e n

    source better! An individual has not started living until he can rise above the narrow confines of his individualistic concerns to the broader concerns of all humanity.
  16. Feedback

  17. Feedback

  18. • Commit messages Feedback

  19. • Commit messages • Pull request comments Feedback

  20. • Commit messages • Pull request comments • README Feedback

  21. • Commit messages • Pull request comments • README •

    Requests/response for help Feedback
  22. • Commit messages • Pull request comments • README •

    Requests/response for help • Code Styleguides Feedback
  23. • Commit messages • Pull request comments • README •

    Requests/response for help • Code Styleguides • Chat in IRC Feedback
  24. • Commit messages • Pull request comments • README •

    Requests/response for help • Code Styleguides • Chat in IRC • Tests Feedback
  25. Feedback works! Rigorous inspections can remove up to 90% of

    errors from a software product before the first test case is run. Robert Glass Facts and Fallacies of Software Engineering Defect detection rates: unit testing: 25% integration testing: 45% design review: 55% code review: 60% Steve McConnell Code Complete
  26. Feedback makes us better

  27. • Code Quality Feedback makes us better

  28. • Code Quality • Knowledge Sharing Feedback makes us better

  29. • Code Quality • Knowledge Sharing • Teaching/Mentoring Feedback makes

    us better
  30. • Code Quality • Knowledge Sharing • Teaching/Mentoring • Team

    Velocity Feedback makes us better
  31. • Code Quality • Knowledge Sharing • Teaching/Mentoring • Team

    Velocity • Collective Ownership Feedback makes us better
  32. Most software projects fail because of human error. Emotional Intelligence

    Engineering Empathy at Dev Bootcamp
  33. Core of Engineering Empathy ✦Awareness ✦Empathy ✦Intuition

  34. Core of Engineering Empathy Pay Attention ✦Awareness ✦Empathy ✦Intuition Your

    emotions & physical body
  35. Core of Engineering Empathy Pay Attention ✦Awareness ✦Empathy ✦Intuition Emotions

    in others
  36. Core of Engineering Empathy Pay Attention ✦Awareness ✦Empathy ✦Intuition Your

    body’s warnings
  37. It really boils down to this: that all life is

    interrelated. We are all caught in an inescapable network of mutuality, tied into a single garment of destiny. Whatever affects one destiny, affects all indirectly.
  38. Success! Empathy Leadership Community

  39. We must remember that intelligence is not enough. Intelligence plus

    character-that is the goal of true education. The complete education gives one not only power of concentration, but worthy objectives upon which to concentrate.
  40. Successful Leadership

  41. ★ Inspiration Successful Leadership

  42. ★ Inspiration ★ Empowerment Successful Leadership

  43. ★ Inspiration ★ Empowerment ★ Compassion Successful Leadership

  44. Power without love is reckless and abusive, and love without

    power is sentimental and anemic. Power at its best is love implementing the demands of justice, and justice at its best is power correcting everything that stands against love.
  45. Leadership happens ...

  46. • IRC Leadership happens ...

  47. • IRC • Pull Request comments Leadership happens ...

  48. • IRC • Pull Request comments • Interaction with new

    contributors Leadership happens ...
  49. How would you respond? STUPID DUMB

  50. Compass of Shame Withdrawal Avoidance Attack Self Attack Others

  51. Every man must decide whether he will walk in the

    light of creative altruism or in the darkness of destructive selfishness.
  52. ctionable Specific A ind K Qualities of Good Feedback

  53. ctionable Specific A ind K

  54. ctionable Specific A ind K

  55. ctionable Specific A ind K

  56. If I cannot do great things, I can do small

    things in a great way.
  57. Empathetic Open Source

  58. Pull Requests & Code Review Action- able Kind Specific

  59. •Be thorough & give yourself time Pull Requests & Code

    Review Action- able Kind Specific
  60. •Be thorough & give yourself time •Focus on code not

    author Pull Requests & Code Review Action- able Kind Specific
  61. •Be thorough & give yourself time •Focus on code not

    author •Have a checklist Pull Requests & Code Review Action- able Kind Specific
  62. •Be thorough & give yourself time •Focus on code not

    author •Have a checklist •Run the code Pull Requests & Code Review Action- able Kind Specific
  63. •Be thorough & give yourself time •Focus on code not

    author •Have a checklist •Run the code •Sign off & hi-five! Pull Requests & Code Review Action- able Kind Specific
  64. CONTRIBUTING.md •How to set up & run code •Code styleguide

    •Channels for getting help or started •Suggestions for what to work on •Suggesitons for various skill sets •Code of conduct Action- able Kind Specific
  65. Commit Messages Action- able Kind Specific

  66. • Short summary for 1st line (50 chars) Commit Messages

    Action- able Kind Specific
  67. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) Commit Messages Action- able Kind Specific
  68. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change Commit Messages Action- able Kind Specific
  69. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change • Answer: Commit Messages Action- able Kind Specific
  70. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change • Answer: • Why is this change necessary? Commit Messages Action- able Kind Specific
  71. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change • Answer: • Why is this change necessary? • How does it address the issue? Commit Messages Action- able Kind Specific
  72. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change • Answer: • Why is this change necessary? • How does it address the issue? • What side effects does it have? Commit Messages Action- able Kind Specific
  73. • Short summary for 1st line (50 chars) • Word

    wrap (72-80 chars) • One commit per change • Answer: • Why is this change necessary? • How does it address the issue? • What side effects does it have? • Reference issues/bug and external links/ references Commit Messages Action- able Kind Specific
  74. No work is insignificant. All labor that uplifts humanity has

    dignity and importance and should be undertaken with painstaking excellence.
  75. Comment with Compasion Lead by Example Lead with Empathy

  76. Almost always the creative, dedicated minority has made the world

    better. Tanner Welsh @tannerwelsh Rebecca Miller-Webster @rmillerwebster
  77. speakerdeck.com/rmw http://www.slideshare.net/pamselle/wsc-fem-foss-23338972 http://haacked.com/archive/2013/10/28/code-review-like-you-mean-it.aspx/ http://smartbear.com/SmartBear/media/pdfs/WP-CC-11-Best-Practices-of-Peer-Code- Review.pdf http://www.slideshare.net/gsporar/peer-code-review-an-agile-process-2502327 http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message https://wiki.openstack.org/wiki/ GitCommitMessages#Summary_of_GIT_commit_message_structure http://who-t.blogspot.de/2009/12/on-commit-messages.html

    http://ablogaboutcode.com/2011/03/23/proper-git-commit-messages-and-an-elegant-git-history/