> In your average company, a programmer is considered a glorified mechanic or janitor, a code-monkey if you will, well below the guys that "bring in the money" like sales and marketing. It is an expense, something that the company has to live with because someone has to implement the ideas that the guys in charge come up with to help the guys that "bring in the money" bring in more money.
It's worse than that. Even in the tech sector, the situation you describe sometimes happens. I have yet to fully analyze that kind of situation, but i've already come with some criteria that might help identify such environments.
What is sad is that it's merely a reflect of the mainstreams governance models at wide scale (and only worse: democracy is even less frequent in companies than in countries...), which have proven to be poor, and will prove to be catastrophic in a near future.
Of course in the real world things happen on a continuous scale, but if by bad luck the environment you're in exactly fit below exacerbate description, run!
1. A strictly tree like, military like hierarchy, ruling everything in strict tree order regardless of its a tech, hr, or other issue. This is one of the most effective way to waste talent and to take non optimal decisions (and not even near to optimal) -- add not taking into account bottom-up proposals if you want the perfect mix to achieve a high level of ineffectiveness.
2. The hierarchical tree is strict enough so that programmers typically can't even be spontaneously inspired by new ideas, which often is not enough to kill a business, but just to impede it, so sadly the situation might persist.
3. Each programmer is considered as a "just another programmer" in the company, regardless of achievement, knowledge, skill. The paradoxical part is that does not mean that individual requests are not done to the good people when needed, but it looks like not much people would recognize that when they have no question. Improvements in achievement, knowledge, skill are neither fully exploited and often not rewarded at all, directly leading to a high turnover.
4. Small valorisation of tech realization for those who actually do them, regardless at which level (that can go as far as considering programming mainly as a cost center that needs to be beaten into submission to behave, and preventing it from getting helpful resources).
Lesser versions of those situations exist, leading to more effective tech companies that are more programmers friendly. The two often somehow go together. At the end of this better path, you have some companies like MS, Google.
(not exempt from pb, but they arguably are not that bad)
It's worse than that. Even in the tech sector, the situation you describe sometimes happens. I have yet to fully analyze that kind of situation, but i've already come with some criteria that might help identify such environments.
What is sad is that it's merely a reflect of the mainstreams governance models at wide scale (and only worse: democracy is even less frequent in companies than in countries...), which have proven to be poor, and will prove to be catastrophic in a near future.
Of course in the real world things happen on a continuous scale, but if by bad luck the environment you're in exactly fit below exacerbate description, run!
1. A strictly tree like, military like hierarchy, ruling everything in strict tree order regardless of its a tech, hr, or other issue. This is one of the most effective way to waste talent and to take non optimal decisions (and not even near to optimal) -- add not taking into account bottom-up proposals if you want the perfect mix to achieve a high level of ineffectiveness.
2. The hierarchical tree is strict enough so that programmers typically can't even be spontaneously inspired by new ideas, which often is not enough to kill a business, but just to impede it, so sadly the situation might persist.
3. Each programmer is considered as a "just another programmer" in the company, regardless of achievement, knowledge, skill. The paradoxical part is that does not mean that individual requests are not done to the good people when needed, but it looks like not much people would recognize that when they have no question. Improvements in achievement, knowledge, skill are neither fully exploited and often not rewarded at all, directly leading to a high turnover.
4. Small valorisation of tech realization for those who actually do them, regardless at which level (that can go as far as considering programming mainly as a cost center that needs to be beaten into submission to behave, and preventing it from getting helpful resources).
Lesser versions of those situations exist, leading to more effective tech companies that are more programmers friendly. The two often somehow go together. At the end of this better path, you have some companies like MS, Google. (not exempt from pb, but they arguably are not that bad)