I got a reply from a recruiter to setup a call later this week. I know one of the inevitable questions will be why am I looking to leave my current role.
Personally I want to leave because:
- I have a junior role in the company and I don't see a way of reaching a mid level here.
- The targets for promotion are constantly moving. The managers have changed a few times over the past 4 years and so have the appraisal systems.
- I haven't been given any real projects since the last manager has started. Mainly whack-a-mole type security tasks. This is especially frustrating as I have worked on larger projects before then.
- lots of senior engineers have joined, introduced a new product/application, and then left.
- which leads to lots of firefighting and understanding how things were implemented due to the seniors poor documentation.
- so I'm learning nothing on the job and I'm not working on anything special to talk about.
So would something like 'looking for new opportunities' be sufficient?
Ps. If you got this far, thanks for reading my rant. It has been locked away in my head for some time now.
The recruiter won't care much about why you want to leave a job. Their primary focus is to get you into a new job in order to collect a fee from the employer. The recruiter will ask you some basic screener questions while very likely not understanding what it is they are asking. If this is an internal recruiter the questions likely came from the hiring manager. If it is a staffing agency, you're lucky if the recruiter even has a direct relationship with the company. More likely they're one of a dozen+ companies trying to find a warm body for to put in front of the company. I often receive several LinkedIn messages for the same job in my local area from various staffing firms.
One thing you should do is take a look at your list of negatives and turn them into positives that you have to offer a new employer. For instance, the item about many senior engineers joining and leaving can be turned into, "I have been exposed to a broad range of coding styles and architectures from working with many codebases built by knowledgable developers. Supporting and maintaining them in a production environment has allowed me to see what works well, what doesn't, and to better my own style." Be prepared to give one or two examples of how you were influenced by the good and the bad. If I were interviewing you, I would ask for them.
Regarding your first two bullet points, you probably shouldn't be interviewing for junior positions with four years of experience. Make sure that you're interviewing for mid-level positions. It's rare to be asked why you want to leave your current position. If it happens just say that your company is in a hiring freeze and that you're doing the work of a mid level programmer but are unable to be promoted and that you need the extra income to purchase a house.
I disagree with some of this. The reasons OP gave are good reasons in and of themselves. Senior developers having a short tenure is a red flag, and likely brought on the other bullets. If a candidate read those to me, then said "I want to work somewhere where I can own a challenge and grow" I would be pleased with the response.
And totally agree on mid-level target.
I don't think it's necessary to give a reason for ambitions, such as financial goals. If it's not true, a good interviewer will sniff it out and catch you off foot. Self improvement should be part of basic intuition for any professional. It's also not necessary to elaborate on why you're leaving, this is risky territory for a young professional. I'd answer this by focusing about what initially excited me about the role, how much I've grown my skills and expertise, and what I'm looking for in my next role. That speaks for itself without trashing your company. I agree with everything else you said.