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?
Almost all what is going on today in commercial development is based on knowing frameworks and existing libraries and is far from engineering. I am working in that 19 years and also feel that am not a true engineer, at least at my job. Yes, I developed my own UI client framework, but who know it, who need it except my company… I am not in the 5% of top world engineers. And you know what I think, I do not care. Do f#$*k off, commercial development. I have hobbies, I learn languages that I like and writing code just for fun, solving problems on codewars. I believe that true thech like C and freebsd, emacs and some other not popular in commercial development programming languages is my way. And yes, I am earning money at my job, but at the same time, as I said, I tell all these overhyped shit “do f#@&k off” and going my own way. That’s my life. Have a luck, bro. Find your own path.
People like you should be in leadership positions. The landscape rewards quick solutions, and quick solutions are rarely good solutions. “Whatever works” might still be a bad solution, just look at electron and that entire ecosystem.
I could use some honest advice from experienced programmers and engineers.
Old person programmer checking in.
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.
Don’t sweat it. No one knows how the fuck computers work.
Anyone who thinks they actually know, isnt educated enough to understand about the bits they don’t understand.
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.
Nice. You’ve got the important part. Ride that until the end.
I don’t think I have imposter syndrome, I think I really might have let any skill I had atrophy.
It’s not impostor syndrome when you’re only 2 years into your career.
If you feel like you don’t know jack shit compared to what I know, after decades… that’s because you don’t know jack shit compared to what I know. There’s nothing wrong with that. Someday I’ll be pissing myself in a nursing home run by automation you maintain. We all get our turn.
I’m the meantime, lucky for you, I can’t be arsed to work more than 40 hours in a week, so there’s plenty of work left to do while you learn.
And I’ll retire soon, and I’l promise I’ll do you a solid and leave decades of my own mistakes and missteps out there for you to earn $$$$ cleaning up after. You’re welcome… I guess.
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.
This is very normal. Welcome to the big leagues. If you do something you love for your job, eventually it’s still just a job.
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.
This is very normal for your current stage of your career.
If you stick with it, it gets better when you get to someday become a self-important slob like me who only works on really interesting problems.
And how do I only work on really interesting problems? I make my boss hire a few junior developers and I delegate all the boring stuff to them.
It’s a pretty sweet deal for at least one of us. (Who for, varies by the day, really.)
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.
I guarantee that you’ve learned way more than you think. If you stick with it, you’ll have a random moment sometime soon when someone else just can’t wrap their head around a concept you take for granted.
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.
That sucks, sorry. There are more shitty developer teams than good ones. If you stick with it, and do some strategic job hopping, you can find the good ones.
This is a tough time to switch jobs in tech, I wouldn’t blame you for not wanting to mess with it.
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.
Hell yes! Fuck your current employer for underpaying you!
And you already admitted your current team is shit.
Go take that money!
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.
Your developer skills won’t vanish. Trust your future self.
If someone asks why you spent time as a non-developer “those assholes weren’t paying a fair wage” is a fine answer.
It might sound defeatist but I don’t think I’ll ever be a top 5% or even 25% engineer.
As a top 5% engineer (with a trophy for humility), it’s not all they promised.
It turns out there’s still plenty I don’t know, and I spend much more of my time confused and frustrated than I did before. The cool part is that I’m now confused and frustrated by really interesting problems.
I could be average with a lot of work, but not great.
I pay top dollar for average programmers. I’m not hiring right now, but let’s stay in touch.
There’s a lot of coders out there without the self awareness to realize what they don’t know. Those programmers never get any better, and never reach average.
(Contrasted with myself, who, as I said, have several awards for excessive humility in spite of my undeniable genius. /s)
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.
Go find out!
Beware though, when they find out you can code, they will find a way to add that to your job duties.
I know that some people just aren’t cut out for being engineers.
True. Some people’s ego or laziness blinds them to what they need to learn.
I have a huge ego, and I am deeply lazy, but I occasionally put both in check for just long enough to learn.
Maybe I have the aptitude but not the mentality to do this for 30+ years.
Take it a year at a time. Once in awhile, take out some cash and spread it on the ground and sort of roll in it.
Hopefully you’ve noticed, but while this job is usually a pain in the ass, it also pays really fucking well.
I want to know if that’s what it sounds like to people who’ve seen that before.
I’ve had this conversation with all of my very top people, if that’s any consolation.
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?
If you told my younger self how much money I could make as a mediocre engineer, I would be all over that deal.
I would’ve agonized about the trade-off if I knew I would stop loving my hobby, but taken comfort that I would later love it again.
Everything happens in seasons. Some seasons I code for fun. Some I don’t.
A cool side effect of being paid to code is that when I do find the mind space to hobby code, I am a fucking badass hobby coder.
I think you should take this job because your current employer is running a shitty team, and underpaying you. Then take another programming job later when the next opportunity arrives (and it will…it really will.)
Not to hijack from the OP, but would you change your reply if someone was feeling similarly but wasn’t yet in their first role yet? I’m coming out of 2 years of private mentorship and have spent the last almost 3 months applying with barely a whisper of a reply from a fraction of these jobs so I’m a bit down on myself. I felt confident a month ago but now I’m slinking back applying to jobs in my old industry.
Once you’re in the industry and see the typical shitshow that goes on in most companies and teams, you won’t think twice about not hearing anything for 3 months. There’s a million reasons why you won’t get a job or not hear back for a really long time that have nothing to do with you. Stick with it, times are tough right now but your luck will eventually change.
it’s a bad time to be looking for work in tech.
Be patient, keep your head up. Keep applying. You’ll get something soon.
Sorry you’re seeking in a down market. It happens every now and again in this industry. You’ll get through the eventually.
It turns out there’s still plenty I don’t know, and I spend much more of my time confused and frustrated than I did before. The cool part is that I’m now confused and frustrated by really interesting problems.
This is spot on. Your whole response ist just a trove of insight, I wouldn’t have been able to articulate so eloquently.
Maybe dont take the offer and actively search for a bettrr engineering role? Heck it may get you a pay raise too.
You have to do what’s best for yourself and your situation.
I was a systems administrator for a decade or so and I reached a turning point… I had a bad experience, was burning out, and I had the opportunity to take a new sysadmin gig at a credit union, or take a step down to a support role, that paid more, with less responsibility, and had IPO shares…
My kid was getting ready for college, so option 1 positioned me well if I needed to load up student loans. Option 2 maybe made it so we wouldn’t need student loans.
I went with option 2. Less stress, less responsibility, more pay, paid for kids college in cash, now through a series of IPOs and acquisitions, I’m working for a VERY large tech company.
Does “not being an engineer” look right for you? Quite possibly.
In my opinion you should take the opportunity and check if you will like this new job. And mind you in a lot of jobs there is room for some programming to automate some processes internally in the company if you feel like it.
But it is great that you acknowledge your weaknesses and accept them. I am also leading a team of sw devs and have a couple of juniors in my team and I try to dedicate enough time to them to explain to them more complex topics, give them recommendations on how to write better and more maintainable code, etc. And I have the feeling your lead isn’t doing much or showing interest in your work, which is a pity and very demotivating because I have been in your shoes before and know exactly the feeling.
And a bit of perspective, I have a guy in my team who is pretty smart and overall a great Dev, the problem is that it is extremely difficult to work with him, he doesn’t have a high working culture, thinks that others are stupid and doesn’t do his job well. I know how much he can but it is really a pain to work with him. Believe me I tried a lot of different approaches with him to make it work and so far with mixed results.
On the other hand I have a junior in my team who isn’t the best programmer and I believe he will never be, but he is very positive, works hard, really tries and in general has a very high work culture and it is so much more enjoyable to work with him, so you realise that skills and brain capacity aren’t everything and that sometimes work attitude is way more important.
I wish you all the best in your new endeavour and I hope you feel happier soon.