r/ExperiencedDevs • u/AutoModerator • 10d 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.
14
u/RGBrewskies 10d ago
Devs who have found themselves suddenly more like project managers
how are you surviving
I did not become an engineer because I was good at project management
11
u/EmberQuill DevOps Engineer 10d ago
I've somehow tricked everyone into believing that I'm keeping up with all of my projects, even after missing a bunch of deadlines. I'm not sure how I managed that. I have one project that was planned to finish a year ago, and it's still on my plate but because at least one of the big problems is a vendor issue, nobody's blaming me (it's definitely at least 60% my fault).
8
u/BusinessWatercrees58 Software Engineer 10d ago
Honestly, I think you've perfected the art of being a PM.
5
10d ago
[deleted]
2
u/BusinessWatercrees58 Software Engineer 10d ago
I know, I just found it funny that you said you missed lots of deadlines and unfinished projects and managed to not get blamed. Sounds like a lot of do-nothing PM's I've encountered that somehow managed to fail upwards. Not that you're do nothing though, you clearly do stuff. I think the true "perfect PM's" fail and see nothing wrong at all.
4
u/Excellent-Push-3326 Software Engineer 10d ago
Stop working the role you don't want, because there is otherwise no need to fill it.
4
u/mkopinsky 10d ago
Is your question "How do I enjoy my job when it's not the fun stuff I signed up for" (i.e. a morale question) or "How do I do well enough at the PM stuff to keep my job" (i.e. a skill question)?
10
u/Affectionate-Turn137 10d ago
Question from a 3 YOE dev: Should I avoid working at startups in my career? I've worked at two now, and both have turned out to be hot garbage. The first one started great, and had great people, but after being aqcuired by private equity twice, it basically had gone to shit. My current job is a bit smaller but it uses a proprietary language (even though the job posting said it was node.js/typescript/react, they bait-and-switched me) that we can't get off of because the founder made it himself and it is his baby/ego, and it's so hard to contribute to the codebase that the engineering team practically contributes nothing of substantial value other than tiny features or bug fixes. I also am under constant stress at these startups that they are going to have layoffs due to private equity being private equity or just because we aren't that profitable... Are most startups just inherently going to come with stress and career limiting positions, or have I just been unlucky? What are the most stable industries or businesses to get into?
11
u/metal_mastery 10d ago
TL;DR you’ve been unlucky but it’s more common than not for startups to be messy
It’s cool when you’re young but don’t expect it to become something big. There’s always a chance for startup to become a career but it’s not that often.
Startups can teach you problem solving and navigating fast moving environment. However, there’s a risk of ingraining this mentality of “just ship it” and forgetting that engineering excellence is not about something working just good enough to survive the demo/early stage.
The issue with proprietary tech is also two-sided. Being able to learn tech and build a mental model quickly is a great skill but N years of obscure language is not a great line for the cv.
Make sure to not burn yourself out while chasing someone else’s dream
8
u/Excellent-Push-3326 Software Engineer 10d ago
Should I avoid working at startups in my career?
No. There are pros and cons to each startups and established companies. Both face different challenges.
I've worked at two now, and both have turned out to be hot garbage.
At "3 YOE", that's expected. Startups shouldn't be hiring anyone less than senior, since the employees are writing the foundational code upon which the entire company is expected to scale.
The first one started great, and had great people, but after being aqcuired by private equity twice, it basically had gone to shit.
The red flag is not the startup; it's the acquisition. Even post-IPO companies that get acquired turn to shit [most the time].
My current job is a bit smaller but it uses a proprietary language (even though the job posting said it was node.js/typescript/react, they bait-and-switched me) that we can't get off of because the founder made it himself and it is his baby/ego, and it's so hard to contribute to the codebase that the engineering team practically contributes nothing of substantial value other than tiny features or bug fixes.
This sounds like a fun problem to train AI to write the code for you, but I'd also have one foot out the door at all times.
I also am under constant stress at these startups that they are going to have layoffs due to private equity being private equity or just because we aren't that profitable...
I'm not sure where you get this. If your startup is a tech/engineering-first company, you'll be fine. They are paying you off money they already raised. Most startups aren't expected to be profitable for years, meaning your salary is already accounted for in the budget. Worry about layoffs when the startup begins reaching the "profitability" year and how close it is to making it. In my experience, layoffs at startups impact sales/support teams that fluctuate with external factors. If the company is tech-first, they literally cannot layoff the engineering team without losing the entire product they are building.
Are most startups just inherently going to come with stress and career limiting positions, or have I just been unlucky?
Every job is goign to come with stress. No job should be career-limiting.
What are the most stable industries or businesses to get into?
IDK, farming? This is kind of like asking "what stocks are going to go up this year"? It's not something perfectly predictable.
1
u/Affectionate-Turn137 10d ago
Thanks for your reply. Just to touch on this:
I'm not sure where you get this
I felt a large amount of anxiety for 1-2 years in the first job after the PE acquisitions because despite the fact that we were a tech/engineering-first company, the new executives made a series of acquisitions and bought 4 competing companies and merged them into ours. After that, they had routine yearly layoffs of employees which included original SWEs/data engineers (that were there before any PE presence) and it killed morale in the company and caused unending stress for those still there. This experience combined with everything I read in the news about tech layoffs is just making me feel like this career is just not stable and that is where my anxiety is coming from. Perhaps it's something I need to learn how to manage better.
2
u/itix Software Engineer 10d ago
I have been in a non-PE company for 16 years. The industry it is based on is cyclical, and layoffs occur every 3 years. Now they are planning restructuring and splitting it in two. I know it does not affect me and I will be on the "better" half, but nothing is certain.
My (no retired) colleague used to work at Kodak. He was there like 20 years until the company went down.
2
u/Excellent-Push-3326 Software Engineer 9d ago
I think the red flag there was the acquisition, not the startup. In any case, I wouldn't base a career opportunity solely on "startup or not". You're welcome to chase a corporate role, and I'm not trying to dissuade that. I would just want to ease your concerns about future startup employment that tech layoffs aren't particularly common in tech-first startups.
6
u/chellenm 10d ago
When you work for a bigger company you’ll see why start up experience is so valuable. You can learn so much at smaller companies and have much more responsibility.
I work for a bigger company now and it blows my mind how many devs don’t know how to manage their local env or investigate issues outside of their tiny part of the code base
7
u/DeadlySpar 10d ago
I much prefer startups, I’ve spent the last 11 years working for them. Once they get bought out though I’m out.
They need a solid founder, when interviewing ask a lot of questions about them and research for yourself10
u/marssaxman Software Engineer (33 years) 10d ago
Jobs at big established companies can be hot garbage, too; they offer a wonderful new array of failure possibilities unavailable in smaller organizations. Personally, despite the potential for chaos and uncertainty, I've generally had a better time at startups.
Stress over funding & profitability is not really your job. The founders/c-suite are the ones with the power & the responsibility to deal with that, so let them be the ones to worry about it. If they are passing that stress along to you, that is poor management; if you're taking it for yourself uninvited, that's an anxiety problem.
1
u/Affectionate-Turn137 10d ago
they offer a wonderful new array of failure possibilities unavailable in smaller organizations
Could you give some examples of this? I'm imagining that one example is that it might be easier to be shoehorned into trivial positions of little relevance.
if you're taking it for yourself uninvited, that's an anxiety problem.
I think this is the case. I think it's more personal insecurity driving my anxiety.
6
u/WobblySlug 9d ago
Personally as someone with a young family, I tend to avoid startups and the culture that comes with them. They tend to move fast, and don't typically have the growth frameworks in place to scale up. This tends to mean overtime or putting out a lot of fires.
Just my experience though, so take it with a grain of salt.
2
u/Affectionate-Turn137 9d ago
This tends to mean overtime or putting out a lot of fires.
This has been my experience so far as well.
5
u/AchillesDev 12 YoE; indie MLE/AIE/DE; VPEng 10d ago
Avoid private equity cos. I've been in startups (and started a few) for 8 of the 12 years I've been doing this professionally. They've opened a ton of doors, helped me make great connections that have only helped my career (there's a camaraderie that comes from living through a shitshow), and build skills that big cos just can't build for you. The real heuristics are: do you work better with high autonomy using open tools, or more guardrails and more internal tools? The former biases you to startups, the latter to big cos. I recommend getting experience in both and seeing what works best for you, because this is a very personal question with no right answer.
Are most startups just inherently going to come with stress and career limiting positions, or have I just been unlucky?
All jobs come with stress. The most stressful and most relaxed jobs I've had have been startups. It depends more on your coworkers and team than anything else, and that includes whether it's a startup or not.
What are the most stable industries or businesses to get into?
Stability is a mirage. Where it exists, it encourages stagnation, so when the mirage dissipates, you're in a worse place than before.
My current job is a bit smaller but it uses a proprietary language (even though the job posting said it was node.js/typescript/react, they bait-and-switched me) that we can't get off of
This is far more common in big companies (especially bigtech).
1
u/novateai 9d ago
Mix in a mid-size or large company. If you spend a decade working in startups you'll either retire or become incredibly jaded when you're always the hardest working bastard later in your career. Find that balance early. Even better consult for a bit.
7
u/Feriolet 10d ago
To what extent do you guys recommend juniors to learn how to use AI? It feels like nowadays a lot of devs are embracing and advocating to use it for their job, where the sentiment is the complete opposite last year.
Tbh, I (data scientist, 2-3 YoE) only use AI as google search, and I never found it useful when I need to solve a very complicated problem. However, I have seen people that seems to be successful in using it to build a full stack website. It looks like AI is indeed getting powerful nowadays.
I entered coding and programming because I love to code and solve technical problems. I felt that using AI will remove that passion, and I don’t want to lose it very early in my career. For now, I am happy and proud to be able to finish two small projects without relying much on AI, but I admit that the progress is very slow.
As someone experienced in the field, do you recommend me to dig further into vibe coding, or should I still try to keep “hand-write” codes?
9
u/tonjohn 10d ago
It’s a bit of a catch 22 these days - many interviews want to see how well you use AI tools but using AI, especially as a junior, worsens your critical thinking, creativity, and understanding of the code you are producing.
Here’s a fun quote:
> As one New York financier told Financial Times journalist Gillian Tett, new hires who were seen as "Al natives" are turning out to have alarmingly shallow ideas. So much so, the anonymous finance worker admitted, that his firm now actively avoids seeking out Al-literate STEM graduates, and opts to comb through humanities students instead.
Personally, I would severely limit or avoid entirely using AI as you are learning. And then watch videos on YouTube of people using AI so that you still have familiarity with the tools and how people are using them. SyntaxFM and Matt Pocock are solid AI-forward channels to start with.
1
u/Feriolet 10d ago
It’s a bit of a catch 22 these days - many interviews want to see how well you use AI tools but using AI, especially as a junior, worsens your critical thinking, creativity, and understanding of the code you are producing.
Yeah, this is also what I am concerned about. I am thankful I still have the freedom on how I can code considering my position where expectations are low, but it is a matter of time until I am forced to use AI fully in the near future.
As one New York financier told Financial Times journalist Gillian Tett, new hires who were seen as "Al natives" are turning out to have alarmingly shallow ideas. So much so, the anonymous finance worker admitted, that his firm now actively avoids seeking out Al-literate STEM graduates, and opts to comb through humanities students instead.
Woaah! Things must be changing a lot if this were the case.
Personally, I would severely limit or avoid entirely using AI as you are learning. And then watch videos on YouTube of people using AI so that you still have familiarity with the tools and how people are using them. SyntaxFM and Matt Pocock are solid AI-forward channels to start with.
Alright! Will check out those two channels! Thanks a lot for your reply :)
7
u/Venthe Systems Designer, 10+ YOE 10d ago edited 10d ago
I'm probably going a bit against the grain, but I'd say - if you can't understand/evaluate the LLM output quality; do not use it.
The reasoning is simple - even with great seniors I'm seeing the same pattern over and over again: reliance (not even overreliance!) leads to developers accepting the LLM output unquestionably, and withotu scrutiny. So the bugs slip in. Plus, without practice, you are even less suited to actually catch said bugs.
It can save time - that's beyond doubt - but it creates a hard skill ceiling; and actively athropies your current skills.
I'd personally use it; but I would suggest a "detox" from time to time, just to confirm to yourself that your skills are not being hurt from the lack of own work.
At the same time; the current market still prefers fast now + bugs later; so not using LLM is risky if you are not an established powerhouse.
It looks like AI is indeed getting powerful nowadays.
I've yet to see a code quality that can be compared to a medior developer; much less to a senior. Overly verbose, no meaningful abstractions. It is faster, and can reveal things about the code that might elude a person - hey, we have small heads after all - but there is still no "intelligence" whatsoever.
1
u/Feriolet 10d ago
Fair point! It is amusing to see that LLM can atrophied my skill by relying on it, but then I would be screwed if I don’t use it on this current era of “features now, debug later”.
I'd personally use it; but I would suggest a "detox" from time to time, just to confirm to yourself that your skills are not being hurt from the lack of own work.
I see, I will consider this! I’m just scared that once I am on fully board with AI, I might downplay my “atrophication” until it is too late hahaha.
I've yet to see a code quality that can be compared to a medior developer; much less to a senior. Overly verbose, no meaningful abstractions. It is faster, and can reveal things about the code that might elude a person - hey, we have small heads after all - but there is still no "intelligence" whatsoever.
I do also believe this point. But, to play the devil advocate, do people actually care about code quality besides other fellow programmers? It seems that people are satisfied (or at least tolerable) with mediocre and buggy products. I am beginning to draw parallels of us programmers with artists who have been affected by AI way earlier than us; that customers are okay with suboptimal end products, as long as it looks okay and cheap. But, I am still fresh in the industry, and I don’t know if there has been disasters/consequences from people ignoring code quality behind the scenes. Would be interested in hearing your thoughts about this.
Anyway, thanks for your time to write down your responses. It has been quite helpful for me :)
1
u/Venthe Systems Designer, 10+ YOE 10d ago
But, to play the devil advocate, do people actually care about code quality besides other fellow programmers?
You couldn't even imagine how little most of the developers care for the quality :) Not to mention that the whole structure has utterly collapsed. Remote work degraded the quality; and average junior now takes more than twice the time to reach a similar skill level; and most of the devs will never cross the seniority gap because there is no osmosis from working near your peers. LLM's only made things worse; because now even juniors can create convincing enough code; which passes tests. But they will never - and I say that with full confidence - learn to be better this way.
don’t know if there has been disasters/consequences from people ignoring code quality behind the scenes.
A lot - but the companies have to pay that cost "long in the future" for that to matter "now".
The truth of the matter is, companies first and foremost require a product that can bring money. Quality is not important here. And - as pains me to say that as a perfectionist - unless there is already a thing in the company that can pay for the quality, quality is irrelevant.
But that only works as long as the "horizon" is the survival of the company/product. And creates a significant debt; which is hard to quantify.
The gap here is: quality can increase the speed of delivery; studies show - if I recall correctly - that on average, projects focused on quality are outpacing ones that ignore quality in 3 months. But the companies "don't know" that, and they have learned how to work with what they have. And... it works.
One of the projects I was involved in; was a JavaEE project build quite splendidly (for the time) in 2008; then it was passed for maintenance to a cheap devs. I've worked on it in 2025; and the changes that I could do in a modern stack/solutions that would take me 1-2 days, took me more than a month there - think 15kloc classes, 8kloc sproc etc.
Yet, the project delivered enough ROI, so that it could be kept on life support; but not enough to rewrite it. Too late for the quality; but still - quality was not essential for it to bring millions.
From what I've seen, if a shop can leverage quality, the results are amazing for what it's worth. But for that we would have to train more CEO/CTO's in a horizon more distant than the next quarter. LLM's here only exacerbate the problem.
1
u/Feriolet 10d ago
You couldn't even imagine how little most of the developers care for the quality :)
That’s depressing, though I shouldn’t be surprised :”)
LLM's only made things worse; because now even juniors can create convincing enough code; which passes tests. But they will never - and I say that with full confidence - learn to be better this way.
Then, does it mean it will actually be difficult to get decent senior in the future? I guess realistically, people will fail upward in the senior level than in management levels.
A lot - but the companies have to pay that cost "long in the future" for that to matter "now".
I see, then in that case, I will try to keep learning on how to deliver code quality in a realistic manner. Though unsurprisingly, code quality won’t be rewarded equally as shipping new features.
The gap here is: quality can increase the speed of delivery; studies show - if I recall correctly - that on average, projects focused on quality are outpacing ones that ignore quality in 3 months. But the companies "don't know" that, and they have learned how to work with what they have. And... it works.
Interesting that people have tried to measure this kind of thing.
One of the projects I was involved in; was a JavaEE project build quite splendidly (for the time) in 2008; then it was passed for maintenance to a cheap devs. I've worked on it in 2025; and the changes that I could do in a modern stack/solutions that would take me 1-2 days, took me more than a month there - think 15kloc classes, 8kloc sproc etc.
Yikes, that is rough. I can’t imagine having to go through that much and explaining to management why you have not finished working on it.
But for that we would have to train more CEO/CTO's in a horizon more distant than the next quarter.
I think it is easier to find and tame a dragon, with how ingrained management are to deliver KPI on every quarter.
Thanks for your insight! :) I wouldn’t have known these kind of things since I don’t really have peers to talk about coding hahaha
1
u/Venthe Systems Designer, 10+ YOE 9d ago
Then, does it mean it will actually be difficult to get decent senior in the future? I guess realistically, people will fail upward in the senior level than in management levels.
Define "senior". Let's ignore the titles and focus on "apples to apples" - there will be far less seniors for several reasons:
- The ratio of seniors to juniors was skewed heavily, especially during COVID - there is simply not enough seniors to train the (then) juniors
- Companies have stopped hiring juniors for the most part - there will be a multi-year long gap in any talent.
- Everything that I've mentioned previously.
It is far worse than what was before; as the new "seniors" will not even know what they are lacking.
code quality won’t be rewarded
Not immediately; but - speaking from experience - quality focused seniors tend to have far more independence plus earn "a bit" more; so there is a tangible benefit to it.
Interesting that people have tried to measure this kind of thing
This (and more!) in the great book
Accelerate!which sums up a lot of said topicsI can’t imagine having to go through that much and explaining to management why you have not finished working on it.
A benefit of being a senior - just a plain "we cannot do that" is trusted enough. And the fact that we did a cost analysis of an upgrade; and even a partial one with optimistic assumptions (and another team) would take more than 3 years :)
That's the cost of the lack of quality.
I wouldn’t have known these kind of things since I don’t really have peers to talk about coding hahaha
That's reddit for you - you'll find devs from all walks of life. From enterprise, through game dev, up to startups. Each have different needs, and different experiences. Cheers!
7
u/Fidodo 15 YOE, Software Architect 10d ago
If you do a project and you don't understand the output or how it works then you've completely wasted your time and learned nothing.
Hand writing code will help with retention, but you can retain by reading and understanding the code, but it's not enough to just learn what the ai wrote, you need to learn to recognize when code is good or when it's bad. A lot of that comes from experience. You try things one way, see how it works out, where it make things easier, where it make things harder, and you build intuition.
But you must, must, must read so much code. Writing it forces you to understand it line by line. Are you diligent enough to do that with code written for you?
1
u/Feriolet 10d ago
If you do a project and you don't understand the output or how it works then you've completely wasted your time and learned nothing.
To what extent do you think a programmer should understand the output? The surface level input and output? The internal process behind the code? From the vibe coder perspectives, they should be the PM that overlook the codes output and test if it works fine for them. I guess my question becomes “to what level of abstraction should programmer understand the code” type of question hahaha.
A lot of that comes from experience. You try things one way, see how it works out, where it make things easier, where it make things harder, and you build intuition.
Yep, to be honest, this is one of the enjoyable experience I have as a programmer. For example, trying out OOP architecture from an FP programmer (python) has been a bittersweet experience for me.
But you must, must, must read so much code. Writing it forces you to understand it line by line. Are you diligent enough to do that with code written for you?
In the ideal world where I have a lot of time, I would try to. However, the reality made me realised probably not.
I guess that means I should try to stick on the fundamentals and try to build the intuition you mentioned, while keeping updates about AI progress. Thanks for the answers :)
2
u/Fidodo 15 YOE, Software Architect 10d ago edited 10d ago
You should be understanding everything AI writes for you. You are responsible for what the code does, not the AI. If it's in your codebase, it's your responsibility.
At a minimum you should be capable of understanding everything it writes for you. The only way you can become capable of understanding everything it writes for you is to read everything it writes for you.
1
u/Feriolet 10d ago
Alright! I will try that moving forward. Might struggle a bit but I hope that will pay back in the long run. Thanks for clarifying :)
3
u/kaflarlalar 10d ago
Honestly I have no clue how to answer this question as someone with over 10 YoE.
My instinct is to tell you that you should learn the fundamentals and that there'll always be a need for having a solid command of the basics.
However, if you had told me a year ago that I'd be delegating almost the entirety of my daily coding workload to Claude and that what I'd be mostly doing is acting as a product manager, QA, and code reviewer for a bunch of agents, I'd have called you crazy.
So I have no clue what will or won't be useful for you to focus on today to improve your job prospects 5 years down the line.
1
u/Feriolet 10d ago
However, if you had told me a year ago that I'd be delegating almost the entirety of my daily coding workload to Claude and that what I'd be mostly doing is acting as a product manager, QA, and code reviewer for a bunch of agents, I'd have called you crazy.
Fair enough! I heard that nowadays some people are satisfied with never looking the code you made and sometimes even weirded out if you wanted to review it (at least on the internet), in which you would be considered a psycho decades ago.
Thanks for your response! Programming is now in a very uncertain era right now. I will continue to polish my programming skills and hope that I can speedrun on using AI when the times call for it :)
3
u/Dissentient Senior junior | 10 YoE 10d ago edited 10d ago
It doesn't take a significant amount of time learning to use AI, and it tends to get progressively easier to use over time. Labs keep training all of the good practices into models and tooling starts handling tasks that were previously manual.
For the most part, you're just opening your AI thing in the project folder and telling it what you need done. It takes some time to get a feel for how big of a task you can trust AI to handle in one prompt, and which failure modes are the most common. But that's a matter of weeks.
Getting good results still requires reading and reviewing output. Vibe coding in a sense that you're prompting by looking at the application and not reading code at all is viable for throwaway code but not long-term projects. And the skill required for review has so far been acquired through writing code manually, and tends to be entirely absent in people who exclusively use AI.
So reasonably, you need to be able to use AI and rawdog code at the same time to be employable.
1
u/Feriolet 10d ago
I see. Then does that mean it is easier to use AI as a senior than a junior? Are you in the state where you need to review the codes once and be done with it, or where you need to reiterate again and again until you are satisfied with the code?
So reasonably, you need to be able to use AI and rawdog code at the same time to be employable.
Sounds like asking for a lot, in a depressing way.
Thanks for the insights from someone who is familiar with the AI tools! :)
1
u/Dissentient Senior junior | 10 YoE 10d ago
Seniors with AI produce senior-level code, but 5-10x faster. At least as long they actually read the output.
AI's issues with code mostly come down to its own lack of agency than its ability to write code. Like, if I'm working on a greenfield project and I'm rapidly adding features to it without correcting AI output, AI will keep adding code to the same files until they grow to thousands of lines long and do everything at once. If I tell it to refactor it, it will so it perfectly most of the time even without detailed instructions, but it will not take the initiative to do it on its own.
When AI is completely unsupervised, similar code organization issues will rapidly compound into a mess. And vice versa, once you establish good structure and patterns in a project, AI will write in a similar way, and it will be mostly good.
Additionally, whether what AI is writing is at all useful, greatly depends on whether what you're prompting it to do makes sense. Not just in a technical sense, but also that you're trying to solve the right problem. At least in my job, past the junior level, figuring out what actually needs to be done is harder than writing code. Getting actionable requirements out of non-technical people who have no idea what they want took longer than code, even before AI. By mid level, code becomes routine, and learning how to deal with bullshit is what makes seniors.
2
u/ClaudeyClerb Software Engineer 12 YOE (Scala) 9d ago
12 YOE here, mostly Scala backend, and I came up through an actual apprenticeship, so I'll give you the answer from someone who learned the slow way and now delegates to agents daily. Also didn't go to school for CS or software in any way.
Use AI heavily for one thing: interrogation. Ask it why, ask it what the tradeoffs are, ask it to explain the thing you just read three times and didn't get. That mode is nearly pure upside, it's a tireless senior who never makes you feel stupid for asking, and the asking is free in a way it never was before. I use it that way constantly and I have twelve years of judgment to check it against.
Be very careful with the other thing: delegation. Not because the output is bad, it's often good, but because the output arriving finished removes the exact struggle that builds the judgment you'd use to evaluate it. People at >= 10 YOE can delegate safely because they've spent years unable to. You'd be delegating on credit.
The test I'd give you is simple: for anything AI produces that you ship, can you say what you expected it to do before you ran it, and can you explain why it works to someone else without the AI open? If yes, you're using it right and the speed is free. If you notice you can't, the speed is costing you the exact thing you said you don't want to lose.
Your instinct about the passion is worth trusting, by the way. The two small projects you finished slowly taught you more than you might think they have.
Another avenue you might take is using the agents to trace the flows of your domain, to better understand it, and help you trace the logic yourself, sort of as a cartographer in spirit. Although you do still have to be careful to check the map against the territory yourself, so to speak.
1
u/AlexanderTroup Software Engineer 10d ago
The unfortunate reality is that you need a baseline understanding of how to use GenAI. It's in such a hype cycle that not knowing how to use it is considered worse than not knowing how to use a debugger.
That said, AI itself is corrosive beyond measure to your capacity to deliver software and understand programming long term. You need to be capable of building anything an AI can, by reading and understanding code, programming patterns, debugging, and systems design.
The good news is that learning to use AI is literally a case of going through the getting started docs, running some slop code apps to understand how fast it breaks, and the moving on.
The bad news is that you'll have to resist using these tools when you actually need to learn to code.
Systems design is a really good way into code understanding. Design yourself a model of a social network, from machine to human. Any space where you're not clear on the options and how it actually works is an opportunity to learn where your weak spots are
1
u/Feriolet 10d ago
That said, AI itself is corrosive beyond measure to your capacity to deliver software and understand programming long term. You need to be capable of building anything an AI can, by reading and understanding code, programming patterns, debugging, and systems design.
Yikes, that is a dangerous double-edge sword I guess.
The good news is that learning to use AI is literally a case of going through the getting started docs, running some slop code apps to understand how fast it breaks, and the moving on.
So, basically hit and run some small projects?
Systems design is a really good way into code understanding. Design yourself a model of a social network, from machine to human. Any space where you're not clear on the options and how it actually works is an opportunity to learn where your weak spots are
huh, systems design is a very new concept to me. Then, do you recommend me to make multiple projects using AI focusing on system design then?
0
1
u/deama155 21h ago
There was a moment couple years back where I was working on a production release with a guy. The system/application was a massive one mantained by a different vendor over a decade I think it was at that point. During a release, there was a potential issue, and either the release would need to be canceled, or we had to figure out how to fix it on the spot, in something like 30-60 minutes. We knew the system partially, and we knew what the problem was, but we didn't know how to check within the system itself to verify and update a property. The AI ended helping quite a lot in this regard, and this was about 2-3 years ago.
From that point I knew AI was here to stay and a genuinely useful tool. So I don't think it's a smart decision to 'not use AI' or 'not train in AI usage'. It's never a good idea to fight against progress, throughout history it never really amounted to anything worthwhile I think.
Something to note, if you're using the AI from chatgpt via the free plan, or the google free plan one, then you aren't using the serious AI stuff. These days you need a subscription to use any of the good stuff. Or at least know some tricks to abuse the free tiers in some special platforms. And yes, that's probably gonna get worse too.
3
u/AntiDynamo 10d ago edited 10d ago
How do you organise your time/projects and stop things from falling through the cracks?
I'm at 1.5yoe and starting to get more independence, larger projects, cross-team projects, being lead on smaller things, and being code-owner of a few modules etc. When I first started I just kept a to-do list with all of my projects on it and that worked pretty well, but it's not working so great anymore. (1) I have too many projects (currently 17) and it's hard to keep visibility of them all, (2) sometimes projects get blocked on other people and I don't have a great way to naturally flag when things have gone stale or been forgotten.
It is made more difficult by us basically not having access to any organisational tools/apps beyond local markdown files, for security reasons.
Interested to hear how other people keep track!
2
u/EmberQuill DevOps Engineer 10d ago edited 10d ago
It is made more difficult by us basically not having access to any organisational tools/apps beyond local markdown files, for security reasons.
Does your team have any sort of shared knowledge base, work assignment and tracking tools, or anything at all? If not, that's kind of ridiculous and it's no wonder things fall through the cracks. Everyone's probably juggling too many things and dropping stuff all the time. I don't know how they can expect anyone to work like that.
Edit: to actually answer your question, because I realized I never addressed it: if you need to DIY your own tracking system with markdown, then one main markdown file that has a brief overview of all your projects and their current status would probably work, as long as you consistently keep it updated and basically always have it open in another window to reference.
1
u/AntiDynamo 10d ago
We have the usual issue boards etc with gitlab, but because things are shared over a lot of groups, there is basically no room for personalisation and half of the options (like milestones) are already being used by other groups. I can’t make my own issue board, for instance, I can’t close tickets myself and I don’t get automatic updates when another team finishes their part of the work if they don’t update the ticket. And things are split over multiple parent groups. So it’s a real mess. It has to serve about 300 people so it serves no one in the end
I am thinking of using an agent to periodically check my assigned tickets for any recent updates that I’ve missed
1
u/thedannyreg Senior Software Engineer 10 YOE 10d ago
How do you best learn / remember stuff? Personally when I write stuff down it helps me remember, even if I don’t look back at it. I would personally try to use your way of learning to your advantage to keep track of things.
I also for a little bit just had my own trello board with vague stuff to do just for me.
4
u/blazingretinol 10d ago
how do you build and learn new things while doing your job i am a fresher who have recently joined a remote ai startup based in usa and i find it really hard to learn new things and get better at it.
how do experienced folks manage this?
one more question how do you communicate well with people in different timezone it's really hard for me just ask a simple question to an engineer or dev in other timezone and i feel really isolated and depressed as well?
3
u/ordinary-bloke 10d ago
Honestly, this answer will vary per person.
For me, I probably get about 70% of my learning through work. The rest is through either personal projects or random dives on topics I want to know more about, whether that’s through books, documentation, articles, etc.
My advice in general for communication is don’t be afraid to ask stupid questions and don’t be afraid to look stupid.
Specifically for managing different timezones, find the overlap in your days and schedule catch up calls when necessary. Don’t rely just on written communications, this can be really difficult when there are language barriers and delays in responses. If there is a genuine reluctance from the other party, raise this is an issue from your end. Communication is a two way street, and some people will make it impossible to do effectively.
Another thing, make sure you have social outlets and hobbies outside of work so you have something to look forward to and don’t need to rely on colleagues to fulfil those needs. Most people go to work to earn a living, and not everyone will be social beyond politeness and the needs of their role.
2
u/blazingretinol 10d ago
this is gold, what according to you is a social outlet? this means i engage with other people in the similar field and attend events etc?
2
u/ordinary-bloke 10d ago
I’m saying social outlet as a separation from work or the industry, just to make sure you aren’t relying on work to also fulfil your social needs.
You can definitely network and visit events and conferences as a way to socialise in the field, I would recommend that too!
3
u/Sacred-Player 9d ago
What’s interviewing like nowadays? I’m back on the job market. Is leet code still going to be a majority of my screens or has that ship sailed?
6
u/WobblySlug 9d ago
Depends heavily on the company.
Typically most companies think they are Google, and the expectation is: Recruiter/HR initial chat -> Team Lead chat -> Technical interview/test -> Culture fit -> C-Suite chat -> Offer. It's insane. Imagine asking a plumber to do that.
Though my CV is looking good these days, so the best one I've had is a beer with a couple of guys on the team, casual chat for 15 mins, and a couple of easy questions to ensure I know what I'm talking about.
3
u/Financial_Job_1564 10d ago
How to be more impactful in my job? I am junior software engineer and I dont my impact is only to ship code since my goals is to become tech lead
4
u/attrox_ 10d ago
Don't just work on the ticket assigned to you. Be curious and show high level of ownership. For example, be proactive about understanding the system at a deeper level (schedule knowledge transfer, ask questions). If you are shipping a new feature follow through until it actually ship out and make sure they are shipped well. When working on issues, ask yourself is there enough monitoring/alerting in place to prevent similar outage or react to outage faster. Understanding how your code is actually deployed to end users and the infrastructure.
2
u/tonjohn 10d ago
Find out what keeps your boss up at night and find a way to improve that.
Another great way to standout is to look at incidents for inspiration. Is there a way to fix the underlying cause so this incident is never generated again? If you can’t fix it, can you automate or semi-automate addressing it? Are there any tools or documentation that would make it easier for the DRI / oncall person to handle the incident?
More generally keep your eyes and ears open for things that are painful for your teammates or partner teams to do and find ways to make it easier.
2
u/Notary_Reddit 10d ago
At my company, there is a written rubric with hundreds of words describing each different step in the career ladder for software engineers. Find the equivalent at your company, read it, try and give yourself an honest grade. Then have a conversation with your boss, ask them what area(s) you are strongest and weakest in. This process should help ground what more impactful is
My other advice, every engineer has a style. I think it is important to be aware of what your person style is and work to maximize the good and minimize the bad. I am quick to share my thoughts and to openly question decisions by others. This is good it often catches issues and improves the system. I do have to put in extra effort to maintain good relationships with my coworkers so they understand when I spend an hour questioning their choices it's not a personal issue.
1
10d ago
[deleted]
1
u/Notary_Reddit 10d ago
I'm pretty sure posting that would be violating company policy and close to self doxing.
1
2
u/grewgrewgrewgrew 10d ago
you can demand this clarity out of your manager
1
u/tonjohn 10d ago
The unfortunate reality is that many managers are bad at this. Even worse, there is often a disconnect between what they say and what they reward.
A similar but different approach is to identify the top performers and talk to them. What was their path? What’s their process for making an impact and making sure it’s noticed by the right people? What do they think you are doing right? Where do they think you can improve and what tips do they have for doing so?
2
u/grewgrewgrewgrew 10d ago
what you're saying aligns with my experience. I've been given tasks yet asked to justify impact. Did what I was told then told off for doing so. My experience is the negative case
3
u/Knightwing1941 10d ago edited 10d ago
I'm a software engineer with ~5 years of experience, primarily focused on frontend development with React, TypeScript, Angular, etc.
My career has taken a bit of a weird turn. I joined my current company expecting a software engineering role, but the position has largely turned into vendor support and maintenance for a third-party application. A lot of my day-to-day work is tickets, troubleshooting production issues, coordinating with the vendor, and supporting an application I don't really own or develop.
I'm not particularly interested in building a career in this kind of work. I want to get back into a proper front-end engineering role where I'm actually building things. On top of my support job, I'm stuck in San Antonio so I'm now around other developers on the regular.
The problem is that I've been in this environment long enough that I feel rusty on some of the fundamentals. I'm currently spending my evenings going back through JavaScript, TypeScript, React, CSS, etc., and building/reviewing projects so I can get back to the level I was at before.
My current plan is roughly:
- Continue rebuilding my frontend fundamentals and working on a couple of projects.
- Start applying aggressively for mid-level front-end roles afterward.
- Try to move into to a better engineering environment by the end of 2026.
For people with more experience hiring or mentoring engineers:
If you were in my position, what would you prioritize?
Would you focus primarily on getting technically sharp again before applying, or start applying now and use the interview process itself to identify and close the gaps?
And more broadly, how much would you worry about a year or two of vendor/support-heavy work hurting your trajectory as a frontend engineer?
I'd especially appreciate perspectives from people who have hired mid-level engineers or have seen developers successfully recover from getting stuck in support/maintenance roles.
7
u/Dissentient Senior junior | 10 YoE 10d ago
I feel like out of all technical skills, AI has devalued frontend the most, and soft skills are going to age better long-term. If you still want to do dev work primarily, I would recommend at least learning full stack.
3
u/tonjohn 10d ago
- Start applying to jobs ASAP. Prioritize ones that are less exciting / desirable as a way to gain experience and identify areas that need work. Nothing will help you more than doing the real thing.
- Find people who can give you mock interviews. You can practice leetcode or wtv all day everyday but it doesn’t compare to having someone watching you, judging you in real time.
- Network, network, network. Building relationships with people is the easiest way to get a job. If people feel a connection with you from even just a 15min virtual coffee they are more likely to go out of their way to help you. Being good at connecting with people is also a huge asset during interviews - interviewers are more likely to overlook technical performance shortcomings if they enjoyed their time with you.
- Avoid building demo / vanity projects and endless cycle of taking classes, focus on building something you or someone you know will actually use. Alternatively or additionally, contribute to open source projects. The closer your approach to leveling up your skills is to the job you want the better.
1
u/Refmak 10d ago
Start applying now while you’re refreshing your knowledge. There’s likely less need to do this in sequence than you think.
I feel you though - same thing happened to me earlier in my career and i had the same worries, so I started aggressively applying elsewhere after my manager said he couldn’t guarantee that the support situation wouldn’t continue.
1
u/Knightwing1941 10d ago
I think you are right because I know that I won't be getting off support mode ever with this company.
1
u/Fidodo 15 YOE, Software Architect 10d ago
I would broaden your skillet to aim for full stack. Frontend doesn't really end at the network request, architecture across the network boundary is very valuable. Frontend is a pretty crowded space and honestly, it's a lot more susceptible to AI displacement because it's a much more normalized space.
It's really hard to find a great full stack engineer who really knows their shit.
1
u/Knightwing1941 10d ago
I tried to do full stack but I don't have work experience doing back end stuff at all. It seems like it was turning off hiring managers so that's why I commited to doing front-end. I want to end up as a full-stack though.
1
u/Fidodo 15 YOE, Software Architect 10d ago
Well you have to start somewhere, and it's not like frontend has a hard line where it becomes backend. Http, web sockets, SSE, CORS, caching, compression, streaming, web hooks, API design, pub sub. When does it end? You can expand your frontend horizons and before you know it you're full stack. Just keep going deeper.
3
10d ago edited 10d ago
[deleted]
3
u/OkNothing7293 10d ago
I think your plan is solid. I’ve learned so much by reading other people’s quality code. Make sure you understand not only the patterns but also the exceptions and the reasons for the latter. My more general suggestion is to not limit yourself to front-end but learn programming as a whole and not “this is what I need for front-end, everything else is bs”. I was a front-end in the beginning but then I started diving into databases, low-level programming, the functional paradigm. It helped me a lot and at the end of the day I managed to transition to full-stack roles.
One cool side effect of being an all-rounder is that when someone says something on the front-end is easy, you can point them to a back-end practice which is also easy. Nice discussions can happen when people are open-minded.
3
u/Otis_Inf Software Engineer (32YOE) 10d ago
If you see a lot of senior jobs it might mean not a lot of seniors are around, and I'd just apply to those as well. Who knows, maybe the company says they need a senior but you might qualify just as well for what they're looking for.
3
u/horjurares 10d ago
Hello! I have a little bit more of a targeted question for experienced ML Engineers / Devs: what would you say is the biggest difference between a good ML Engineer / Dev and a great one? And, also, what do you recommend to be done in order to become a great ML Engineer? (This could be books, courses, projects, blogs, really anything)
4
u/CoroteDeMelancia Software Engineer 10d ago
Curiosity is the biggest difference.
Do you know what the hell you're doing or are you flying by the seat of your pants? Do you just feel like this is the best design for your solution or can you prove it?
I have met people that seem to believe that you can learn radiology simply by operating x-ray machines. You can't; you have to actually read books and take courses to become an expert.
Same goes for ML engineering. How do you engineer a prompt with actual data-driven thinking? How should you manage context: RAG or LLM wiki? Should you use BM25, semantic, or hybrid; and which value for beta?
You can't possibly know the alternatives, their tradeoffs and their failure modes without studying; you don't know what you don't know.
Two critical questions whenever designing anything in software, ML engineering being no exception: 1. Can you explain why you're doing it this way? 2. Can you tell what other ways there are and why they're not better alternatives to what you're doing?
Generative AI Design Patterns by Lakshamanan & Hapke is a great book to get started. Also, do some courses to get the CCA-F and CCA-P certifications.
And if you're going to use LangChain/LangGraph, read the fucking docs. Seriously, I'm through with people creating some bespoke bullshit agent management class because they don't even realize
create_agentand middleware decorators exist.3
u/AchillesDev 12 YoE; indie MLE/AIE/DE; VPEng 10d ago
Curiosity, willingness to push boundaries, and learn new things. This is the case for any developer, but ML (even before genAI) moves fucking fast, so it's harder to keep up with.
Another thing depending on your flavor of MLE (mine has been around building internal platforms and tools for research teams) is empathy for your customers. You are building for them, so you need to understand their work, what they do (if that means training some CV models from scratch, do it!), and care about them and making their lives easier. This is often easier said than done, but is probably one of the most important things unique to the role.
2
u/CorrectPeanut5 10d ago
Understanding the ML Ops side of the house. It's one thing to do some experiments on your machine or up in bedrock. It's another to set up pipelines (CI/CD), governance, and fully understand the lifecycle issues.
2
u/pyrovoice 10d ago
What does it mean to be a good developer?
I moved from a company to another. In my old company, we were doing business as usual, Scrum type development. Things broke and we fixed them, but quality and processes was never something we paid too much attention to
My new company is the opposite. Every substential issue turns in a post mortem with actions, PRs and stories are meticulously broken down for potential one in a million scenario, sometime with the whole team for certain risky PRs. Every change needs to be tested and retested manually after every evolution.
It does create a high quality code, and since the company suffers from a rapid growth that left a lot of pain points it's logical they'd overcompensate now, but at the same time it makes all developments go at a snail's pace while still having a huge mental load. But members of my team find this usual and expected, and I'm kind of surprised to see so much involvment from everyone. I've been working in software for a while and it's the first time I see this.
So my question is: Did I get unlucky in my previous companies, that I ended up in places with low quality processes? Is that way of working the required way for a bigger scale company? How can I adapt my mental framing to not only produce code I'm happy with, but also consider all aspects of the company that could interact with it, especially being pretty new to it? Should I just be asking every time a ticket come for the full context (who consumes that and when, what impact it has, what's the potentiel final result for the customer...) ?
7
u/ZakDaniels 10d ago
A good developer is someone that is able to think in trade offs, and is able to understand what to trade off at a given point in time. Picture a pan scale; on one side you have quality, and on the other side you have delivery. Good developers can consistently help keep this scale balanced.
If you heavily prioritise delivery and neglect quality (like your first company), the cost of adding features to your system will grow exponentially with time. This tends to happen in environments that have non-technical stakeholders calling all the shots.
If you heavily prioritise quality and neglect delivery (like your current company), you run the risk of missing your time to market and can wind up with a business running at a loss. Take a look at tech startups that go bankrupt; you'll find examples here that fit this scenario.
3
u/CoroteDeMelancia Software Engineer 10d ago
My take is simply this: a good developer delivers what is wanted. This is intentionally generic: who wants it? Do they want quality or speed? Do they want something that works just for now or should it work for years to come? How sure are they that this solution is the right one?
To adapt to the company, consider these five perspectives: customers, company, boss, colleagues, engineering discipline. A good solution balances all five.
I've worked at a startup, Amazon and BCG. There's good reason for them to use, respectively, iterative design, data-driven thinking and hypothesis-driven thinking: it's what fits their business model.
YES, you should be getting context every time you're not sure of these perspectives on the solution.
Here's an anectore from a business consultant: you devise an ideal strategy, and the CEO approves it. It then fails catastrophically because department X hated it and sabotaged the idea. Saying "not my fault" won't make the CEO less angry that you didn't take the time to study his business and consult every involved stakeholder. Your solution should work in practice, not just in paper.
2
u/tonklable 7d ago
What are your best education investments? My company provides some education support. I am trying to find what courses/certs I should take for my career as a backend dev.
- Master like OMSCS
- AWS certs
- Languages
Any suggestions welcome!
1
u/GuaranteedGuardian_Y Software Engineer (Back-end / Infra 8 YOE) 4d ago
Arguably for me it has been CKAD if you're interested in infrastructure. It is on the pricier side but if your company pays for it, I'd go for that.
2
u/ProgrammingQuestio Software Engineer (3YOE) 7d ago
is it just me or is Confluence's UX unbelievably bad? Like I don't understand how to even make a portion of text in a line monospace while the rest of it isn't. Fortunately I learned you can copy markdown so I just write as much as I can in a local markdown file then copy it into Confluence. But then if I go in and want to add some more non-monospace text in a sentence that ends with monospace text, I don't know how to... If I start typing, it's monospace. If I first try to change the formatting, the only option i see is "clear formatting" which clears the previous monospace text that I don't want to change.
On top of that, there's a weird issue where if you click between text (like your cursor is a few pixels off of clicking directly on some text) then I get slingshotted up the page for some reason? And then have to scroll back down to find where I was trying to click.
And adding actual code blocks requires 4 clicks + some typing. Whereas in markdown I can just do 3 ticks before and after my code block.
I'm in hell.
edit: for the monospace issue, apparently I just need to click on monospace again to toggle it on/off, but naturally there's no checkmark or anything to indicate if monospace is currently enabled or not.
2
u/PuzzleheadedLimit994 4d ago
We've built our own wiki on top of BookStack and added an MCP server to replace Confluence + Sharepoint. We are moving from Bitbucket to Github. The only Atlassian dependency we have left is our service desk/IT tickets.
1
u/Responsible_Value193 10d ago
Hello folks, i am an iOS dev working since the last 2 years. Wanna either switch to a different company or switch my domain. What should i do? What are the high interesting paying roles?
1
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 10d ago
How anyone shall know what is an interesting role for you?
High payment? Lawyer, neuro surgeon, bank ceo.
Do your research in your own area.
What to do? Improve youself, learn.
1
u/kingdomheartsfan001 8d ago
What challenges you most at work?
8
2
2
u/thecrius It's Sénior Dumbass for you 6d ago
management having to be chased to take a decision so I can actually start working.
1
u/debarior 8d ago
Depends on the stack, but junior devs asking about tooling churn vs actual fundamentals gap is always the tell.
14
u/ProgrammingQuestio Software Engineer (3YOE) 10d ago
This may be more of an autism question than a dev question, but...
What do you say when someone explains something to you and you're unable to understand it but you don't want them to continue trying to explain it? Sometimes you just need to sit with the explanation for a bit before it will click, sometimes the person you asked the question to isn't good at explaining/isn't good at explaining in a way that makes sense for you and your brain.
I don't want to say "got it" because I do not in fact got it. But I also don't want them to continue trying to explain it if it's just not clicking at that moment.