Pro Developer - Throwing Money Out the Window

The human factor

Businesses are run by people, and people all fall prey to the frailties of human nature. When considering the matter at hand, the people in question are known as management, and they are no less human than the rest of us, no matter what speculation you might hear from programmers when hanging out by the espresso machine. That means that decisions aren't always made for the most altruistic of reasons. Every person has their own career ambitions, their own vanities and ego, and their own personal agenda.

Furthermore, they're spending someone else's money, a point not to be taken lightly. I can assure you, if the money were coming out of their personal bank accounts, you'd see an entirely different set of priorities. Instead, this money just isn't real to them. Rather, it's an abstract set of figures on a spreadsheet simply referred to as "the budget". I'm making a point of this because if you expect that mentioning the financial consequences of the decisions is all that will be necessary for the logical mind to see things your way, you're in for rapid disappointment. This isn't their money, and it's too difficult for them to translate it to the impact on their personal paycheck. It's not like they spent the family's savings on a red sports car and have to explain the decision to their significant other.

This sort of waste and history of project disasters would never happen if the techies were in charge of the decisions. However, before we get too proud of ourselves, it's worth pointing out that it would be due to a completely different motivation than making the company money. Programming is our art and our passion. We just couldn't bear the thought of pouring all that effort into our latest masterpiece and then simply tossing it in the waste bin. We're emotionally attached, and it also goes against every logical bone in our bodies. There's only one problem. We're not in charge.

We've all had the experience of arguing with our superiors until we're blue in the face, trying to explain why the technical direction they want to take is either completely pointless or disaster waiting to happen. If you didn't have the conversation out loud, you certainly had it in your head. Either way, the end result is all too often the same. We're either patronized because "we don't understand the big picture" or we're simply told, effectively, to sit down and shut up. And so, given that we work for others, in the end it's our job to do what we're told. Disaster ensues, the project dies or is swept under the rug, and then here we are in the conference room again, having exactly the same argument over yet another doomed project. I often get visions of the Flying Dutchman.

You might also like...

Comments

Christopher Duncan Christopher Duncan is President of Show Programming of Atlanta, Inc. and author of both the monthly syndicated column Pro Developer and the recent book for Apress, The Career Programmer: Guerilla T...

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“To iterate is human, to recurse divine” - L. Peter Deutsch