It's common knowledge among programmers that most of the ills of the software industry, and most particularly the companies where we work, could be solved by simply letting the technical people make the technical decisions. In fact, that sounds so obvious that you might be tempted to shake your head and wonder what planet I come from. Obviously, since this is so incredibly logical and sensible, it's a given that most companies leave management decisions to managers, and technical decisions to techies, right?
Hey, you. Yeah, you. The one in the back staring at your compiler errors. You're laughing in all the wrong places. At least let me finish, and then we can all laugh together about how silly an assumption this is. Now, as I was about to say, anyone who's ever been paid for writing code already knows that regardless of how sensible it might be to let the people with the expertise make the decisions, that's just not the way it happens in the real world. In fact, in the overall scheme of things, when it comes to decision making power, programmers are at the bottom of the food chain, whether the issue is technical or not.
In short, no matter how silly it may be, most critical technical decisions in the software development business are made by middle or upper management, a class of creature who only rarely possesses any in depth technical expertise. This, in and of itself, wouldn't be so bad. It is, after all, management's area of expertise to keep the company on track and make the sweeping decisions requiring someone with a wide angle view of the business. The problem with this scenario is that an extremely high percentage of the time, these decisions are made without consulting the technical staff about the feasibility and consequences of the decision. Worse still, management often makes decisions for their own reasons over the loud protests of their technical staff, ignoring the recommendations made by those who have the greatest skills in that arena. It's a wonder that any software ever ships at all.
Comments