Ask Slashdot: When Is a Better Career Opportunity Worth a Pay Cut?
An anonymous reader writes "I am currently working for a software company that rakes in a lot of money and has an EBIT that puts other companies to shame. The company is great: good benefits, lots of vacation time, very good salary. However the problem is that their architecture is already established, change is often slow moving, and most of the decisions are made by architects as oppose to developers. I find my job somewhat mundane and I am losing interest. I recently was offered another job, with a small company that doesn't have the capital/revenue stream to provide all the perks that my current employer has. Needless to say, this small company wants someone to take their system into the modern age, which means re-design/new architecture, implementation, maintenance, team lead, etc.... thus, more experience to add to my resume. These are things that I won't be able to do easily in my current job. My concern is that it appears this company has really high expectations, and since I had to take a small pay cut to get this position it leaves a but of uneasiness in my stomach for future promotions/advancements. However I believe in their product, their vision/goals, the people and the future of the company. I feel excited but also scared as its a bit of a gamble. Has anyone else experienced the same thing?"
I find it interesting your concern is that the architects, not developers, make the decisions. I can't recall working for a company, that was successful, that listened to the developers over the architects. I haven't met a developer yet that was both a visionary and a forward thinker. On the other side, if you are young, can pay your bills, and don't mind that the new company could very well be consumed, or shut out, because of your previous employer, I say have fun with it. If you answered no to any of these, think carefully, but remember that those who think long, often think wrong. Good luck.
I disagree strongly.
There are four good reasons to take a pay cut to switch jobs within a development/IT career when you're older:
1) Small companies trade pay for responsibility. You make less, but you're in charge of more. Short term, that's lose-lose, but in long term it can be vital to moving up the career ladder. For example, the path: "lead" at big company -> manager at small company -> manager at big company is often the fastest path. Same thing to move from a "some coding" job to a full-time coding job, or becoming an architect, or whatever.
2) Specific technical skills lose value over time. If you get too far behind what the market wants, accept that you will take a hit to modernize your skills.
3) You shouldn't expect to make more money just because you get older! For the first 10 years or so, your skills improve noticeably every year, so your pay should go up more than inflation. For the next 10 years: maybe. Improving your ability to contribute isn't just technical any more, and it can be hard to change the things about yourself that you need to, to have more technical influence and reach. But after that? 99% of us top out. Once you grow to your limits, you'll give up any raises (over inflation) whenever you change jobs, because your ability to contribute has plateaued and that's normal.
4) If you've been working as an engineer for 30 years and you still need the money, you're doing it wrong. At some point you'll be seeking interesting, challenging problems, and 20% pay more or less will be less important than that. Eventually you can afford to "follow your heart". Especially once the kids are gone.
Socialism: a lie told by totalitarians and believed by fools.
A company with architects implies that it's infrastructure is somewhat complicated.
Developers hardly ever use the programs they write, much less understand the environment in which their program runs. What are the business requirements? Regulatory requirements? Technology limitations? Why are those present? Who set them and why?
These are things architects worry about.
You, as a developer, usually have no visibility into them in a large company unless you ask. And even if you ask you may not understand them, because it's far, far away from your personal experience.
if you don't understand why architects are needed, you should be hyper-aware that you're clueless when you go to your next job that requires you to design an architecture. And you will probably fail.
That's fine for you, because you'll learn. It'll be bad for the company you work for, because they'll have spend money and time on a solution that doesn't work, or at least doesn't work well.
4) If you've been working as an engineer for 30 years and you still need the money, you're doing it wrong.
Moreover, I've felt for quite some time that I need to have at least a year's salary saved up so that I can do my job effectively. And by doing my job effectively, I need to feel comfortable saying, among other things:
* That's illegal/immoral, I'm not going to do it.
* That's a dumb idea, we shouldn't do it.
* That's an impossible deadline, I'm not going to agree to meet it.
If I'm not entirely comfortable with them calling my bluff and losing my job over the issue, I won't feel comfortable saying those things. And, as an engineering leader, I need to be able to say those things if they need to be said.
"Don't blame me, I voted for Kodos!"