I'm a professional web developer of 7 years that, if taken at the superficial face value of how many years I've worked, is one that is expected to be mid-level or approaching senior-level.<p>The problem is, my career growth feels stunted.<p>All of this seems to be confirmed by interview feedback I've gathered recently from several companies. The gist of it is, I show knowledge in a couple of topics, but don't show a lot of depth in any of them. I've shown capability to perform my work as expected and told that I write clean code, but that I can't grasp the "big picture" ideas of software development better, or the minutiae of a given programming language.<p>So with this in mind, would it be possible to go back to a junior position?<p>I prefer to do so in a larger company, because I have never been actually mentored or have much guidance from a senior dev. In two places, I was the only programmer around.<p>The problem here is that at showing 7 years of experience, it sounds like a turn-off for many companies if I show that I'm only capable at a junior-level. Perhaps removing my oldest jobs might help. How would you approach this?
You are almost certainly selling yourself short.<p>If you have 7 years of experience, you almost certainly have important, non-junior level skills of value.<p>But companies do not hire people based on how good of a developer they are, they hire you based on how good you are at interviewing. These are corrolated, but not equivalent skills.<p>What you need to do is get better at interviewing.<p>Interviewing is a skill that needs to be practiced.<p>That means you need to get better at programming silly algorithms on a whiteboard.<p>Fortunately, this is a skill that can be practiced. There are loads of resources out there that will teach you exactly the stuff you need to know to become good at interviewing.
I found myself in this scenario pretty recently. I had about 5 years experience at a non-tech company with experience in a million things.<p>I had to move and was getting killed in interviews for sr. positions, until I wasn't. I found a company that saw my value and gave me a chance. I contracted for them for a few months then landed a 6-figure job doing stuff I'd never done before.<p>I would encourage you to hold your head up, build some stuff in your spare time, and find a company that values what you are. If you are capable with JS in any capacity, double-down on that since it seems a lot of people are being hired from that. Plus you can show projects that can impress people of all backgrounds.<p>I would also encourage you to reach out to any past associates or linkedin connections.<p>Another resource I recommend for people is Mike Hartl's book(1) on Ruby on Rails. Yes, it does teach you that language/framework specifically, but it also shows you how the web and server-side applications work. You will be able to speak about REST, DB Associations, OO concepts, TDD, and several other buzzwords that impress employers.<p>I don't know your work of course, but from the sounds of it you have a better shot than you think! Go get 'em.<p>[1]<a href="https://www.railstutorial.org/book" rel="nofollow">https://www.railstutorial.org/book</a>
When hiring a junior developer (or anyone, really), the attraction is the gleaming future potential of a person. So, if you want to get hired, you'll need to be projecting an exciting upward trajectory no matter what. I think you'll find it unconvincing to say "yes, I've been at it for seven years, but look, I should be able to do your junior work at least, yes?"<p>So you want to frame it differently. For example, provided this is true, you could emphasize that you've been the most senior person in your company, but that your company offered limited growth opportunities. Now you're just champing at the bit to work with people from whom you can learn and grow, and you're overflowing with energy to do so. Demonstrate why it's true, perhaps with examples of things you've been poking at on your own. Or something. You need your story to be true, and the above might not be. But you do need to have _a_ communicable story.
I'd say go for a mid-level position. Most mid-level positions are really junior positions anyways given the way most companies define mid/senior positions. When interviewing look for feedback practices that can help you learn, like regular code reviews and peering. Every developer is constantly learning and some companies embrace that more than others, if you can find a company that takes it seriously then it shouldn't really matter if it is a junior position or not.
There's a difference between a software engineer and a web developer.<p>I'm assuming you build websites? Web developers don't typically deal with the sort of algorithmic problems that software engineers tend to deal with.<p>You're essentially switching to a new career path, which is not a deal-breaker.<p>Simply explain to companies that you are a senior level WEB developer, but a junior-level software engineer.
Have you actually received offers at the junior/mid level? Or are you just thinking of applying?<p>I wouldn't worry about "years" too much. It's very very easy to work a number of years and still be a "junior" skill level. I see it all the time. It's not even a criticism of the person at all; if your job is "perform minor fixes/improvements to this web app" and you do that for 5 years, for example, you're not likely to have technical skills beyond the junior level even though you've worked for many years. This is not a problem. It just means that if you want to move your career forward you will need to find a position in a more tech-oriented, forward-moving, mentorship-based organization.<p>A senior developer at a non-tech organization can easily translate into a junior or mid level developer at a major tech or tech startup.
The magic of it all. You are selling yourself short. You know and are capable of way more then you give yourself credit for. There are three camps, those you think they are everything, those who doubt themselves and those who have no clue of their value. The trick is finding the value spot for yourself. Likely you are in the middle, which is perfect, but if you don't learn how to sell yourself you will suck donkey dick (e.g. be at the bottom end).<p>Your job when applying for any position is to learn to sell your skill set and show what you can do for others. Learn to celebrate your success and tell other people what you can do, that is how you will make it to the next level. Sorry, it isn't all about perfect skill, it is about selling what skill you have.
One challenge I face with applicants is that they actually have 1 year of experience 7 times and not 7 years of experience. You should consider if that's what they are seeing.<p>Some people are doing the exact same thing they were doing years ago and have no depth. Your challenge will be to paint a different picture. Which is easily possible. It sounds like you are interviewing but maybe not doing well face to face. Maybe you just need more prep and its not a deep issue?
What a crazy idea. I mean, if you want to be paid less, go for it. Mid and senior engineers aren't walking tomes of CS knowledge. And junior engineers aren't the only ones learning. I've mentored quite a few senior engineers. As others have said here, you're probably bad at selling yourself in an interview.
Hit me up on [twitter](<a href="https://www.twitter.com/davidsilvasmith" rel="nofollow">https://www.twitter.com/davidsilvasmith</a>) or [email](mailto:david@splt.io) I'm curious to learn more about what you are looking for.
Web is the most evolving technology. Unlike a java or c developer, web developer should refresh himself everyday. Doesn't matter if one is 1 or 10 year developer. With a 5 year experience, I must confess I feel like I know a few. Here is a good article[1] by David Walsh describing this feeling. At an interview, I can say I wrote apps with Vue, Angular 1.x and React but if they ask a question like "how to add a new cookie with specific domain using JS", I can't code without googling.<p>[1] <a href="https://davidwalsh.name/impostor-syndrome" rel="nofollow">https://davidwalsh.name/impostor-syndrome</a>
Mentorship is important, but you can get mentorship without taking a junior position.<p>I have a very similar history in terms of starting my career as the only developer in my first few jobs. When I finally joined a few (small!) teams in a row that a) included other seniors; b) used mature processes; and c) included code review on every pull request, I caught up very quickly.<p>A capable manager or VPE/CTO who's committed to helping their reports grow is also invaluable to a senior developer.<p>And yes, it sounds like you may need to work on your interview technique.
It sounds like you haven't really been pushing yourself out of your comfort zone, and instead have plateau'd in terms of growth.<p>Pick something that you find interesting, and go really deep in it (read books on the topic, develop OSS oriented around it). For a mid or senior level engineer, companies want someone with a broad enough set of skills that they can tackle most problems given to them, but also has a deep knowledge of one or more areas (which adds to the collective group of talents among the engineering team).
My company Mattermark is hiring, and I'd be happy to talk to about the full stack position we have. We have several more senior engineers on staff that are great mentors. We also work with a range of technologies that give you a chance to sample broadly but also go deeply in 1-2 areas. This includes everything from crawling/scraping to website to REST/Graph QL API to 3rd party integrations.<p>Hit me up through kevin@mattermark.com