How do I explain to a potential employer that my reason for leaving my last job was being moved around too often to gain any in-depth knowledge of any product/area?
I am looking for a long term position where I can take ownership of systems / areas of systems as I have done previously. To this end one needs to spend time in an area, which I (and other developers) have difficulty doing as we are "allocated" based purely on availability (rather than skill/experience in an area). We may spend two weeks in one small area of a large legacy system then be moved to a completely different area / system / project for a few weeks to add a feature before being moved again. Often the technology is completely different as well from very old to very new. We rely on two/three long-term (10 years) developers to try and remember how to make the changes with varying results.
I have been at the company almost two years. Other "new" developers have been there between two and three years, and feel similarly that we don't have enough expertise.
I feel strongly about doing a good job and offering extra value, but my time is taken up with trying to understand the code I am looking at (without getting a brief on the business logic most of the time) to make the changes asked for before being moved someplace else never to return.
I have suggested a few times to other developers and management that assigning developers to systems / areas for much longer would give us a chance to build knowledge in these old systems to then be able to build Unit Tests, refactor and reduce code complexity. But they feel it better all the new devs have a little bit of knowledge of everything rather than in-depth knowledge.
For me this is frustrating. I would like to understand an area to then be able to use my skills & experience to enhance it, be the company expert in that area (to work with stakeholders on new features), clean it up then hand it over to go on to the next area.
How can I concisely explain this to a potential employer?