this post was submitted on 24 Feb 2024
140 points (95.5% liked)

Programming

17364 readers
246 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 8 months ago

Tldr; take offer, don't quit engineering yet, you are fine

Don't quit engineering if you enjoy it. If you have better offer and the current ship is leaky as fuck => jump the ship. Saving the leaky ships should be very profitable if it is not => you are being heavily exploited.

I jumped the ship thrice. And one time accepted a lower payed position, just because I was quite burnout.

On the topic not using the progress and not understanding the Intenals. Understanding internal will not make you senior. Understanding what you can apply that you already know can make you senior. I remember being in a situation like yours. I thought I didn't know Jack, but then on a newplace I seen people who were running around like a headless chickens on crack. This has given me a good understanding about what knowledge is and that applicable knowledge is the key.

[–] [email protected] 3 points 8 months ago

I graduated college with a 2.8. I was a glorified HTML modifier for 2 years.

I've since job hopped, learned on the job, studied on my own, etc. and am a Principal Engineer making...a good chunk of money.

I am not book smart. I couldn't pass a Big Tech interview (probably). But there are plenty of jobs out there I can do and I can do well. For me it boils down to soft skills.

I think you'll be fine. But you do you.

[–] [email protected] 4 points 8 months ago

Dude.

  1. Stop comparing yourself to your heroic peers. You know you're not lying about your rich 'hustle' life (or lack), but you don't know they aren't.

  2. Do all the work but then get the downtime. Don't try to do too much too soon.

  3. Decide for you in all things. If you're gonna do the time, you pick the crime, to borrow a phrase.

  4. Don't lose heart. Incremental progress takes a long time. Pick a quick task to stay engaged, but realize sometimes that task is 'sleep properly'.

That's all I got.

[–] [email protected] 17 points 8 months ago* (last edited 8 months ago)

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.

Solving problems and getting a result that someone else is happy with is 90% of engineering. No one knows everything, your job is to use what you DO know to figure something new out.

The last 10% is what you need to work on - being able to confidently explain to a boss what you do in way that they understand while sounding complex enough to justify your pay and subsequent raises.

In time you will learn whatever system your using.

However, on the flip side, if the current job isn't getting you anywhere and everyone there sucks. Leave, take the better paying job for a little while, continue working on your skills and look for a engineering job elsewhere.

[–] [email protected] 5 points 8 months ago

Mate Im writing this after reading the top half of your comment.

This is a normal path, and the insecurities are going to stay with you for a long time even after growing into sr

If you're not passionate that could be either in you or on your job, and the best way to see is if you search for other jobs and that excites you. So give yourself a chance and look what companies around you or far from you are doing.

[–] [email protected] 3 points 8 months ago

As a senior engineer recently turned manager I hear this type of mentality from most of my junior all the way up to senior devs.

The only thing I'd suggest to you is spend some time digging into the tools you're building outside of the project you're working on. Just to get a general understanding of how the pieces fit together. Definitely do it during work hours, though. I'm in no way suggesting outside of work, here. Once you've spent enough time digging, you'll surprise yourself in how effective you get at answering questions.

[–] [email protected] 1 points 8 months ago (1 children)

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.

[–] [email protected] 2 points 8 months ago (1 children)

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.

[–] [email protected] 2 points 8 months ago

Thank you for your support. Yes, and new tech is not always good.

[–] [email protected] 18 points 8 months ago (1 children)

I say take the job that pays more and rediscovery your joy. The world needs more people who understand how to code but do something other than code as their full time job.

[–] [email protected] 2 points 8 months ago

Yep do that except if it's Amazon, they'll grind you into dust.

[–] [email protected] 8 points 8 months ago

Not a software engineer, but work closely with them in a different field. This is 100% common, especially for junior devs.

My honest advice is to push with it and truly spend some time in the field, and if you hate it, then leave without regrets. However, know that the initial bump is the hardest, over time it gets easier and you'll even likely find yourself doing side projects on your own time!

Just my 2 cents.

[–] [email protected] 26 points 8 months ago

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.

[–] [email protected] 6 points 8 months ago

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 why I have never taken on programming as a profession. I earn more than I would ever make as a developer (even a very senior developer) leveraging my (average) programming skills to produce a personal suite of software tools and scripts that means I can do my chosen profession better, faster and with less effort than any of my colleagues or competitors. I have also developed small apps on a private/ personal basis that I have then sold to my employer for wider use in the company.

And I still enjoy programming as a hobby as much as I ever have. Don't underestimate how much being able to program at even an average level can boost a career in another field.

[–] [email protected] 52 points 8 months ago (1 children)

You 100% have imposter syndrome. If you're getting your work done then you're fine.

[–] [email protected] 11 points 8 months ago

Simply being aware they're not in the top 5% probably places them well within the top 25%.

[–] [email protected] 15 points 8 months ago (1 children)

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.

[–] [email protected] 5 points 8 months ago

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.

[–] [email protected] 7 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 11 points 8 months ago (1 children)

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.

[–] [email protected] 1 points 8 months ago

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.

[–] [email protected] 4 points 8 months ago

I personally work for more than 20 years as dev and really hate to see myself as senior. I think I am more of a Veteran. I only have more practice and survived more projects. What I am trying to say is, give yourself time. Nobody starts out and knows everything. And even if you have experience, there is always a bigger fish. Simply because the topics are too complex to know them all.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago)

First of all if you solve problems that means you know enough of the subject to reason out the solution, it may not be perfect but very few solutions are.

I have been working on legacy code and maintaining old c++ code for a decade (200.000 loc) and most of the time I had to spend days debugging and reading code just to understand enough to get a possible solution, and then I still end up writing a solution that breaks in a different corner case that I never could have imagined.

So yes most of the time you feel like you don't know anything, but over time you end up knowing a lot of how that codebase works. And after two years you must have picked up something about what you are working on.

Then you have those programming language genius colleagues, that know all the tips and tricks of a language, I use them to get ideas on solutions, because they always have an opinion on what is the "right" way of doing stuff.

That's just my 2 cents.

[–] [email protected] 22 points 8 months ago (1 children)

Some people are passionate about their jobs and some people just do it as a means to an end. There is nothing wrong with being in the later group and I say that as someone with ~20 years in the software space and never opens an ide at home.

I've always thought the best way to kill a hobby was to turn it into a job. I won't speak to if you should or shouldn't change roles, there are a huge amount of factors to consider there, I'll just say that not everyone who is successful in development is a guru, ninja, in it for the love, kind of person.

[–] [email protected] 2 points 8 months ago

I've always thought the best way to kill a hobby was to turn it into a job.

100%

I tried turning my hobby of programming into my job. On the surface, I was reasonably successful, but the most enjoyable aspects of my hobby had to be set aside in favour of actual productivity.

Worse, the fact that I actually got pleasure from my work left me open to exploitation. When I finally woke up to that, I ditched programming in favour of "just a job" that paid the bills and was about a million times happier as a result. It's only recently, 15 years after leaving the field, that I find myself once again drawn back to programming.

[–] [email protected] 16 points 8 months ago

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.

[–] [email protected] 60 points 8 months ago (1 children)

You have imposter syndrome so bad you don't even think you're a real imposter!

[–] [email protected] 11 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 5 points 8 months ago

From your description, my view is limited, there is no correct solution. Any choice is viable and fine, and any decision you make will be due to the reasons you chose with.

You didn't disclose what the alternative opportunity and field is, and also not your view on the field and you in it. So it's difficult to assess and put into relation.

You didn't disclose what you did before work, but two years is not that much experience for an engineer. Especially if it is not a particularly nourishing environment. You gain such expertise through experience and exposure over time. Depending on the project and environment it's also not enough to fully understand and intuitively know a big project.

At my workplace we separate role from [personal] development level. As a developer one's role may be developer or lead developer. The development stages are Trainee, Junior, Professional, Senior. If you can work on tasks mostly self-reliant (asking and collaborating is still open of course; knowing when to ask is a skill too) and can put tasks and work into context, you are a Professional. A Senior can support and guide the team. It is perfectly fine to settle for Professional.

Not being exceptional is not a good reason to quit. If you work and bring value, that's still value. Don't decide whether you are valuable or good enough for others. (This leaves out the question of what it means for yourself of course. Tackle those questions individually.)

You say you get your work done. Continuing to do that at a Professional Developer rather than Senior level is fine. You still bring value.

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 really can't answer that specifically.

You said your team environment is not the best. I assume you don't do retrospectives or personal feedback. Is feedback something you could ask [of some of] your team members, lead, or seniors? (Take care not to poison your question for open feedback with your negative assumptions of yourself and your work.)

Where would you like to be? Separating what you think is expected of you from your expectation and view of yourself and from what you enjoyed and where you think you would feel comfortable settling, how would you lay those out?

Have you considered switching project or employer? You have only seen and experienced that place. A different work environment could be very different - even in the same field.

[–] [email protected] 5 points 8 months ago

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.

[–] [email protected] 9 points 8 months ago

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.

[–] [email protected] 2 points 8 months ago

You should go into underwater welding.

https://m.youtube.com/watch?v=CKKjs7PtHZo

[–] [email protected] 25 points 8 months ago

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.

[–] [email protected] 11 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 5 points 8 months ago (1 children)

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?

[–] [email protected] 1 points 8 months ago

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.

[–] [email protected] 3 points 8 months ago

Being mediocre is fine. And you can't expect to feel competent after 2 years, especially if you're not in a supportive environment. Maybe 5 years. It took me muuuch longer than 5.... This stuff is hard, don't expect to master it quickly.

[–] [email protected] 4 points 8 months ago

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.

[–] [email protected] 4 points 8 months ago

I used to be like you. I had passion for what I was doing. Then I got my first job.

Companies will suck your soul and your passion right out of you. Or sometimes you'll find a job where you can actually exercise your passion, but you'll have a shit boss that'll make you feel bad the whole time you're doing it.

It's really hard to find that one golden nugget of a job where your can do what you love and be treated right.

[–] [email protected] 9 points 8 months ago

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.

load more comments
view more: next ›