You can criticise if you’ve been there

Photo by Nathan RupertIf you’ve got a bit of development experience it’s easy to criticise the technology efforts of others. If you’ve got more than a bit of development experience then it’s harder. In short: criticise if you’ve been there; be careful if you haven’t.

I was reminded of this a while back when I saw a retweet from @samwessel. It was a photograph of a sticker on a Sainsbury’s checkout machine explaining the rather unintuitive way of seeing your bill after you’ve fed in your discount vouchers. The comment suggested that Sainsbury’s try a bit harder at writing their checkout software. It was a tweet in jest, of course, but it rankled me slightly, because I know producing super-slick software is a very difficult thing in an enterprise environment which is typically compromised by tight budgets, competing priorities and politics.

I once interviewed a tester for the Guardian, who thought it was a good idea to tell us in great detail about the dozens of faults he’d found on our website. I guess he was trying to demonstrate his exemplary defect-finding skills, but it didn’t impress us interviewers. We knew all about all those faults, but it was a business decision to prioritise our time for other things. Our candidate didn’t appreciate our business context.

And finally on the same subject I remember a developer at one very large-scale web service grumbling about some of the comments from semi-technical users. “I can’t understand why you don’t show this data on this page,” they would say, “I’m an SQL expert and I know it’s only a simple join; get your act together!” Yes, the developer said (quietly), but it’s not nearly so light an undertaking when the data is sharded across 200 MySQL servers, and the additional load requires the purchase of new hardware.

When we see problems elsewhere it’s a good idea to find out about the context first. We need to ask questions, and have an open mind that there might be reasons why things are, or are not, as they are. We may decide those are bad reasons. We may decide we have solutions. But either way we will have learned a little about other people’s situations.