This is a question that has long bothered me:
Why are tech people so f*cking loyal to their companies?
A. puts up with a series of Bosses From Hell; B. puts up with routine moral dilemmas; C. with incompetent co-workers and BFHs; I've have my crisis of stupidity at Adobe (we're not immune — it's just that there are pockets which are worse than others); EVERYBODY I KNOW in the tech industry has significant gripes with their company (not piddly shit — big shit — legal type shit).
Why do we put up with it? Why do we stay? What is it that makes us subscribe to the Feudal order when it only runs one way?
Drawing from my own experiences only:
* It's routine (even in my currently more enlightened group) to get the "work harder" speech or email — even though the NEED to work harder has been created exclusively by the people sending out the "work harder" message. This one, BTW, I have learned to ignore — if *I* told you how to do something better, and you insisted *I* do it your (worse) way, I am *NOT* working extra hours for you (at least not as much as you think I should) — but lots of people fall for it.
* Companies "demand" loyalty, but it only runs uphill — you are expected to give your life, heart, and soul to the "company store" in bad times (and good), but you are expendable (and interchangeable) at the company's whim. When was the last time a company in the SilliValley had upper management take a pay cut so that rank-and-file wouldn't have to be laid off? There have been a bunch of stories about how horrible that dotcom in SF(?) was for ASKING the employees whether they'd take pay cuts to keep the company afloat, work extra hours, etc. — I think that was actually enlighted, although I wish they would have asked "which middle/upper management should we lay off so we can keep paying you?" (THAT would have gotten some interesting answers — everybody knows who is and isn't pulling their weight, IME).
* Why is it that idiots get promoted past their level of incompetence, screw up repeatedly (and publicly) and don't get fired? I've had a couple of bosses (not necessarily at Adobe) who couldn't find their asses with both hands and a web search engine, who repeatedly made stupid decisions (some of which they even ADMITTED, in the message distributed announcing the decision, were stupid and made without adequate thought [now there's a Rocket Scientist for you!]) that cost the company money, exposed blatantly illegal practices by the company, severely pissed off vital people who weren't getting paid enough to begin with....
* How come it's easier to let a good engineer leave the company, spend thousands of dollars replacing them (I think I read the average cost to replace an engineer in the Valley is 1.7x annual salary) with someone who doesn't know the project, doesn't know the code, doesn't have any substantive knowledge or ability superior to the lost engineer and who gets paid more ... than it is to give the original engineer a raise to match what the new hire would get?
OK, I feel better now.
When are we going to wake up and realize that, collectively, WE are essential to the companies for which we work? With unemployment in the Valley running less than 1%, (even with the layoffs happening at dotcoms and others, I bet it'll remain under 2.5% — we just filled a position in my old group that had been open for 18 months!), we are difficult to replace.
I'm not a fan of unions (long story) nor do I think they are a practical vehicle for many geeks to use against companies (we're collectively too independent and arrogant to unionize), but I already have a plan in place for a future job/salary negotiation at Adobe (when I do it depends on a lot of other factors, like how long Kiernan spends at the Armstrong school, assuming he gets in...) that includes a talk about how I'm the only one who knows this code really well, and it would cost XX much to replace me, and I really think that I want to work *this* way....
Enough. If anybody has insight into why we allow our employers to abuse us they way they do, I'd love to hear about it.