I could use some honest advice from experienced programmers and engineers.
I’m almost at the two year mark as a developer. On paper I might look like a passable Junior Dev, but if you sat me down and asked me about algorithms or anything else I did to get my job in the first place I would be clueless. I can solve problems and always get my work done, but I don’t even know the language/framework I use daily well enough to explain what’s going on, I can just do things. I don’t think I have imposter syndrome, I think I really might have let any skill I had atrophy.
I used to enjoy programming as a hobby in my spare time, but in two years I’ve opened the IDE on my personal machine no more than twice. People talk about all the side projects they have, but I have none. I feel too stressed out from the job to do any programming outside of work, even though I love it. I feel like I can’t level up from a Junior to Senior because I either don’t have the headspace or the will to do so. It doesn’t help that the job I’ve had has taught me very little and my dev team has been a shitshow from the beginning.
At the moment I have an offer on the table to do a job that isn’t engineering (but still tech) and it surprisingly pays more. Part of me thinks I should take that job, rediscover my passion in my spare time and build my skills, but I fear I might go down this route and never be able to come back to engineering. Not that I’m sure I want to.
It might sound defeatist but I don’t think I’ll ever be a top 5% or even 25% engineer. I could be average with a lot of work, but not great. I could potentially be great in the new field I’m being recruited for, but that’s also hard to say without being in the job.
I know that some people just aren’t cut out for being engineers. Maybe I have the aptitude but not the mentality to do this for 30+ years. I want to know if that’s what it sounds like to people who’ve seen that before. If you were in my position, would you walk away and just be a hobbyist programmer or stick it out and hope to be a mediocre engineer one day?
I’m a manager at a FAANG and have been involved in tech and scientific research for commercial, governmental, and military applications for about 35 years now, and have been through a lot of different careers in the course of things.
First - and I really don’t want to come off like a dick here - you’re two years in. Some people take off, and others stay at the same level for a decade or more. I am the absolute last person to argue that we live in a meritocracy - it’s a combination of the luck of landing with the right group on the right projects - but there’s also something to be said about tenacity in making yourself heard or moving on. You can’t know a whole lot with two years of experience. When I hire someone, I expect to hold their hand for six months and gradually turn more responsibility over as they develop both their technical and personal/project skills.
That said, if you really hate it, it’s probably time to move on. If you’re looking to move into a PM style role, make sure that you have an idea of what that all involves, and make sure you know the career path - even if the current offer pays more, PMs in my experience cap out at a lower level for compensation than engineers. Getting a $10k bump might seem like you’re moving up, but a) it doesn’t sound like you’re comparing it to other engineering offers and b) we’re in a down market and I’d be hesitant to advise anyone to make a jump right now if their current position is secure. Historically speaking, I’m expecting demand to start to climb back to high levels in the next 1-2 years.
Honestly, it just sounds like your job sucks. I have regularly had students, interns, and mentees in my career because that’s important to me. One thing I regularly tell people is that if there’s something that they choose to read about rather than watching Netflix on a Saturday, that’s something they should be considering doing for a living. Obviously that doesn’t cover Harry Potter, but if you’re reading about ants or neural networks or Bayesian models or software design patterns, that’s a pretty good hint as to where you should be steering. If you’d rather work on space systems, or weapons, or games, or robots, or LLMs, or whatever - you can slide over with side and hobby projects. If you’re too depressed to even do that, take the other job. I’d rather hire a person who quit their job to drive for Uber while they worked on their own AI project than someone who was a full stack engineer at a startup that went under.
Anyway, that’s my advice. Let me know if I can clarify anything.