This post was inspired by Garry Tan's "Learn, earn or quit" Youtube view , which I highly recommend.
This post is focused on the tech industry, because I don't really know the intricacies and particularities of non-tech industries, where growth and learning opportunities unfortunately are more scarce (or not? who knows? definitely not me).
If you work in the tech industry, this post might be of interest.
In the tech industry, being an intellectual work environment, it's no secret that it requires a lot of mental capacity and constant learning. You have to keep up with the trends, tools, frameworks, languages, methodologies, etc. all the time. If you fail to adapt to the fast-paced changing market, you are left behind.
In a company, no matter how much you work, you eventually plateau your skills. There are few companies out there where there are new challenges now and then. Most projects follow the usual lifecycle we all know so well: planning, implementation, release, maintenance and bugfixing.
Once a project reaches maturity, fewer and fewer challenges will be available and all left to do is to make sure the system works, and the occasional bug that needs fixing. This kind of work gets tedious pretty fast, and you stop learning.
In my opinion, learning must never stop, especially if you are a tech person. Learning new things keeps you sharp, makes you more prepared for whatever challenges your job is going to throw at you, and it helps you get the recognition you deserve.
Ideally, companies will reward skills. If you are skilled, and these skills translate into money making for the company you work for, you will get rewarded.
The reality we live in is unfortunately a little different: not all companies reward skill as they should. A lot of the companies out there get engulfed in office politics, and skills start to not matter anymore. All that matters is who knows who, who likes or dislikes who, and who is the more influential.
Many people end up working jobs at companies like that, and they hate every moment of it. They don't leave, dread the moment when they have to go to work and at the end of the month, they have nothing to show for it except for a salary they are not satisfied with.
So, in my opinion, the only reasons you should stay at a company is to either learn or earn , and should ask yourself these questions:
Am I learning?
The best reason to stay at a company is to learn. Learning means improving your current skills (specializing) and learning new skills (becoming a generalist). Either way, at the end of the day, you gain leverage in the industry by becoming more skilled. Skilled people are in high demand and hard to find.
The more skilled you become, the more demand there will be for your abilities, and the more leverage you will have in any negotiation. You won't need to settle for the first job offer anymore. Companies will start reaching out to you and opportunities will present themselves.
Another reason to acquire skills (especially if you plan to become a generalist like I did) is to start your own thing or join a small operation. In my opinion, this should be the main goal while you are in your 20s or early 30s (before settling down, having kids, car/house payments, and while you don't have outstanding financial/time commitments) and can tolerate more risky career moves: once you build some skills, join a small operation and use those skills to grow it from its early days.
The best part about this move is that although it is perceived as being a risky move, it's in fact not that risky. I would even go as far as saying that having and working the same steady job for too many years is riskier.
When you work for a smaller business, the worst case scenario is it failing and going bankrupt. In that case, you will keep all the skills and knowledge you acquired until then: skills like how to build and maintain something from scratch (or from its early days) are invaluable, and they are the kind of skills that see the biggest demand.
Besides, another kind of knowledge you gain only by working at a startup is the domain and business knowledge.
Working a safe corporate job will not expose you to the decision-making processes, architectural deliberations and going from customer pain points to code.
On the other hand, at a startup, you are exposed and involved in things like these all the time, which help you understand what businesses want. You can then use this information to better negotiate further when hunting for a job (after all, you're negotiating with a business that tried to figure out if your asking salary is work less or more than the value you deliver for them), or when you are starting a business (startup or not).
If find yourself not learning new things, ask yourself:
Am I earning?
... and by earning, I am not talking about earning enough to get by. I am talking about earning enough to build up your savings enough to bootstrap your own business or join a venture with high growth potential but with worse pay later on.
The truth is that under no circumstance you should stay in a dead-end career that doesn't teach you anything new, and each day you just go through the motions waiting for the clock to ring at 6pm. At least not for a long time.
The only reasonable reason to do that is if you are making big bucks, and you are able to save enough to smoothen out your next career steps. Having enough savings will make jumping ship to a better job that takes you to the learning path much easier.
A trap a lot of people fall in is staying at a dead end job because of the pay, having the salary increase each year due to inertia. Here in Romania's tech industry, people get a raise annually, which can be looked at like some kind of loyalty bonus. The more you stay at the current company, the bigger your salary is, which decreases the chances of you ever leaving them. Unfortunately, there are a lot of people out there whose skills are way below their salary level due to this "issue". But that just makes the first argument, with the learning part, stronger.
That's a deadly career trap, especially if you don't realise the situation you are put in. The least you should do if you are in a situation like that is to carefully avoid lifestyle inflation and plan your next steps.
If you are not learning nor earning, then, what are you doing?