Slide 1

Slide 1 text

— ricostacruz.com — mashupgarage.com @rstacruz Optimizing Developer Happiness: Building a productive team & avoiding fatigue Rico Sta. Cruz

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

Friday madness Based on actual events in the industry

Slide 5

Slide 5 text

Urgent, please deploy MagicApp's new search function. Tnx Friday, 12:04PM Friday madness Based on actual events in the industry

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Survey: What made you quit your last job? I asked this in a public forum and got interesting responses..

Slide 12

Slide 12 text

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?

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

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) ”

Slide 15

Slide 15 text

Median employee tenure 20.0 years Payscale Fortune 500 survey Eastman-Kodak Company 1.

Slide 16

Slide 16 text

Payscale Fortune 500 survey General Motors Corporation 5. Median employee tenure 10.3 years

Slide 17

Slide 17 text

Payscale Fortune 500 survey IBM 29. Median employee tenure 6.4 years

Slide 18

Slide 18 text

Payscale Fortune 500 survey Apple Computer, Inc. 422. Median employee tenure 2.0 years

Slide 19

Slide 19 text

Payscale Fortune 500 survey eBay Inc. 435. Median employee tenure 1.9 years

Slide 20

Slide 20 text

Payscale Fortune 500 survey Google, Inc. 462. Median employee tenure 1.1 years

Slide 21

Slide 21 text

The IT industry has a high turnover rate. Thinking of ways to improve our team.

Slide 22

Slide 22 text

— ricostacruz.com — mashupgarage.com @rstacruz Rico Sta. Cruz

Slide 23

Slide 23 text

— ricostacruz.com — mashupgarage.com @rstacruz Optimizing Developer Happiness: Building a productive team & avoiding fatigue Rico Sta. Cruz

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Hypothesis: Processes get in the way of things. Less red tape means being more agile.

Slide 26

Slide 26 text

The agile manifesto See: agilemanifesto.org

Slide 27

Slide 27 text

Kanban system Great idea, but not necessarily for web development

Slide 28

Slide 28 text

Hypothesis: Developers enjoy making cool things. Let them make cool things.

Slide 29

Slide 29 text

Sample compiler diagram

Slide 30

Slide 30 text

Good design is invisible. It's only when it's done poorly that we notice it. —Jared Spool

Slide 31

Slide 31 text

Good design is invisible. It's only when it's done poorly that we notice it. Happiness irritating

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Three archetypes: Pioneer, Settler, Town Planner.

Slide 34

Slide 34 text

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.

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Automate everything. Automation lets developers focus on developing.

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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.

Slide 41

Slide 41 text

Get organized. Put processes in place to make sure people do their work effectively.

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

Agile sprint schedule Make work easier to manage by breaking it into two week periods

Slide 45

Slide 45 text

Focus. Developers are most effective when all they need to do is develop. No distractions, no irritants.

Slide 46

Slide 46 text

Read more on effectivedevelopment.org.

Slide 47

Slide 47 text

Effective Development effectivedevelopment.org Work in progress book on best practices

Slide 48

Slide 48 text

Read more on effectivedevelopment.org My work ricostacruz.com Our work mashupgarage.com GitHub/Twitter @rstacruz