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?
You have imposter syndrome so bad you don’t even think you’re a real imposter!
Oof. Imposter syndrome is real and it’s debilitating. If a person does their job to the best of their ability and stops giving a fuck about what others might think, it becomes easier to overcome.
OP needs to realize that engineering is not about memorizing algorithms or being in the top 5%. It’s about doing whatever work you are paid to do efficiently and quickly. Quite honestly, most “engineers” I know don’t even do that much.
Monday through Friday/8-5, engineering is about solving stupid problems and getting a paid for it. That’s it. (Maybe you have to go to meetings too.)
Some engineers can memorize formulas and rattle off 200 ways to do a thing. Some engineers are constantly in some kind of dick-swinging contest with their peers. Some are constantly chasing the “new shiny” and won’t shut the fuck up about it. The most annoying ones blast out “helpful code segments” on LinkedIn to make themselves look smarter.
Fuck all that noise. It’s annoying, a distraction and it’ll cause a person to get burned out of the field super quick.
Sorry if that was a bit of a rant, but I have seen too many bright eyed Jr. engineers get crushed by the bullshit that can go on.
You 100% have imposter syndrome. If you’re getting your work done then you’re fine.
Gonna be the 100th person to chime in:
Hobby dev with a different main profession for 20 yrs here. Its the same everywhere, in any profession. I know, I‘ve had a couple.
In a bad environment, you‘ll never flourish. You wont even know your actual strengths. Please quit, try something else. Not necessarily a different profession but definitely a different team/company.
Most of what you mentioned tells me that you‘re currently in a bad place. If the team is bad, everything else gets spoiled. Sadly, you need experience to tell the difference. It might be great for someone else even, just not for you.
What you could use is some hard evidence to your strengths, your passions and your specific personality. Most likely this is achieved by taking a break. Either a long nice vacation or moving on. But time off is very important. Reflection is the key and it needs time and space.
All the best and dont worry about not being enough or doing badly. You‘re doing allright.
It seems like you are stuck in a bad environment at the moment and that does not help with your own progression.
Having a good team culture makes a lot of difference. When you get support and help from your lead and other devs, it makes life a lot better, and you learn much more from one another.
Go. Go see what else is out there and find a better place for you.
100% this. If the job stresses you out so much you can’t enjoy your time off then that’s a toxic environment. If I think about work on the weekends or evenings it’s because I’m excited about it.
I am called a srnior developer and I haven’t done a project in my spare time in many years. Not because I don’t want to, but because I do enough of that at work and I lack the energy. Most people I know are in the same boat.
Don’t confuse a bad work environment with not liking or being suitable for your job.
If you liked programming, do your work in the way that made you originally liked programming. People will put pressure on you to just “do things”. Don’t. Ensure you start understanding, slowly get more insight into what’s going on. Ask the people around you any and all questions you need to get more understanding. Allow yourself to learn. That is the only way to start feeling in control, and the only way to become ‘more senior’.
That being said. If you want to move on, there’s no harm, and no shame. Just do it because you’ll be doing something you know you will like better.
I’ve been a developer for about 15 years.
Nothing you’ve said makes me feel like you should quit.
Wanting more money is a perfectly respectable reason to want to quit, and if you think it would make you happier, go for it. Get paid.It’s not better to be an engineer or anything. No one will mind or hold it against you if you come back and say that you were a jr dev, took a position as
otherntech job
, but it wasn’t for you so now your back with a new perspective and set of experiences.Programming was once my passion. I got a lot of joy from it. I still do, and I would say that it still is a passion. But I’ve stopped really doing side projects unless it’s particularly interesting. There’s more to life than career development, and that’s okay.
Without seeing your code, I can’t know how good you actually are. Like most people, you’re probably average. Don’t beat yourself up over not knowing algorithms. No one knows those, they know the keywords and how to describe a problem and then how to pick the right one or tweak something to make it right.
The road from jr to senior is also less about technical proficiency than you would expect.
Technical competency is a must, but you’ll go further as a competent technical leader who can breakdown work, describe it, and help their teammates than as a lone high performer.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.
I haven’t used big 0 or algorithms in my 15 years of professional coding. It’s just not important unless you work for a Google and even then you’d have support.
It’s not just Google. If you enjoy that sort of thing there are industries where it’s more important. Not every day. Not every team. And you’d have support like you say.
But you can go a lifetime without using it beyond rules of thumb.
Over the 16 years since graduating, I learned that defining yourself by your career is often a trap. At least it doesn’t sound like you’re getting deep satisfaction from your work.
I burnt myself pretty bad going into the field thinking I was perusing a passion career and just kept getting kicked down for 5 years chasing a passion career until I found a work environment that paid decent and valued work/home life balance. In school I thought I’d never sell my soul, but now I’ve been working with the same people for a decade now and pretty happy about it, even with if the actual work is utterly boring.
Unless you’re a fortunate few that are truly passionate, driven, and lucky enough to land a career that fills your entire bucket, look for a job you can tolerate BUT with group of people that support you and your growth. In the end 2 years in is a drop in the bucket and you’ll see your career change directions over and over. You can always learn new skills or relearn them, so if this new job is something different to get you out of a slump, I say go for it. No one can answer for yourself but you.
You honestly sound like your stressed out and in fight/flight mode. The first step is just acknowledging where you are mentally and how it’s going to make everything seem worse than it really is.
Knowing nothing else about you or the new job offer, it makes sense to take the offer. But I’d rather know more than the information you’ve presented. The good news is that you do know more and can better determine if there are mitigating circumstances that make turning down the offer make more sense.
What else do you think would be helpful to know?
I’m sort of the same as you.
I took a 6 bootcamp, got a job straight away after as a full stack junior web developer.
Programming as a job was the single worst decision I make. I was working with languages and frameworks I don’t enjoy, I was building a product I don’t care about in the slightest.
It took me 1 year of full time web dev before I quit and went back to regular IT which isn’t the most fun thing, but it works for me. I’ve been doing it for over a decade so I can do it in my sleep, it’s easy money tbh. Programming for me is definitely more of a hobby than a job. Having it as a job really killed my love for it
Nowadays I only code in Python which I LOVE. I use my programming skills to automate work tasks, and I make small scripts here and there and it’s so much fun.
Solving small problems with scripts is just what I enjoy doing. I get to work on a project for a day or two. I can complete it fast then move on to something else.
Now I’m about transitioning into Data Engineering instead of Software Development.
A couple of questions that may help you better understand your own potential;
- Do you have any fun at work? And if so, is it due to the work or your colleagues?
- Does your job keep you up at night? And if so, in a good or bad way (e.g. stressful)
- Do you still have the feeling you could program as a hobby if you weren’t stressed as balls?
- Do you have any mentors/coaches/seniors that help you overcome times when you’re stuck/don’t know where to move?
Most engineers are in the bottom 80% btw, and a lot do valuable work (albeit slow, and not ‘bugfree’). These people are generally most effective when supporting a senior that is in the top 10%.
Also the engineering market is currently pretty shit, and it’s not looking to get better any time soon.
What ever choice you make, try to do something that ‘energizes’ you.
As someone who switched from another domain to tech, I suggest trying to reason through your hesitation to switch away. Do you want to stay in tech because you like tech or because you’re afraid of “giving up”?
In my other domain, I worked hard and did OK, but not stellar. In tech however, it’s a completely different story. The other domain was “cool”, and I don’t regret what I learned along the way, but tech clearly comes easier to me compared to someone doing well in the other domain.
You need to be honest with yourself before you make the decision to switch. Are you running away from tech or towards something else?
I think there’s some truth to being afraid to give up. But I can’t see myself in any other industry, and I am proud of my work whenever I see it in production/being used irl. So that makes me think I’d always enjoy being involved with building stuff in some way.
In response to your last question, it might be both. I think my current job is a push factor, and the new field is a pull factor. As other commenters have rightly pointed out, I’m not enjoying my job. I don’t know if that means it’s wrong to recognise the signs that I might not be as motivated as I should be, though.