Programming is a bit of a mystery to people. It generates a lot of mistrust in an organization. In general, when you don’t understand what it takes to do something, everything seems plausible. You may think that a house can be built in a couple of weeks if you have never gone through the process. In truth they could probably finish the construction in that time, but not as a sustainable business. If you watch the construction of a house and track the progress, you can physically see how the foundation is poured, the frame of the structure, etc. It’s easy to understand because you see it physically. Writing code for a computer application or a website is not that obvious.

The code is invisible to everyone except the programmer. It’s like the magic that takes place behind the curtain. Any team has to trust a programmer on what is and is not possible. The best course of action, estimates, and progress updates are subject to developer input. There are many type A personalities that have problems with this, but it goes further.

The first problems arise when a client decides what he wants and when he needs it. Dirty people want to sell. Telling the customer that they have unrealistic expectations does not close the sale. And he shit, is that a recipe for disaster? I’ve seen account service cut estimates in half and move money around to accommodate their sale and their commission. At the end of the day, it seems that the programmers are getting it wrong. They do it because it’s easy to blame the programmers.

They don’t teach office politics in school. They should, but that’s a different story all together. A programmer has to be quietly focused doing mental gymnastics to produce clean working code. It is difficult and requires all your energy. There is no time to run to see who throws you under the bus. Plays by the gaming account service have consequences.

At a previous agency I worked for, I saw a 7-figure project go up in flames. Who caused the problem? Was it the industry-leading group of programmers who worked 70+ hours a week to accommodate the client’s arbitrary schedule, or was it the account service staff who agreed to everything the client asked for?

I’m not saying that programmers never cause problems. If you’ve ever seen the TV show Seconds From Disaster, catastrophic problems arise from a mix of people not doing their jobs. But I saw the programmers doing their job. I’m not sure what everyone else was doing.

So what did the agency think? They fired (fired) every one of those programmers. However, the entire account service still works there. After that demoralizing death march, no one wanted to be there anyway.

The programmer’s road to hell is paved with the word yes. To police your own world, you must be attentive to what is feasible. Being analytical, they usually put a lot of effort into an estimate. From what I’ve seen, it’s usually more effort than most because they’re adept at thinking about multiple scenarios. Unfortunately, I have seen good estimates ignored or questioned. The more realistic they are, the more they are examined for some reason.

It’s hard to come back to the customer with a set of realistic expectations. Makes closing much more difficult. You run the risk that someone else will agree to the job (which will fail). But the programmer’s job is no less difficult. Actually, they are the only group of people who are capable of understanding everything. They know the code and they know the business problem. They may not be good at managing clients, but they can certainly understand what’s going on.

Trust your programmers. They are not only engineers and craftsmen, but also entrepreneurs. They will know from experience what happens to customer relationships when someone makes promises that no one can keep.

Leave a Reply

Your email address will not be published. Required fields are marked *