You Can Get a Better Job If You Just Ask
hash-money.com
hash-money.com
Maybe more importantly, it should echo You Weren't Meant to Have a Boss[3].
An even more disruptive perspective actually came from Bret Victor[4]:
There are many ways to live your life. That's maybe the most important thing to realize in your life, that every aspect of your life is a choice. There are default choices. You can choose to sleepwalk through your life, and accept the path that is laid out for you. You can choose to accept the world as it is. But you don't have to. If there's something in the world that you feel is a wrong, and you have a vision for what a better world could be, you can find your guiding principle, and you can fight for a cause. So after this talk, I'd like you to take a little time, and think about what matters to you, what you believe in, and what you might fight for.
[1] http://pragprog.com/book/cfcar2/the-passionate-programmer
[2] http://michaelochurch.wordpress.com/2012/07/08/dont-waste-yo...
[3] http://www.paulgraham.com/boss.html
[4] http://gumption.typepad.com/blog/2012/03/principle-centered-...
Stuff like this bothers me and I think paints an unfair picture of a corporate environment. Corporations aren't some Disney dichotomy of either being incredibly encouraging of change or a supervillain who purposefully punishes developers in order to line their own wallet.
The reality, I think, is that the vast majority of companies are in the middle. Change is good; change for the sake of change often goes against business principles. Why is a company shunning your 'innovation'? Is it because its unfeasible, or costly? Does it not integrate well with the product line?
The problem is that state occurs right before product death. If you aren't investing that milk money somewhere new, your company is in a death spiral, regardless of how much money there is coming in today.
So if your company is only milking and not investing, then, yes, leave, immediately. Personally, I've not seen that happen often, but I have seen it.
IBM - one of the biggest R&D IT companies in the history of computing.
Microsoft - invented Windows, the XBox, Visual Studio, Silverlight, C#, the list is endless.
Apple - inventing radically new consumer products every other year.
Those examples are not what he was talking about at all.
A gigantic monolithic struts1 Asset Management product with 19k LOC in some of its JSP files. All they ever did with it was pitch it to companies, get us some minor web services to add to it and move on to the next company.
I couldn't even persuade them to use Agile or start to use Unit Testing, let alone start something new. When I suggested in some brief down time that we make something new, I was actually laughed at by the senior sales guy/project manager who was my boss.
God I hated that place so much. So glad I work somewhere that actually builds things and has a decent business strategy.
There is no hard and fast rule for when to leave a company, but the one rule that works for me is: it's time to go when it isn't fun anymore.
What about a great team, reasonable hours, lack of red tape, and flexibility in technical choices? All reasons I love my current job and things I don't think a potential employer would give an honest answer about anyway. That's the biggest friction, for me at least.
Just once I'd like to walk into an interview and have them say 'We want to work you like a dog so that we can make a million dollars and then fire you', and be able to reply 'That's fine, I am more interested in the color of your money than your ideological purity'.
Which sounds snarky, but I mean it seriously.
It's our "reality distortion field" :-P
My main observation, also from personal experience, is it's possible for someone who is otherwise content and on the right track in life to become confused by the kind of rhetoric utilized in this article.
I'm all for saving money and working on side projects until you have the stability to undertake a dream without significant risk.
Go talk to some people who've made the leap to founding their own companies or going for that bigger position. The pressure increases and the race never ends. Sometimes it's nice to just be able to knock out code on interesting problems without constantly worrying about your next move. Engineer comp is going up, way up. I don't think the right next step is to turn engineers into hyperpolitical MBAs.
Most of us have sometimes had our ideas turned down and a lot of companies do that for wide variety of reasons - not just to maximize quarterly earnings. Most of us have had our projects cancelled midway and usually the communications may not have been as you would have expected.
These don't make your jobs "crappy". Any company will have to make tradeoffs between the longterm vision and the short term earnings. I think quitting is not a good reaction to any of the above problems.
I would also try to address some of the allegations he makes about a company being "crappy".
Being profitable and stable means a lot of things. They are not a crutch that people hold on to. It means that there are people who are paying for what you make. It means that your team mates are doing a good job of selling what you make. It means that you are made something what people want. For most of us the pay is a small part of the equation on the job satisfaction. If I am making something that is profitable with people that I like and the company is trying its best to provide me some small perks,the low pay may hardly matter.
He also goes on another tangent expressing different frustrations about working in a company namely having "idiots with no technical background ... just because they have an MBA".
There are two different and unrelated points here. Why would someone without a technical background be an idiot? Why wouldn't he be competent to lead a team? Is your company hiring managers solely based on degrees? Does your company hire engineers just because they have a computer science degree? Would you have a person run a team just because he has a technical background?
There are a lot of reasons why people hate their companies. There are a lot of reasons why people love their companies. It is a good thing that the authors is trying to minimize the hateful relationship through your startup. However, he has provided no convincing argument to why some of the things that he listed make the company "mediocre" or "crappy" and why it is worth leaving the company.
IMO you need to have a technical background in order to lead a technical team.Otherwise you will fail to distinguish between making software and shoveling snow.