Share
Embed
Optimizing developer happiness
Optimizing Developer Happiness: Building a productive team & avoiding fatigue
Rico Sta. Cruz
August 25, 2017
Transcript
48 slides
-
— ricostacruz.com — mashupgarage.com @rstacruz Optimizing Developer Happiness: Building a
productive team & avoiding fatigue Rico Sta. Cruz -
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 -
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. -
Urgent, please deploy MagicApp's new search function. Tnx Friday, 12:04PM
Friday madness Based on actual events in the industry -
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 -
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 -
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 -
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 -
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 -
Survey: What made you quit your last job? I asked
this in a public forum and got interesting responses.. -
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? -
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. -
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) ” -
The IT industry has a high turnover rate. Thinking of
ways to improve our team. -
— ricostacruz.com — mashupgarage.com @rstacruz Optimizing Developer Happiness: Building a
productive team & avoiding fatigue Rico Sta. Cruz -
Hypothesis: Processes get in the way of things. Less red
tape means being more agile. -
Good design is invisible. It's only when it's done poorly
that we notice it. —Jared Spool -
Good design is invisible. It's only when it's done poorly
that we notice it. Happiness irritating -
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. -
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 -
The deployment dance Deployments should never have to be this
difficult. How do you deploy to production? Now talking on Slack #general -
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 -
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 -
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. -
Get organized. Put processes in place to make sure people
do their work effectively. -
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 -
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 -
Agile sprint schedule Make work easier to manage by breaking
it into two week periods -
Focus. Developers are most effective when all they need to
do is develop. No distractions, no irritants. -
Read more on effectivedevelopment.org My work ricostacruz.com Our work mashupgarage.com
GitHub/Twitter @rstacruz