🥧 Pie-mail 56 - Programmers and Engineers

published12 months ago
3 min read

Welp, the end of the year is upon us!

It's been a long and busy one. It's definitely been fun, but I'm ready for a break!

I've had some interesting conversations over the last couple of weeks about quality, and the lines of responsibility - so - that's the subject of today's email.

Enjoy, and see you in the new year!

💻 Programmers and Engineers

My first job was in a busy office. Our office constantly seemed to have a dirty kitchen - a pretty common office problem.

Instead of rinsing their dishes and putting them in the dishwasher, a lot of people would just leave them. Then someone else would have to clean up their mess, or, dishes would pileup.

Sometimes, I would catch people leaving their unwashed dishes. If I was feeling brave, I'd call them out on their behaviour. Most of the time, this was OK. They'd agree and rinse their dishes properly.

But occasionally, it wasn't...

I caught one of our engineers throwing a couple of dirty plates in the sink. I can't remember exactly what I said to him - "are you going to rinse those?" or something like that. But his reply I'll remember forever.

He said "I'm an engineer, not a janitor. I get paid to write code, not to do dishes."


On another occasion, someone in my team found a bug in something he'd built. They asked if he'd tested it. Unsurprisingly, he responded in a similar way as he had before. "Why would I test it? I'm an engineer, not a tester!".

From time to time, I encounter engineers with this attitude. It's this idea that testing is a chore, an inconvenience, an unwanted piece of overhead.

I've been reflecting a bit on what it means, and where it comes from.

I remember my friend Dan telling me about how he distinguished between "programmers" and "engineers".

Programmers are people that write code, according to the instructions they're given.
Engineers are people that use their coding skills, amongst other things, solve customer problems.

I wonder if this is where the difference lies?

For a "programmer" the goal is to get the code written and out the door, and testing is something that slows that down. It's a frustration.

For an "engineer" the goal is to solve the customer problem. That means exploring the context of what they're building, asking questions, thinking about ongoing monitoring, and... testing!

One of the signals for me is the language used about testing. "I have to test this" versus "I want to test this" is a really interesting indicator to me. I like to work with engineers who want to test, not programmers who see it as a bore or a chore.

Of course, the counterpoint that I often hear is... "If the engineer is testing, what is the tester there for?" - I have thoughts on this too, but that's a subject for next years email.

Stay tuned, and tell a friend to subscribe if you think they'd be interested too!

See you in 2023!

🖥 Neat stuff from around the internet

📖 Read

🎮 Play

📺 Watch

On that note, those are the last episodes of Tech Engineering Lounge for this season.

I'd like to give Camy Bhandari a massive shoutout for driving this. If you're not aware, Camy is the one that kicked off this project, and does all the hard work of editing our videos. It really is a labour of love, and I'm glad she brought me along for the ride. Thank you Camy!

🎟️ Events coming up

It's holiday time, so there's not much on the radar.

There is one thing you should put in your calendar for January though:

Steel Yourselves (Jan 30, Online)

This is an interesting series from AST, where industry leaders make arguments for cases that they fundamentally disagree with. This edition will feature two of my favourites, Anne-Marie Charrett and Dr Lee Hawkins. Really looking forward to it!

That's all from me. I hope everyone has a great break! See you in 2023!

Read more from

🥧 Pie-Mail 57 - Happy new year!

11 months ago
4 min read

🥧 Pie mail 55 - All about role models

about 1 year ago
3 min read