I see many new software engineers who start working at their first job and stick with it for many years, even if they aren’t growing or learning there. Often, a new engineer would be better off looking for new opportunities in the initial few years of their career.
When you get started at your first job, everything is new and exciting. You work hard, learn a ton, and make some money. Soon, your first anniversary at your company comes, now you have been a professional software engineer for a year and you are not just a new grad who was hired primarily based on learning potential, GPA, and Leetcode skills.
You probably have proven yourself. You have learned how to do code reviews, reviewed a few design documents, worked with one or a few databases, attended product meetings, worked on APIs, etc. This is the time when you should consider if it’s better for you to stay at your current job or to look for a new opportunity.
How to evaluate a career move?
I would recommend taking some of these points into consideration while making this decision:
- The product you are working on
- Growth potential
Learning: Over the past year, did you learn new things or did you just work on what you already know? Did you have to do some research, seek help, spend time reading some documentation, or did you manage to do everything with basic effort and existing knowledge?
Mentors: Do you have someone (or a few) people in your team/company who you look up to and learn from? Do you have people who you can reach out to if you feel stuck?
Product: Is the product that your company sells liked by the customers or is it just a well-funded money guzzler? Look at metrics & graphs to see if the business metrics are growing/consistent month-over-month or falling? Try to attend a few customer calls and see how your company treats its customers.
Growth: Do you see yourself growing in your current role and company? Is your team working on a new initiative or do they just maintain a legacy system? Did your manager talk about the promotion/growth path with you? Do you have any examples of other engineers who joined a year earlier and have grown in their roles?
Compensation: Is your salary at the same level as your friends working at other companies? Does your salary match the range on websites like Glassdoor and Payscale? Did you get an increment matching your performance?
These are a few questions to ask while deciding between switching jobs or staying with your current employer. Even though these are valid questions for every engineer (I evaluate my growth with these), they are especially important for new engineers, as your initial year will play an important role in your career trajectory.
One last question, which I think is more important than any other: are you happy?