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

Optimizing developer happiness

Optimizing developer happiness

Optimizing Developer Happiness: Building a productive team & avoiding fatigue

Rico Sta. Cruz

August 25, 2017
Tweet

More Decks by Rico Sta. Cruz

Other Decks in Technology

Transcript

  1. Design UI/UX Code Backend Frontend Test DevOps Scale Integrate Build

    Make Developers are the lifeblood of our work. DevOps Scale Integrate Build Make Install Configure Control Secure Develop Developers
  2. It's been great working with you & the team. I

    learned a lot and I'll never forget all the things you taught me. Thank you for everything CompanyM just offered me 3 times the pay I'm getting! Some resignations are unavoidable.
  3. Urgent, please deploy MagicApp's new search function. Tnx Friday, 12:04PM

    Friday madness Based on actual events in the industry
  4. We don't have enough unit test coverage yet. Can we

    deploy it on Monday? We need it EOD today. Let me know when this is done. Tnx Urgent, please deploy MagicApp's new search function. Tnx Friday, 12:04PM Friday madness Based on actual events in the industry
  5. HELP, the search function is NOT working. Please fix asap!!

    Friday, 7:43PM We don't have enough unit test coverage yet. Can we deploy it on Monday? We need it EOD today. Let me know when this is done. Tnx Urgent, please deploy MagicApp's new search function. Tnx Friday madness Based on actual events in the industry
  6. HELP, the search function is NOT working. Please fix asap!!

    Friday madness Are you done with the new discount feature and PayPal integration? Next Friday Sorry, we had to rush the search feature last week, our team didn't have time to finish those this week. Friday, 7:43PM Based on actual events in the industry
  7. working. Please fix asap!! Friday madness Are you done with

    the new discount feature and PayPal integration? Next Friday Sorry, we had to rush the search feature last week, our team didn't have time to finish those this week. Please get the team on overtime today. We need those features ASAP. Based on actual events in the industry
  8. Friday madness Are you done with the new discount feature

    and PayPal integration? Sorry, we had to rush the search feature last week, our team didn't have time to finish those this week. Please get the team on overtime today. We need those features ASAP. Based on actual events in the industry
  9. Survey: What made you quit your last job? I asked

    this in a public forum and got interesting responses..
  10. Management is always yelling at me Some resignations could have

    been prevented. I feel like I'm not growing enough and not learning anything. Our culture is no culture. People who really care about beautiful code are few and far between at (redacted). What made you quit your last job?
  11. Management is always yelling at me I feel like I'm

    not growing enough and not learning anything. 8 months in and we STILL don't have automated tests!! I haven't heard from my boss in 2 weeks. We work in the same office. What made you quit your last job? Some resignations could have been prevented.
  12. Employee turnover rate among Fortune 500 companies is greatest in

    the IT industry, according to PayScale.com's most recent survey. High turnover rates are very common. (2017) ”
  13. Good design is invisible. It's only when it's done poorly

    that we notice it. Happiness irritating
  14. I just made a website that shows all the movies

    showing in cinemas! I fixed up your prototype so it now doesn't crash if you have more than 2 people using it The pioneer The settler We'll launch ShowTickets.com for Singapore & Hong Kong soon! ✈ The town planner Pioneer vs. Settler vs. Town Planner The three roles work hand-in-hand in building great products.
  15. Best in organizing & supporting efforts, making sure the others

    are productive. I just made a website that shows all the movies showing in cinemas! I fixed up your prototype so it now doesn't crash if you have more than 2 people using it The pioneer The settler We'll launch ShowTickets.com for Singapore & Hong Kong soon! ✈ The town planner Pioneer vs. Settler vs. Town Planner The three roles work hand-in-hand in building great products. Works great in starting new, big features. Works great in continuing features, being productive with little features. The pioneer The settler The town planner
  16. The deployment dance Deployments should never have to be this

    difficult. How do you deploy to production? Now talking on Slack #general
  17. The deployment dance Deployments should never have to be this

    difficult. How do you deploy to production? You need to get the SSH key from Jason Then use Capistrano to deploy it to AWS. But first you need to make sure your config env vars are up to date. Check with Pete first If Jason's not around, ask Vic But if you need to deploy now, wait because Rico's working on the DB Now talking on Slack #general
  18. Automated deployments & continuous delivery Deployments are ideally automated. How

    do you deploy to production? Just merge to master and wait 10 minutes Now talking on Slack #general Thanks, v2.4.0 is out! 15 minutes later
  19. Automated code linting Automatically reject code with style errors return

    { user: getUser(action.user), params: { return true } } ⚠ JS Lint Error: expected 4 spaces, found 3. .playbook-heading, div { margin: 0; padding: 8px; color: var(--text-color); display: block; } ⚠ CSS Lint Error: Only one selector allow per line. Place multiple selectors in multiple lines.
  20. 1. Do you use source control? 2. Can you make

    a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing? Joel Spolsky's "The Joel Test" See:
 joelonsoftware.com Simple checklist of a modern development workplace
  21. See:
 joelonsoftware.com 1. Do you use source control? 2. Can

    you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing? Joel Spolsky's "The Joel Test" Git CI Deployment CI Testing Trello (or similar) Sprint planning Sprint schedules Documentation Workspace mgmt. Laptops & good wifi QA Hiring processes QA Simple checklist of a modern development workplace
  22. Focus. Developers are most effective when all they need to

    do is develop. No distractions, no irritants.