Decades ago, people would stay at a job for 10+ years and be unlikely to quit.
People would have a few long-term jobs on their CVs.
Things have changed dramatically, though, especially in the tech industry.
The demand is higher than the supply, creating an industry where employees can choose who to work for and under which conditions.
There are many reasons to change a software job. Some may be more personal than others.
This article lists some reasons why you should consider leaving your software job.
"Leaving" could mean finding another company to work for, taking a sabbatical, or other reasons closer to you.
Here are a few considerations to make before you consider leaving your software job:
Do you have a family to take care of?
Do you have at least 3-6 months worth of paycheck set aside?
How prepared are you for interviews?
Even though the software industry is vibrant, it may still take months to search for a job.
Beware that being desperate may lead you to accept a role that isn't the right fit.
Now let's dive straight in.
Your health has deteriorated
After the pandemic, many people have realised the importance of well-being (both mentally and physically) in and out of the workplace.
If your health has worsened due to your job, you may want to consider leaving, especially if you don't have any spare vacations left that you could use.
Being unwell has an impact on your work performance, as well as your personal life.
You've received a negative performance review
Receiving a negative performance review is likely to be the first signal that you should consider leaving for something better.
Receiving a negative review, especially in written form, is the first step to laying off an employee.
If you ever receive a negative performance review, consider leaving the company or immediately looking for another role.
You're not given a chance to grow
If you feel that you have maximised your potential, are not allowed to explore new technologies, problems, etc., and no longer see yourself growing in the company, it's a good time to consider leaving your software job.
Lack of standards
Often, companies justify the need to meet business goals to lower the quality of the software delivered.
This will have a long-term impact on the maintainability of the software.
Working in an environment that lacks standards means picking unhealthy habits that will backfire on your career.
Toxic environment
"Toxic" has a different meaning for different people.
A signal that you're in a toxic environment could be how you feel physically and mentally at the end and start of the working week.
If you dread every day of the week, you may consider leaving your software job.
Dreading your workplace can have an impact on your work performance.
Related: 7 Key Red Flags To Watch For In Software Job Listings
Not happy with the work mode
Many companies are pushing their employees to work more days in the office.
Some people prefer it. Other people don't. Decide what works best for you.
If you prefer to work remotely, but the company wants you to be in the office, you'll be dissatisfied long-term. And vice versa.
You don't feel heard
Not feeling heard in your workplace means your ideas and opinions aren't considered.
Not feeling heard will cause you to feel exhausted and triggered because no one's listening to you.
This translates to not feeling engaged with the work, impacting your work performance.
Fake Agile process
Many companies don't make the most out of the Agile methodology.
In many cases, they abuse it, creating a process-oriented environment.
Related: Brief Introduction to Scrum
Your job is oversimplified
Many people don't understand the complexity of software engineering, and this is understandable and acceptable.
Software engineering appears easy for many non-technical people.
However, if you're in an environment where requirements change rapidly with no consideration of the complexity of the software architecture, then you're in a place where your job is oversimplified.
Oversimplifying your job as a software engineer means creating unrealistic expectations.
Before leaving the job, you may consider whether discussing your problems is worth it.
You're under a manager who is not a leader
There's a massive difference between a manager and a leader.
Management consists of controlling a group or a set of entities to accomplish a goal. Leadership refers to an individual's ability to influence, motivate, and enable others to contribute toward organizational success. Influence and inspiration separate leaders from managers, not power and control.[Harvard Business Review]
Working for a leader will inspire you to bring your best self to work.
Conclusion
Now that you've read this article, you have some valuable reasons to consider leaving your software job.
If you enjoyed this article, you'll benefit from subscribing to my FREE weekly newsletter, where I share valuable insights and tips on software engineering, career development, etc. I hope to see you there.
Until next time!
🙋🏾