Lessons from Strangers: engineering code for human happiness
It’s a crackly one, but Rachel Sanders’ Pycon UK 14 keynote is well worth your attention:
- Engineers build large, scalable, fault tolerant systems. Managers build large, scalable, fault-tolerant systems of people.
- What makes you happy at work? 75% of the time, a good day means making meaningful progress on work. That’s what makes us happy in our jobs more than anything else.
- Obvious not obvious. On multiple choice test, 90% of managers did not choose ‘meaningful progress on work’ as the most important contributor to happiness at work. They chose praise, recognition, and being part of a team instead. (Yes, they really are Michael Scott.)
- So, engineers! You build systems that people use to do their work. Are you designing with user performance and progress in mind?
- Engineers develop code and ship it. The user of their module is not their problem. Engineers are expected to write fast code, but not code that enables fast users.
- Engineers should think PEOPLE. Your code is part of a human system. People must be able to look at your work and see what this is and what it can do, even without documentation.
- Design is not magic, it’s a process. Ask people what they think of your API, listen and watch them try to use it. Make it better.
- Where’s the best practice? There’s a lot of books, blogs, discussion around system performance in engineering. But not a lot around engineering for human performance, a key factor in personal progress and satisfaction of your users — and the contribution your work makes to the business and the world.
I enjoyed the exploration of coding for human happiness in this talk. Something I’ve never thought about before, but have started to think about a lot now.