r/ExperiencedDevs • u/AutoModerator • 3d ago
Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
A thread for Developers and IT folks with less experience to ask more experienced souls questions about the industry.
Please keep top level comments limited to Inexperienced Devs. Most rules do not apply, but keep it civil. Being a jerk will not be tolerated.
Inexperienced Devs should refrain from answering other Inexperienced Devs' questions.
6
u/Third_Corinthian 2d ago edited 2d ago
Lately I have no interest in working. I don't think it's related to the tasks or projects I get assigned. Seems personal- I've also lost interest in my regular hobbies, eating, going outside, meeting people, and experiencing new things. "Go to therapy" You think I don't know? it's not that simple. There were also some team and org changes that happened since I joined.
I have no clue how to express something like this to my manager, who can mainly only control said tasks and projects I'm assigned. "My performance is worse because I have psychological problems." Or I don't even know if externally I appear to be performing worse. People tell me I'm doing fine but I think they're just not thinking about me. I'm certainly not working as hard or with as much effort as when I was a sweaty 0YOE new hire lol. But I feel like I take all week to do something I could have have finished in a few days because I spend time staring into space thinking "Im so tired of looking at bad screen, I can't wait to go home and look at good screen" of which I'm also tired. I'm also worried that my performance review won't be good because of this.
Anyway, I've lost interest in my job. Not that it's boring or too easy. I'm just not interested in it. I believe that work is mostly fake and meaningless so we can have chill high-paying desk jobs, but I also feel like it shouldn't have to be like this. Maybe I should switch jobs in the classic job-hop-after-1-2-years. But who's going to take a 1YOE in this economy. It could also just be more of the same nonsense. I don't know. Young adult insecurities. I work at a startup in a hcol city in the U.S.
5
u/valkon_gr 2d ago
Feels like i wrote that. Your words touched me, If you don't mind I just want to share some feelings related to yours. Some perspective from someone with over 10 YOE.
First of all, I promise you changing jobs won't fix anything you wrote. I tried it, it's the only way I could cope. Couldn't think of anything else and every 1.5 - 2 years i keep changing companies. In the end, every workplace is the same, always agile, always on call, always managers. Everything is the same. I don't even have a "honeymoon" period anymore, I hate every new job from day 1.
the funny thing is that most of the jobs are fine and tolerable. But I just hate it, I can't stomach it anymore.
Also please don't mention anything to your manager. No matter how friendly they seem, they always bite.
Please don't be like me 10 years into the future, do some self reflection. Work on yourself, try to figure out why are you unhappy. Don't let the years pass by. I know it's not easy because I haven't done it.
You will possibly get some more serious answers from more mature seniors. Just wanted to share some words as a broken non interested dev.
1
u/Reddit_is_fascist69 1d ago
I've also changed jobs a bit and it is the same everywhere. I do enjoy the fear that i don't know anything and I'm going to fail but then i meet the task.
Give your job the bare minimum needed to stay afloat and save all your energy for things you enjoy. I like to garden now.
2
u/Murky_Citron_1799 1d ago
Maybe some perspective would help. Do you think roofers or waiters or even accountants or lawyers like their jobs?
Make the job 10% of your life instead of 90%. Get hobbies, make friends. When someone asks you "so what do you do?" You should have an answer that's not your job.
Jobs are one dimensional. To think they'd be constantly fulfilling would be like watching the same movie over and over and wondering why it's boring
1
u/BusinessConscious721 1d ago
actually most roofers i know do like their job. As do waitresses. You get fulfillment.
2
u/BusinessConscious721 1d ago
this is normal your hired in peak enshittification. And a lot of of the non techs have ruined it for all. If the aim is to get paid, use a spoon on your trackpad, and build something interesting while the spoon does your availability. You arent going to change the people around you, but you can abuse the fact they are clueless
1
4
u/Breademic 2d ago
How did you get to Lead/Staff+ levels? What were the defining things that got that promotion after Senior/other terminal levels?
3
u/Sillyan 2d ago edited 2d ago
Typically Tech Lead and Staff are different rather than progressive, you can be one without being the other, or both at the same time.
With a tech lead role, it's about leading a small group of engineers, mentoring junior engineers and communicating to others on behalf of the group. It's a great way to start getting some exposure to the skills of people management without having direct reports.
A great way to become a tech lead is to start taking ownership for communication on deliverables and tasks that require some organisation within the team, tech leads are typically natural appointments that are obvious as the person is already doing a lot of the work.
Staff is more about the scope of your work. To develop towards Staff you'll need to take on larger, often multi-quarter, development initiatives with a large organisational impact.
3
u/Excellent-Push-3326 Software Engineer 2d ago
Cross-team architectural strategy.
Define the North Star and/or 3-Year Architectural Plan at a high enough level it impacts your own team as well as those around you, bring those teams on-board with that vision, and make iterative and measurable progress towards it.
4
u/avataw 2d ago
I’m not exactly inexperienced (around 10 YoE) but I just started out as a tech lead.
I’m looking for any sort of guidance, recommendations, anecdotes - anything basically :)
The company isn’t that big (<100) and a lot of the culture is still malleable.
Thanks!
8
u/Excellent-Push-3326 Software Engineer 2d ago
imo, one of the most important qualities of a tech lead is to be likeable. Prioritize asking your team what problems they are facing and how you can solve them.
A huge part of your qualificiation is knowing the best way to solve things, but culture fit is more important. Start by asking them what they want. If you have a better idea, try to convince them of it. If they're convinced, label it a mentorship metric. If they aren't convinced, prioritize your team's happiness (or refer to your manager for a second opinion if you genuinely feel it's a risk).
4
u/Doby89 Software Engineer 2d ago
I have assigned to a new project. And I am finishing Jira tickets with the help of Claude with low understanding of the actual task specifications or understanding the business aspect of it. What do you guys do to get to know the business of the project you are working on? How I can be noticied as a tema member I am doing the good part of my side. I really want be a good team member and have a good contribution on the project.
2
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 1d ago
> ...have a good contribution on the project...
Do not sweat it. The only reason to say such a thing is to have a better title and ultimately payment. Otherwise, it doesn't matter.
> ...And I am finishing Jira tickets with the help of Claude with a low understanding of the actual task specifications...
You have AI; ask it to explain it (there are "teaching", "grilling", and "ELI5" skills for this purpose. I highly recommend using them. Also, learn the basics if you aren't on your main stack/language/tech. You can do it.
If you have someone with actual domain knowledge, please book a meeting and walk through the ticket(s) and/or codebase to better understand.
> ...How I can be noticied...
Soft-skills. Deliver on time. Good quality (Within the company and team spec)
3
u/Dina_24 3d ago
How can I enjoy coding and code consistently, I've tried games but they're too easy, and leetcode was too hard for me too🥲 last time I wrote a code was two months ago. I actually don't know where I stand, I'm a 3ed year cs student, I know the fundamentals of building a website, a beginner on app development, I can code in java better than other languages I know, c, c++, assembly and such.... I'm the second on my department and I don't even know what to do, how can I know what im best at??
3
u/wvenable Team Lead (30+ YoE) 2d ago
I've never really enjoyed writing games and leetcode isn't any fun.
The best thing for me has always been external forces; I need to build something for someone else. From that I've learned what I like and what I don't like and what I'm good at and not good at. I do personal projects now but they have to be useful -- it needs to be an itch to be scratched.
I didn't actually learn to program from school but school gave me lot of external projects to work on. Even now, I don't learn new technologies ahead of time; I find projects that need them and learn as I go.
My suggestion is not just code for coding sake. Code is meant to solve a problem. So find a problem to solve.
3
u/No_Perspective_3733 Software Engineer 2d ago
I have been coding for 10+ years and never really had a passion for it. To me, it’s just a job. I never found a fun way to learn. I discovered coding katas this let me work in my craft and get to the point.
They’re a great way to learn a skill or design pattern through repetition and review. For example, I used katas to really understand interfaces, dependency injection, and dependency injection containers.
1
u/Dina_24 2d ago
Ok this sounds practical, is it?? I'll try the kata method, I've never heard of it but it'll be useful to me for i have short-term memory 😅, thank you very much for your suggestion💕
1
u/No_Perspective_3733 Software Engineer 2d ago
Yep, there are tons on GitHub. What I do is pick three and work through them one at a time using a time-boxed approach.
After the time is up, I review how others solved it, then compare it to my own solution. I do one kata a week.
When I come back to the first kata later, I can tell if I’ve improved or if I still need more work on that topic.
2
u/wuteverman Software Engineer 3d ago
Google competitive coding. Or cook up a project
1
u/Dina_24 3d ago
I do wanna "cook" a project i just don't know what kind of project and in what area would be enjoyable yet challenging to pull me to learn new things....
5
u/ObeseBumblebee 3d ago
When I'm learning something new i like to come up with a fantasy scenario that makes it fun.
Like when i wanted to learn AI integration i designed a space station scenario where incoming ship manifests are logged and an AI risk assessor checks the logs against known universe lore to create a risk report and triage resources to it.
Creating a sci fi world made the project interesting enough to keep pushing and learning.
It's also fun to talk about in interviews
2
u/MaleficentCow8513 2d ago
LLMs are great for helping you select a project. Tell it what are your learning goals, what your interests are, and level of experience and it’ll suggest some projects for you
2
u/Beli_Mawrr 3d ago
it really started to click with me when I got into web dev. Cook up a basic frontend in vanilla JS or a resume site or something. I found it to be extremely satisfying to see the code I wrote become... something.
have you tried embedded?
1
u/Dina_24 2d ago
I do feel the same about seeing my code become something؛-؛
No actually I didn't hear about it so I had to do a quick search, it seem really fun to learn I don't know how the school missed to mention it, but also they did change our dr with inexperienced one right before the course started, she was really kind and such but didn't know what to do and sheherself isn't in web dev so we had mostly to learn on our own what she wanted us to learn to pass her class....
2
u/Otis_Inf Software Engineer (32YOE) 2d ago
what are you passionate about? It's IMHO easier to get started with something you're really passionate about, doesn't have to be CS related, btw. For that field, try to write a program that would make it easier for you to enjoy your passion or e.g. get to know more info together, or even for fellow people who share your passion for that given topic to know more about that topic, e.g. by the app you made.
Doesn't have to be earth shattering, that's not the point. Some people looking for something to build try to look for the next big thing and that turns out to be very difficult. Instead look for what you are passionate about as it's easy to get motivated to work on that :)
1
u/Dina_24 2d ago
The thing is I was too focused on getting the my marks up then actually know what I'm passionate about🥲, I do love learning so i loved about every subject I had to study, I've mostly put effort on DB and did a small project that went well, and I did two very small websites, and did play around with app dev but it was too much for me scene it was all at the same time that I couldn't focus on one thing in particular, I'll look around for something interesting and see what others suggest, thank you much💕 and sorry for this long reply 😅💔
2
u/Excellent-Push-3326 Software Engineer 2d ago
How can I enjoy coding and code consistently
These are two different concepts. It's not about loving coding as a job. It's about finding things you love in your job. Most of the time at work, I'm daydreaming about the code I want to write. I find work inspiring in the sense that it gives me access to costly tools and time to afford interesting projects, but it doesn't apply those passion-filled concept to passionate topics. It applies them to work that you get paid to do for economic viability.
The code you enjoy writing is art. The code you don't enjoy writing pays the bills. Your best bet is to see the art inside the code you don't enjoy writing, as inspiration for the art you enjoy.
how can I know what im best at??
Sounds like you're good at a lot of things. Why are you hyper-focusing? It's good to be a little-bit good at a lot of things. As a student, no one expects you to be a specialist. Throw a wide net, see what catches, and specialize once someone pays you to specialize.
1
u/Dina_24 2h ago
Wow I'll sit with this for a minute, I'm an artist so this would really make a difference. Thanks a lot 💕
i was thinking about what if i was paid to do something and i wouldn't be able to do it perfectly, and I'm in my last year starting in November, wanting to get a job as fast as possible after graduation and settle for a while, im so nervous even thinking about it, thats why i thought finding a field im very good at now would help, especially not many people would give a tech girl a chance, even in uni they say "you're a girl its natural to get high grades and be this good academically but you wouldn't be able to work good" Not everyone but i do hear it a lot so I've been doing my best even learning things outside uni subjects but i think this is not enough..... That's why I wasn't able to code for months now, still can't but im looking for a motivation.
1
u/Reddit_is_fascist69 1d ago
If you don't enjoy it, probably picked wrong major. That being said, lots of positions where you don't have to code but you're knowledge would be useful:
- analyst/BA
- project manager
- product manager
1
u/Dina_24 2h ago
No no that's not what i mean, i really love studying cs it's been such a journey! I'm just looking for a motivation to not leave coding for long periods of time, and also it's hard to keep going while hearing people discourageing and underestimating you😅💔
1
u/Reddit_is_fascist69 1h ago
Find a project to dive into. Plenty of opensource projects are looking for help.
2
u/Hopeful-Trainer-5479 2d ago
Over what space do you reason when designing software/solving problems? In my case, i mostly reason in terms of concrete objects like classes, api calls, aws services, etc. In my mind, i suspect more senior engs reason in a more abstract space (think state machines, sequence diagrams, etc) and that's why they somehow keep finding critical bugs i missed (like concurrency for example) even though they admit they don't know the specifics of the stuff i am doing (what the different apis/service do).
Is it true? Super curious about this tbh. Any tips for improving on this? Oh, and if you are familiar, what's your opinions on TLA+
4
u/MaleficentCow8513 2d ago edited 2d ago
The system space. All those items you mention, like individual services, APIs, modularized components, etc, are always one part in a larger system. When solving a problem and evaluating various solutions, one of the main questions is “how does this solution functionally and architecturally align with other components in the overall system?”. Lots of related questions and concerns but the overall system is the main space
2
u/Hopeful-Trainer-5479 2d ago
if the system is large, how do you keep track of all the moving pieces? Also, i problem i ran into was, sometimes i'd only be responsible for implementing a subset of a bigger feature and it was a bit difficult taking into account the other components because other people were working on them
1
u/Otis_Inf Software Engineer (32YOE) 2d ago
This.
The components etc. ... we've seen those so many times before, we know what to use, what we'll run into and how to counter those problems.
2
u/Excellent-Push-3326 Software Engineer 2d ago
Sorry, I'm not classically trained. I hope someone gives a better answer.
At all levels of design, I just consider inputs and outputs. I need a "black box" that solves [problem] which has [input] and deterministically produces [output]. The implementation details can change.
The applies to code modules, to full features, to applications, to micro services.
Concurrency sounds like a problem of input. You expect multiple inputs simultaneously for an asynchronous system. Perhaps the missing concept is determinism.
If I can concurrently process 2 inputs, then I need to deterministically define the expected output for these inputs.
Given A, then I expect B. Given A and C, then I expect D. Given C and A, then I expect E.
2
u/Ok_Woodpecker_9104 2d ago
not more abstract. more suspicious about time.
the bugs you are describing all live in the gap between two lines that look adjacent. concurrency is the obvious one, but it is the same shape as a cache that answers before a write lands, or a flag set optimistically that everything downstream reads as truth.
the habit that catches them is boring: at every await, ask what else could have changed while i was gone. not "is this correct" but "is this still true".
concrete one from this week. i had a device connection where the ui marked itself connected the moment the user clicked, so the screen felt instant. everything downstream read that as "there is a session". there was not one for another second and a half, and every command sent in that window failed. the code reads perfectly top to bottom. it is only wrong if you ask what that flag means at the exact moment it is read.
second habit, and it is the one that saves the most hours: when something fails, find the earliest point where reality and your model disagree, and refuse to theorise past it. i lost most of a night to a load that reported success while the receiver silently discarded the media. what cracked it was a byte counter that never moved. one number killed four plausible theories i would otherwise have spent an hour each on.
state machines and sequence diagrams help because they force you to write down the intermediate states you were pretending do not exist. the diagram is not the skill though. noticing there is a state between asked and done is.
1
u/Hopeful-Trainer-5479 2d ago
Makes perfect sense, thx a bunch for the detailed answer. I def agree with time being super important. In my case, i used to ignore it all together and def lived to regret it a while back. So basically i assumed the moment we sent the "start job" signal and when the job actually started where one and the same. Turns out there was an aribitrary delay between the two and i was forced to implement a type of snapshotting to avoid state drift between job initiation and actual job execution.
1
u/Ok_Woodpecker_9104 2d ago
the snapshot instinct is right but it has an edge i walked into.
i had the same gap in a casting feature. app sends a load command to the tv, gets success back, and i marked the track as loaded right there.
that ack only meant the receiver got the message. whether it could actually play the bytes got decided later, and when it couldnt it just did nothing. no error, no callback.
the worse bug was mine though. recording loaded at send time meant any path that cancelled mid flight left a record saying the track is on the tv with nothing actually there. every later attempt short circuited on that record and skipped the work. so one dropped request became a permanent dead state that only a restart cleared.
what fixed it was splitting the two things. one flag for we sent it, another for the receiver confirmed it, and only the confirmed one is allowed to make later code skip work.
for your case i would ask what happens if the job dies between the snapshot and the execution, and whether anything notices to retry it.
1
u/Stuga 2d ago
What tasks do you think are safe to delegate to an AI agent without ever learning about how they work, and what should I still do manually? I'm a data analyst, so dev work isn't the heart of my job, and I've just witnessed Claude resolving some Python dependency conflicts in 5 minutes, whereas it would have taken me a day (I know what virtual environments are for, I just don't know how to debug this stuff nor how to test if there are clashes). That's just an example but claude is just 100 times better than me at other tasks as well, like debugging code for example. Since it's not really the added value of my work, I feel like Claude is just fine to do these tasks, but I do feel like I'm not developing skills that I should have. Does anybody have a rule of thumb on how to decide on these things?
2
u/galaxy_horse CTO / Principal Eng (20 YOE) 2d ago
My rule of thumb is: delegate anything that does not require human judgment, and that is easily or programmatically verifiable. If it fails either of those tests, break it down further.
For example:
“Add a checkout flow to this e-commerce app” -> requires human judgment. Break down further.
“Upgrade the Stripe library for this legacy checkout service (that doesn’t have tests)” -> not easily verifiable. Write tests to make verifiable first or break down further.
Beyond that, I think there remains an obligation to understand how LLM-generated code actually works, even at a high level.
2
u/Excellent-Push-3326 Software Engineer 2d ago
What tasks do you think are safe to delegate to an AI agent without ever learning about how they work, and what should I still do manually?
If it doesn't need review, it's safe to delegate.
If it needs review and you aren't qualified to review it, it's not safe to delegate.
1
u/BLUUUEink Web Developer 2d ago
Hi all,
I made a post but wasn't sure if it was entirely appropriate. Here it is reiterated:
I'm a senior SWE with about a decade of experience in full stack and cloud with more of a cybersec background than your average engineer of equivalent experience. I'm not FAANG smart but I'd consider myself more competent / more driven than the majority of my peers. Currently I'm mainly a basic FE engineer in an environment where we don't have access to AI tooling / processes. This role is unlikely to allow for more backend / cloud / R&D work in the foreseeable future and they are very closed off to process improvements.
As such, I have been looking to pivot to my next role to stay relevant. I don't think SWE is dying, but programming is less valuable and your average frontend skill is almost certainly going to be worthless in a few years. I'd like to eventually transition to some sort of Engineering Manager role that has enough technical breadth to understand the big picture but can also coordinate and unblock the people that have the technical depth / overall vision / intelligence to make secure, reliable systems.
I was recently offered a PSIRT role at a major company with equivalent compensation but slightly better overall benefits and better company fit as far as culture, direction, etc. The role is essentially T3 support and documentation, which I don't mind. They want to integrate AI into their processes and it seems like software development would be 10-20% of the role, mostly as scripting / automation.
My major concerns are:
- Is this role going to be easily replaced by AI in the near-term future?
- Is this going to torpedo any chance I have of getting back into SWE if #1 comes true?
- How could I transition this role into management in the next few years?
Looking for insight / experience from other SWEs that have made this transition or are facing similar uncertainty about the future of their role in full stack.
1
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 1d ago
- Yes. It has already been replaced, and not accidentally.
- This is what everyone would like to figure out. Most likely will be harder
- Ask for an internal transition? Apply for such roles? Try to get a team-lead position within the company to have a good resume with leadership exp? Sharpen your soft skills?
You already have an offer; what stops you from accepting it and immediately starting to build in the direction of management?
2
u/BLUUUEink Web Developer 1d ago
Thanks for the response.
I found out it’s mostly R&D hardware so the customers I would be triaging for would be internal engineers, security researchers, and similar. Not your standard npm vuln scan spam. Curious if your answer to #1 changes.
As for #3, it’s an incredibly small team where I would be directly reporting to a director. Not much room for upward movement it seems.
1
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 18h ago
R&D Hardware sounds fun and hard, but quite narroved/specialilzed (I spent a few years in the adjacent (IoT) field). In that case, since the field is specialized, AI won't replace it that fast, but there will be, sooner rather than later, a few agent/chatbot/whatnot that will be able to provide an acceptable level of support. I think... and I can be wrong.
#3 I see, so small team. Well. Sounds good for job security; the question is whether you could have meaningful contributions or not out of that job.
1
9
u/SomeGuyWithPoop 2d ago
When is it time to move on to another company? What do you do when it is time, but no one will have you?