goto amsterdam 2016 bas peters bas how people build
play

GOTO Amsterdam 2016 Bas Peters @bas How people build software - PowerPoint PPT Presentation

GOTO Amsterdam 2016 Bas Peters @bas How people build software Happiness Developing the developers most important skill Bas Peters Solutions Engineer GitHub 2 How people build software Happiness No mockery in this world


  1. � GOTO Amsterdam 2016 Bas Peters @bas � How people build software

  2. ♥ Happiness Developing the developers most important skill Bas Peters Solutions Engineer GitHub 2 How people build software

  3. Happiness � No mockery in this world ever sounds to me so hollow as that of being told to cultivate happiness. What does such advice mean? Happiness is not a potato, to be planted in mould, and tilled with manure. 3 How people build software

  4. Open Source Development � The development of open source software involves bringing a widely distributed group of people together to work on complex problems while primarily communicating online. 4 How people build software

  5. Open Source Development � The development of open source software involves bringing a widely distributed group of people together to work on complex problems while primarily communicating online. 5 How people build software

  6. 2300% more requests served per second � 6 How people build software

  7. Open source projects have constraints � � � � GEOGRAPHY TIMEZONE CULTURE How people build software 7

  8. Open source projects have constraints � � � � GEOGRAPHY TIMEZONE CULTURE How people build software 8

  9. Open source principles � � � � TRANSPARENCYPARTICIPATION COLLABORATION How people build software 9

  10. The medium and the message are transparent � � � � ELECTRONIC ASYNCHRONOUS LOCK-FREE � ARCHIVED How people build software 10

  11. Minimizing friction enables participation � � � � DOCUMENTATION PULL REQUESTS AUTOMATION README.md Make it easy to Allows reviewers to CONTRIBUTING.md propose changes focus on substance How people build software 11

  12. Minimizing friction - Documentation � 12 How people build software

  13. Minimizing friction - Pull Requests � 13 How people build software

  14. Minimizing friction - Pull Requests � Experimentation Without Risk Branch — Question, Hypothesis, Experiment, Analyze, Conclude 
 Pull Request — Gather feedback from peers and integrate with 3rd party products to perform automation for quality of code, build status, and deployment 14 How people build software

  15. Writing a Pull Request � • Include the purpose of this Pull Request • Why the work is taking place • Be explicit about what feedback you want • Be explicit about when you want feedback • @mention individuals that you want to involve in the discussion • Remember that anyone in the company could be reading this Pull Request 15 How people build software

  16. Providing feedback � • Familiarize yourself with the context of the issue and why this Pull Request exists • Explain your reasons why code should be changed • Offer ways to simplify or improve code • Aim to develop professional skills, group knowledge and product quality, through group critique. • Be humble, use positive language and use emoji to clarify tone 👎 ✨ ✨ 16 How people build software

  17. Responding to feedback � • Consider leading with an expression of appreciation • Ask for clarification, offer clarification, explain the decisions you made • Try to respond to every comment • Link to any follow up commits or Pull Requests • Sometimes it can help to talk face-to-face 17 How people build software

  18. Enabling participation � 18 How people build software

  19. Enabling participation � 19 How people build software

  20. Minimizing friction - Automation � 20 How people build software

  21. Apple Swift - Expanding Commit Access � 21 How people build software

  22. Minimizing friction - Automation � 22 How people build software

  23. Code deploys: bring operations to the developer � 23 How people build software

  24. Deploy master on merge � 24 How people build software

  25. Use branch based deployments � 25 How people build software

  26. Deployment status � 26 How people build software

  27. Haystack exception tracking � 27 How people build software

  28. Code refactoring with Scientist � 28 How people build software

  29. Code refactoring with Scientist � 29 How people build software

  30. Put everyone in one spot with chat… � • Team rooms • Region based rooms • Social rooms • Private chat • Ops rooms 30 How people build software

  31. … and bring your tools into your conversations � 31 How people build software

  32. Meet Hubot � 32 How people build software

  33. Hubot deploy example � 33 How people build software

  34. Steps to create happy developers � • Improve collaboration • Ensure quality • Let developers share their work • Implement rigorous testing and build • Require public and focused code • Make deploys boring and predictable • Require documentation in the reviews • Give employees the confidence to repositories • Require mature and respectful contribute code • Put everyone in one spot with chat behavior • Share your experiences 34 How people build software

  35. � Thank you! � How people build software

Recommend


More recommend