Slide 1

Slide 1 text

Developer Resistance (that crap that slows down your actual job) Luke Reeves, Shopify - @lukereeves

Slide 2

Slide 2 text

So you're now a developer... Congratulations! Or alternatively good luck! Things will now conspire against you to steal your time.

Slide 3

Slide 3 text

Measuring This Simple: How many changes can you safely push out in a (hour/day/week)?

Slide 4

Slide 4 text

Test Feedback Cycle — Continuous integration - fast, fast, fast — Local test speed/ability — Flakey tests - everyone will hate you for creating one, and praise you for fixing one

Slide 5

Slide 5 text

The Actual Tests The tests themselves are just as important as how you run them! — They verify that your shit isn't broken — They are always faster than alt-tabbing to a browser and trying something yourself — They ensure someone later won't break something you've built

Slide 6

Slide 6 text

Merge Process — Do tests have to pass before a merge? — Are you using a standard workflow, i.e. GitHub- style feature branches? — Try to break up features and keep those branches small — Rebase frequently to make the merge easier

Slide 7

Slide 7 text

Deployment! Definitely the most exciting part, and with the most potential pain. — Automate everything - clicking a button or running a script is good, deploying from master automatically is better — Don't reinvent the wheel, use existing tools

Slide 8

Slide 8 text

Everything is broken - rolling back More important than deploying even! — Rolling back should be just as easy if not easier than deploying — Troubleshooting live code that's broken is a colossal waste of time if you know a rollback will fix it

Slide 9

Slide 9 text

Code Reviews Lots of potential for resistance here - code reviews can: — Take too long to get done — Be delayed after incorporating feedback — Depend on people who have limited time — The flip side - pay it forward/back and review as much as you can

Slide 10

Slide 10 text

Meetings Most people... hate them? — Keep them short, and help them move along — Be on time to all of them — If they're a waste of time or could be better, please tell people

Slide 11

Slide 11 text

That's It Everything here can add up and waste the time of your team and organization. Tackle anything that you can, starting with the easy ones!