As software engineers, we can at times become blind to certain ‘anti-patterns’ in our interactions with our customers – whether that’s end-users or business stakeholders. But what if a plumber behaved as we sometimes do?
A familiar tale?
Once upon a time, there was a lady whose washing machine wasn’t draining properly.
She phoned a plumber, who it turns out, behaved a bit like a software engineer who’s lost sight of customer needs.
Customer: Hello. My washing machine isn’t draining properly. Can you help me?
Plumber: Certainly! I’ll be round in 15 minutes.
2 hours later the plumber shows up.
Plumber: Hi! Sorry I’m late. I got caught up in this fascinating plumbing problem on my last call. I had to fix a Combi-Max 15N boiler. The gasket had blown up!
Customer: Well, I’m glad you fixed it. But can you repair my washing machine? It’s not draining properly.
Plumber: Interesting! What model is it?
Customer: Come through and you can see for yourself.
They walk through to the kitchen.
Plumber: Ah! The Hotpoint XC100! Does it have a reversible spin pattern?
Customer: I’m not sure.
Plumber: It’s reversible spin alright! See these four digits? That’s the model number of the accessory behind the drum, the partition at the back. Sorry, I geek out sometimes!
Customer: Can you fix it?
Plumber: I’ve not seen one of these washing machines in ages. It’s really out-of-date you know. There are far better models on the market, like the XT340! Have you considered upgrading? They’re only £850!
Customer: I’m happy with this one thanks.
Plumber: Are you sure? I could get you a nice discount!
Customer: Honestly, it’s fine.
Plumber: A few numbers into a calculator … and I’ll soon tell you the price … £790! Bargain!
Customer: What? Surely you could just mend this one?
Plumber: I guess I could, but that won’t give you the future capacity for washing clothes you’re going to need. If you think about it, you’re going to have loads more clothes right?
Customer: I can’t afford a new washing machine. I just want you to mend this one.
Plumber: Fair enough. Now, the first thing I’ll need to know is the RPM of this washing machine.
Customer: I don’t know that, sorry.
Plumber: What about consumption at peak flow?
Customer: I don’t have a clue what that is.
Plumber: But surely you know the drum ingestion rate and the water pressure?
Customer: I don’t know anything about washing machines. Can’t I just leave you to it?
Plumber: I guess so. OK, come back in a bit.
Customer: How long will it take?
Plumber: No idea. It could be an hour, or a couple of days.
Customer: A couple of days?
Plumber: I’ll try my best to get it fixed in an hour, but you never know with these things!
Customer: OK, I’ll come back in a bit I guess.
The lady comes back an hour later to find the washing machine has been dismantled and is scattered over the kitchen floor.
Customer: How’s it going?
Plumber: Fine! Nearly finished.
Customer: So you’re nearly finished? It doesn’t look like it.
Plumber: All I need to do is screw the gasket to the main panels, and make sure the drum can be connected to the pipe without any flowback. Sometimes flowback can be really annoying!
Customer: I don’t understand any of that. How long?
Plumber: Don’t know. Flowback can take anything from 20 minutes to 5 hours to correct. But I’m on it.
Customer: Look, please, just finish this off.
The lady returns an hour later. The washing machine is still in pieces, but there are now tiles missing from the wall and pipework is exposed. There’s concrete dust all over the floor and a huge puddle of water.
Customer: What’s going on here? I thought you said you were nearly finished!
Plumber: Almost, 99% finished. Now, see this pipe here, and this discolouration? That’s not good.
Customer: What does it mean?
![SB tech site team](https://www.simplybusiness.co.uk/wp-content/uploads/sites/3/2019/02/sb-tech-site-team-opportunities_c6c853.webp?w=1024)
Plumber: It’s a real mess. I can fix your washing machine but these pipes need redoing. I don’t know which joker did this, but they were very bad at plumbing. See these welded joints and water influx? Terrible!
Customer: What do you suggest?
Plumber: I’d say a complete rework of all your plumbing. I’ve been reading a blog about some amazing cutting-edge soldering techniques. Cuts water leakage down from 1.2% to a mere 0.05%. Every plumber I know is talking about it!
Customer: That seems unnecessary. Can’t you just put the machine back together and refit the tiles?
Plumber: I could, but just think of it! In only 3 – 6 months, for around £5,000 – £10,000, you’d have amazing plumbing. It’d be so much better!
Customer: OK, enough’s enough. Please leave!
Plumber: Fine, I’ll go and help someone else. I tried!
Slams door. The lady phones another plumber.
Customer: Hello – can you help me? Another plumber has come round and left a real mess. Can you come and tidy it up please and get my washing machine working?
Plumber: Sure! I’ll be round in 15 minutes. By the way, what kind of washing machine is it? If it’s a Hotpoint, you’re in trouble – you definitely need a Bosch! They’re the best, especially the GP-500, with the newly improved back-rinse pattern! And the drying cycle – woah! It’s got extra sprockets on the internal drum that really improve the pattern impressions. I can get you one for, say, £950? Hello? Hello?
So what can we learn from this sorry tale?
It’s an extreme analogy perhaps, but it highlights a few behavioural anti-patterns that, as software engineers, we may have all encountered at some point in our careers.
- Social awkwardness
- Overwhelming the customer with jargon
- Obsessing about technology over business value
- Difficulty estimating complexity and timescales
- Fixating on “big rewrites” that will magically solve all our problems
Worse, these habits can become so normalised that we no longer recognise or acknowledge them.
So what can we do to cultivate better relationships with customers and stakeholders, and influence how we’re perceived as software engineers?
Five habits of great software engineers
- Develop people skills
- Practice explaining complex technical concepts in plain English
- Before starting on any task, take time to understand why the business wants it
- Break down every task into small, 1-day pieces
- Refactor code regularly
With a bit of effort, the software engineering community can promote our profession as one that helps businesses to deliver value, and move away from the misconception of software engineers as “those developers that are hard to deal with”.
The single biggest problem in communication is the illusion that it has taken place.
George Bernard Shaw
Ready to start your career at Simply Business?
Want to know more about what it’s like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.
This block is configured using JavaScript. A preview is not available in the editor.