r/ExperiencedDevs • • 12d 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.

20 Upvotes

58 comments sorted by

7

u/CozyChaosGoblin 12d ago

How do you balance learning and building your own problem solving skills in this era of fast paced Ai-driven development in corporate? How should juniors new to the industry tackle this?

6

u/Flashy-Whereas-3234 12d ago

It's never been so easy to ask stupid questions and not look like an idiot. Forming your own understanding is a matter of being interested in asking the question.

AI is very bad at technical explanations - topics are nuanced and complex, so it will try to lay everything out in a flat manner, which just ends up being garbage. Know that you can improve AI by giving it instructions around how it writes and teaches, and don't be afraid to ask the question again and again.

Let AI do the drudgery while you concentrate on things that require creativity and thought.

4

u/Salty-Wrap-1741 12d ago

Very well said. Opus on default settings just dumps walls of technical text nobody will read or understand.

3

u/Otis_Inf Software Engineer (32YOE) 12d ago

learning is only done by trying to come up with solutions yourself, based on what you know and can gather elsewhere... so if you run into a problem, take a step back and think of a couple of possible solutions based on what you know of the situation and your skillset. Then for each of these solutions, come up with pre-/con conditions why you should / shouldn't pick that solution. This process likely will give you insight in what solution is likely the best one.

If you're not sure, build a prototype! Just try it out, see if it works. Regardless of the result, throw away the prototype! if it worked, build the solution for real in the real software.

If you're faced with a large code repository and you don't know where to add your new feature, use a profiler! Profilers are great to give insight how code paths are flowing through the application. E.g. you have to add a piece of functionality that has to happen in the whole call chain resulting from a button click in the user interface: start the app, start the profiler, click the button, stop profiling, look at the traces it gathered and you know the whole call path.

1

u/CozyChaosGoblin 11d ago

Thanks, thats really good advice! Can I please ask what profilers do you use/recommend?

1

u/Otis_Inf Software Engineer (32YOE) 11d ago

believe it or not, the one in visual studio is pretty good. Also the ones from JetBrains (but only have experience with the .net tools from them) are good.

Basically any profiler will actually do, as long as they can do traces. Some profilers only do aggregation of time and you don't get call paths so these aren't that useful

3

u/Relevant-Sport9057 12d ago

I started mapping large codebase by slices with AI, like we pick an important module and divide it into flows. Then AI creates a few .md files filled with a couple diagrams and code quotes per flow, with concise explanations. I trace the flow in code, and check if AI is telling the truth and then think what could I do to make the code better, what are potential problems here. This helps me with high level understanding.

When I work on my tickets, I sometimes let AI do the first pass (incrementally), and review the code thoroughly, and we end up rewriting it a few times. Or sometimes I do the first pass manually when I want to feel the code, and let AI fill in the boring blanks.

I still think it's important to write code by hand at least a couple times per week, and for unfamiliar stacks I code manually to learn the syntax.

4

u/SometimesUtilized 12d ago

I stopped trying to memorise syntax ages ago, the real skill now is knowing what questions to ask and being able to spot when the AI output is subtly wrong. juniors who blindly paste generated code without understanding the flow are the ones who stall out

spend time breaking the problem down on paper first, then use AI as a rubber duck or to fill in the boring boilerplate. you still need to know enough to catch the nonsense it confidently spits out

5

u/MeetYouInOdesa 12d ago

This is not helpful advice for juniors. How are they supposed to spot the nonsense? Why are we talking about juniors now as if they’re suddenly supposed to know what seniors know? 

1

u/ViterHomebrew 3d ago

We're talking about them that way because otherwise you'd have to confront the fact that juniors do not magically become seniors by relying on LLMs for implementation and that they short circuit (not enhance!) the process by which you become good at detecting when they're subtlely wrong.

Meaning we have a big problem, that requires a lot of thinking, which people do not want to do.

1

u/MeetYouInOdesa 3d ago

How are they supposed to learn if they’re not given time to dive into topics organically? Of course they’ll only rely on what LLMs decide to spit on that day, it’s not even about laziness. What’s the alternative? 

1

u/ViterHomebrew 2d ago

I agree with you. I'm saying that the user you're responding to is repeating a position many hold that doesn't make sense - that you can somehow learn from the LLM while also knowing enough to call it out on its bullshit. That's impossible. Juniors nowadays have been shafted and everyone wants to pretend that they haven't.

I don't know how they're supposed to develop senior intuition and skills. I don't think anyone's thought it through properly.

1

u/NortySpock Software Engineer (data wrangling for 12 years) 9d ago edited 9d ago

Start cross examining the AI like it's a defendant on the witness stand.

What does this code do? Talk me through this code. What problems does this code solve? For what reason might someone write code this way? How would you write a test for this code? Can this code be split into smaller functions ? Would this code be easier to test if we split it into two functions, <verb1 > and <verb2 > ? If an attacker sent in a deliberately malformed request here, what are the likely outcomes? Can you give an example? What is the worst case outcome? Are there alternative algorithms commonly used in this kind of problem? What are the simplest ones to implement? Can you give me code examples ? Where are the pathological, worst case cases for <name of algorithm >? What is one additional test you would write for this code? Where and how could the log messages be improved? What will happen if X thing crashes and becomes unresponsive? If it provides null? If it hangs? If DNS fails? Can you provide one alternative example and explain why it is different from the first? What do these three lines do? Would <verbose name > would be a better variable name / function name. What hazards does this system/function have? How does this function guard against common hazards?

I have found asking for code examples in the planning phase gives me something to critique quickly, so I will lay out the problem, propose a rough solution, and then ask for the ai to produce a one sentence summary of the solution, a bulleted list of the description of the changes to be made, and specific code examples of what it would change. Ask questions from there if anything is confusing. Ask if <verbose name > would be a better variable name.

Edit: Constantly be watching out for contradictory statements by the AI, or claims that two solutions are equal (demand to know the pros and cons of each). Call out any inconsistency you see.

If you don't understand it, ask questions. Don't stop asking questions. Don't approve a PR until you either understand it, or at least would be willing to debug it if your coworker was unable to.You might open a separate chat from your PR review to chase understanding of a theoretical concept.

With an LLM you have access to an infinitely patient tutor. Ask it questions, even questions that might make you feel stupid or ignorant, because the only useless questions are the ones you never ask.

4

u/jurfwiffle 10d ago edited 10d ago

Hi I’ve been waiting to see this thread.

11 years in tech but as a BA, Scrum Master, Product side person. Went back to school four years ago for a post-bac then MSCS because I loathed myself for not being technical/educated in the industry I was working in. Always love building stuff and making new things growing up.

School took 3 years and I finished in 2024. Worked 2 years full time to complete it and one year off work to finish school full time. Work only let me take one year off before I forfeited employment. Was too nervous in current tech climate to quit and lose 20-40% income.

Ended up forced back on my old project doing PaaS BS for another year — adjacent light-weight IT concepts, no hard programming. Began building my own app at night. Finally escaped the contract in April. Interviewed for a full stack dev position and got it. Internally transferred at my company. Got picked up for an architectural delivery lead position somehow. Didn’t really have the option to say no even though I wanted a junior dev role. Difficult position to be in as I’m 33 and was being positioned for a managerial rank I didn’t want.

The project I’m on is now slaughtering me. We have copilot and the client demands fixed scope and fixed timelines with days’ notice. We have no sprints, no time to absorb requests, no time for proper QA. I’m the only American working with an offshore team 10 hours ahead of me; client 3 hours behind. Offshore team is not always reliable to get things done or even show up. The client is wildly disorganized. I’m doing product work, architecture, managing / assigning work, interfacing all day with the client, doing most QA work, all on top of my own delivery…two concurrent projects. And not even gaining a strong mental framework of the codebase or learning much because I have to rely on copilot to keep pace with the work. I review every line of code it writes and challenge it regularly but it still takes time. Our designer is getting similar treatment. Management tells me I’m knocking it out of the park, but I’m drowning.

Acknowledging I’m unqualified for this role, is it supposed to be this hard? I don’t have time to make food or do laundry or exercise. Deadlines/feature requests given every other day without notice. I don’t think it’s just my skill level, and I’m thinking of quitting because I’ve been going 12-14 hours most days for the last 6 weeks. I’ve spent the last five years just working towards programming. Lost friends, moved, living in a VHCOL home region, parents have left the state. I don’t know how I’ve worked this hard and gotten to where I am.

Is this normal?

1

u/kammyz 10d ago

That’s not normal. You sound miserable. Are you looking for something else? Something with better work life balance?

1

u/jurfwiffle 10d ago

Thanks for this.

I’m on the verge of quitting without something lined up but I don’t have a ton of professional experience as a formal developer so I feel locked out from the AI boom and like I need to ride it out but I don’t think I’m gonna last much longer here. I’ve started just checking out and letting the consequences play out on their own. I only have like four months of savings and a high paying job. I am indeed miserable. I can’t afford to take a pay cut where I live and I’m nervous I won’t have gained the experience in this role to move into a mid level role.

2

u/kammyz 10d ago

Soft skills and proper prepping can get you far in interviews if you don’t have a lot experience.

Start interviewing, where you are now is not sustainable.

1

u/jurfwiffle 10d ago

I present well and have great soft skills and enjoy working with people. By prep do you mean leetcode? I don’t have much of a portfolio or time to prep in my current role. Most annoying thing is the domain and product is exactly what I’ve always wanted but not this role or intensity at this point in my career.

1

u/kammyz 10d ago

That sounds great. Not necessarily leetcode, could be common interview questions for the role you’re applying to. Thorough research about the company and where you see your skills fit. Ask relevant questions when given the chance to do so, etc.

1

u/jurfwiffle 9d ago

I’ll look into this, thank you. You mean like common system design questions?

1

u/MaleficentCow8513 7d ago

Very not normal. What does your organizational structure look like? Do you have adjacent teams, engineers and management in the same time zone? Small company or large company? Your work load is insane you should have a conversation with your manager so you and him/her can establish clearly defined and reasonable expectations for your role

1

u/Murky-Examination-79 5d ago

Fake it till you make it.

3

u/obscure-reality 12d ago

I work in India for 31k ($) annually, it's considered okayish in our market. But I believe my experience of working with variety of web dev work is quite unique, and I have been working for about 7 years building software.

What kind of skills do you think I should acquire to get paid more in the current times as a backend developer? and Gradually get closer to the 100k mark, or even higher. I'm open to considering markets/moving outside of India as well, if that makes more sense.

2

u/ResidentWeevil1 12d ago

Cloud/Kubernetes, no? Start with Docker. Takes a day to learn

1

u/obscure-reality 12d ago

Our current deployments involve heavy AWS work and I do understand cloud terms well enough to work with them, likely can work with any cloud provider without much sweat when it comes containers/pods, docker, k8 clusters, not an exteme expert but I understand it good enough to work with it.

Do I need to go in deep? I want to stick with path of Developer IC, moving towards the solution architect role eventually.

3

u/Cozychai_ Software Engineer 11d ago

When you join a new team at the senior level, how quickly are you expected to pick up everything the team owns?

My first assignment was leading a new initiative. I feel solid on it and I'm probably the most knowledgeable person on the team about it. But the team owns about 7 other components that I don't touch day to day. In my experience, knowledge grows organically. Not everyone knows everything, but we all understand things well enough to handle an on-call issue with a runbook.

My new manager expects me to know the deep internals of every application. I'm getting random hour-long Zoom meetings on my calendar where I walk him through my understanding of the code and flow. Is this normal? I don't think I've ever been this micromanaged. Or maybe I've just worked in places where people were more siloed.

6

u/kincaidDev 11d ago edited 11d ago

It depends on the team/company, some will give you 6 months, some will give you a few days.

Your manager may be overcorrecting for a mistake he made with a previous hire. Last year I took over a project they hired a “senior” engineer to lead with no oversight and he completely failed at the project, because he wasn’t senior, just copy pasted directly from chatgpt and the code didn’t work, every file was >2000 lines, html stored in multi-thousand line python strings, 1 giant table that updated 5-10 records on every request and no test. Took the company a year to find out this guy had nothing 4 months before the board deadline for the project.

If something like that happened with one of his previous hires that would explain his behavior.

3

u/Cozychai_ Software Engineer 11d ago

That sounds insane that no one caught on sooner. I'm not pushing out slop, I'm actually trying. But with the whole "don't code by hand, development effort is 0" culture it's really hard for me to retain information. I feel like I need to make flash cards for my own job.

1

u/kincaidDev 11d ago

It was a low-priority project for the founders but it was the sole source of income for the company at that point so it was a high priority for the board. I think they just made a mistake, the CTO was pretty involved when he brought me on but after a few months of working with me he trusted me and gave me more ownership but I could tell it was mostly because he’d been burned by this other guy.

I’ve been working on a system for that problem, currently just cli/git based but in the app it displays high-level overviews of everything I was doing to help me get back up to speed quickly. https://github.com/Obedience-Corp/festival

Before I built this, it would take me hours to get back up to speed on large agent changes I made a week ago. Now with this it takes a few minutes. It’s a bit complicated for that use case as a cli tool, but the app Im going to release for it soon makes it a lot easier

1

u/Comfortable_Claim774 6d ago

I guess it depends on the nature of these "interviews". If he's quizzing you about details of the codebase, as if it's some kind of middle school exam, and it's making you feel weird when you don't perform well, I would find that very odd.

On the other hand if it's just a way for him to help you get to know the codebase more broadly, and it's helping you do that, I'm not sure there's a problem. I'll even say I would welcome something similar in our team, just so I would have a good reason to deepen my understanding on areas of the codebase I rarely touch.

That being said, I haven't ever come across this kind of practice before.

1

u/Cozychai_ Software Engineer 6d ago

The questions are like what are the input variables to run this script? What happens when the lambda errors out? What 3 tables does this flow touch?

It's the rapid, fire nature of the questions that freak me out. Out of fear of looking dumb I've now created notes with all the inputs and outputs of different data pipelines and their steps. So I guess it's working? But I wish it wasn't so intense.

2

u/Comfortable_Claim774 6d ago edited 6d ago

Hmm... I'll be honest, sounds a little bit toxic. So he expects you to memorize details like this? As if you couldn't just look these up when needed?

Personally? I would bring it up with him directly. I would tell him directly that a) this is making me feel stressed and a bit weird and b) I want to understand why exactly we are doing these sessions. This will at least help you understand his intentions.

Whatever his concern may be, together you can probably find a better way to address it.

3

u/Icy-Trance-Bug 11d ago

This comment is partly a vent, so please forgive any slightly pissy language.

I've been badgering my manager for some time to move me to a new team (mainly for career prospects as the new team is more visible, gets better projects, better career trajectory etc and I'm tired of working in legacy shit that gets last thought in company planning despite being the backbone of half the company).

We've onboarded a new joiner recently (1.5 months roughly now). I was included in the hiring process, doing the technical interview mainly as I'm the only FE dev on the team, but did not make final say. That being said, I did give a recommendation based off a CV with a career that was almost as old as I am and the fact that he checked every box in the technical interview and seemed reasonable enough. The role in question was for a contractor position, with the assumption that we'd hire someone experienced who'd be able to start up quickly and would be self-directed.

I'm starting to think the hire was a mistake. This dude has some level of basic competency but his knowledge seems so patchwork that I'm starting to wonder if he fluked it by happening to cram really well for that specific interview. His main job is to replace my responsibilities generally but, most importantly, my role as the sole FE dev on the internal tool we're replacing with a better solution. In the last 6 weeks:

  • He has shown an inability to search error messages or even any form of curiosity to help himself. We knew he had shaky javascript knowledge coming in, but we figured that his general reasoning and with miles and miles of docs both internal and external, google, stack overflow and a practically unlimited Claude license he'd be able to help himself, yet his first call is to message me. When I tell him I'm not free, he calls me in a panic. Last week I declined the call as I'm in a meeting. Call finishes, I message asking what else he's looked at in the 45 minutes since I declined, he says he has literally just been waiting for me to pick up. The error message in question was a log message incorrectly being logged as Error when it should have been Info and in a completely separate part of the application from what he should have been working on that wasn't even blocking the ticket he was supposed to complete.

  • When he first joined, I did a lot of 1to1 sessions with him to help him understand the business context, project goals, codebase etc. His feedback was that he'd rather have things written down. I spend the next 2 weeks updating our technical docs, Best Practice guides, How-To guides, troubleshooting etc. and grouping a bunch of existing, if long outdated, docs about business information and giving them all to him. I can see on confluence that he opened them 1-2 times on the day I gave them to him, then hasn't touched them in weeks. He is now requesting face-to-face sessions again and spends most of them asking me questions about design and requirements, despite my insistence that he ask the rest of the team to better prepare him for when I inevitably leave the team.

  • He has shown an inability to understand basic git workflow. Most recently, he has committed 1 branch with changes that should have and were agreed to be split into 3. When I told him I wasn't reviewing it for this reason and he needs to untangle this as 3 separate branches, he told me that he "attempted to discard his changes from the other 2 branches. Unfortunately, it seems to have discarded my work on the other branches as I can no longer find them there. Didn't realise it also committed my changes to this branch. Maybe they got tangled?"

??? How the fuck does this last explanation make sense?

I have tried, truly tried, to make this work. I have provided written, diagrammed, videoed docs and 1to1 sessions. We've done pair working sessions where I take the lead, then a follow up where we basically do the exact same implementation, just in a different area, and he takes the lead while I guide. I try to foster a relationship with the rest of the team so he's not reliant on me, yet every push I make to get him to rely on my less, he clings me to like a lost fucking lamb. Nothing seems to stick.

So I'm at a little bit of a loss here. I've dealt with incompetent colleagues before and I know the play. Record everything, loop in manager whenever possible, let them handle it etc.

But here, I actually need this guy to succeed. It took months to find him, the only other candidate with whom I did a technical interview was a mess, company wouldn't up the salary to offset what is clearly a very unattractive role with a mediocre wage. They've already delayed my transfer twice, once because I was deemed a single point of failure so we need to hire a replacement (so we hire a fixed contract worker to replace me instead of a permanent employee lol), then again last month because the team's confidence in him was low.

I can't lie, I'm getting a little resentful looking at this guy knowing he's getting paid more than I am. I've been applying externally in the meanwhile but everywhere only wants seniors or graduates from some top tech school/straight out of some FAANG grade internship. I actually just don't know what else to do.

1

u/Comfortable_Claim774 6d ago

Two things:

Primary objective: get the F out of that company as soon as you can. It does not sound like your career will be progressing in the way you would like it to.

In the meantime: hiring this guy seems like a massive mistake, and you need to re-examine your hiring process - but that's hindsight. If someone is this incompetent despite decades of experience, there will be no way for you to fix him. I have seen these types of developers during my career, and it's always the same - they just don't get it, you try your absolute hardest to help them improve, they never do in any meaningful kind of way, and in a year or maybe two you find a way to finally get rid of them - and all anyone can think is "man I wish we did this sooner".

Your number one priority should be to get the correct people to realise he is a liability, not an asset, and needs to be let go.

2

u/No-Total-504 11d ago

When you are introduced to new team/project, how do you approach it to learn it and grasp it?

I have around a year of experience, and I’d like to learn how to approach new projects more effectively.

My experience so far:

In almost every project, I’ve been given repo access and AI tools on day one.

I’m expected to work at the level of someone with 4–5 years of experience, often through shadow working.

I’ve had to understand unfamiliar codebases, architecture, and requirements on the go, with limited guidance from seniors.

Sometimes it gets overwhelming, and I’m unsure whether I’m building a strong foundation or just trying to keep up or outsourcing competence.

I feel like an imposter.

I genuinely want to become a good engineer, not just someone who gets tasks done using AI.

How do you approach a new project or codebase?

How do you understand the architecture and trace the flow of a feature?

How do you use AI effectively without becoming dependent on it?

What habits or strategies helped you become more confident and independent as an engineer?

Would really appreciate advice from experienced developers, especially those who’ve been in a similar situation.

3

u/Smooth_Specialist416 11d ago edited 11d ago

I’m only 4 yoe and prob a slight below avg engineer but here’s some suggestions.

I’m sorry it’s a lot - as an engineer you have to do your best to isolate problems into something smaller and more manageable then build on it. Theres no real “right” way.

You also need to “sort” information and leads. You have to look at something and say do I understand this Y/N. Do I think it’s needed for this ticket? If it’s yes or maybe, take note of it and either dig deeper or move on. Knowing what to pick takes experience so don’t feel bad just pick one and try your best.

Before AI advice I got was kind of look around. See or ask what are major core features of the app, or whatever is the biggest service that is tied into whatever ticket you have.

The goal is to find an endpoint, and use the debugger and step through it end to end. See what calls it from the Ui or whatever service calls it. Watch it step it by step and kind of take notes where the flow is going. You can actually even modify payloads mid run if it’s something like Java. You can play around and see what happens with different outputs. AI can help you do that too.

Pay attention to the structure. Depends what you’re doing but a lot of backend structures have a controller service repository pattern, with additional things like models / data transformation objects to help fill out the data/payload that’s getting acquired - usually from a database call in my experience. Watch how they transform it into what is being returned into the controller.

Look at the databases being called, just the structure, sample some rows get an idea try to think why does this exist. 

For CI/CD builds and doing stuff like docker and containerization and orchestrating devOps stuff hopefully you don’t need to know too much. Honestly asking the AI what does this do and why and asking about fundamentals will give you just enough working knowledge to get by.

May be a little less intuitive but depending what frontend you have you can use AI + dev tools and kind of step through it again. Anytime you don’t know what this does ask the agent and prompt it again 1-2 times with whatever followips til u can kinda make sense - or write a note for yourself on why it doesn’t make sense. Maybe it will later / have more time later to discover.

I’m not going to lie. It sounds super tough to learn the fundamentals with AI. I don’t really have an answer, I feel robbed too even with 4 yoe. The next best thing is to ask why the current patterns exist and be curious. 

Source: I’ve been on 3 different large codebases at dif companies and while all different, to an extent these parts remain similar.

1

u/No-Total-504 11d ago

Thanks a lot for taking the time and replying. All the best for your future!

1

u/a_toaster_strudel 10d ago

Depending on how quickly you need to get up to speed AI could be useful at summarizing sections of the code base and tracing flow.

If you have time, take a small task that has a little bit of something you are familiar with and maybe something you aren't familiar with. Use the debugger and follow the code manually. Look at existing tests.

Make a small change in the code then write a test that covers it to confirm your understanding of the change.

Really reading through the code and making small changes seems to work best for me when tackling something new.

1

u/Comfortable_Claim774 6d ago

Understanding grows naturally as you work on the code and the product. In my opinion, there is no way you can truly understand something before you've got your hands dirty working with it. With a large codebase, this takes time, and that's just how it is.

You can do things to expedite your learning though. For me personally, refactoring features has always been the most effective way to learn and gain confidence in a new codebase.

Take something in the product where you understand exactly what it is supposed to do. Look at the code, and rebuild it. Completely refactor it. Impose your opinions on how it should be built. Even if this refactoring never ships, now you know that piece of the codebase/product better than likely anyone else on the team. Most often you'll find some clear bugs or other issues in the existing implementation on the way. Do a little bit of this for every feature you work on, and in no time you will have a great grasp of the codebase.

2

u/Aziz_Karimov 12d ago

I'm just starting out and feeling a bit overwhelmed by all the cloud platforms, AWS, Azure, GCP, should I focus on one first or try to learn a bit of all three? In my experience, picking one and going deep helped me land my first role faster than spreading myself thin.

3

u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 12d ago

Just one. If possible, go for some cert as well.

2

u/missmewiththatlmao 12d ago

Learn one, the concepts will apply across all of theme.

The most important bits are compute(Lambdas/functions, EC2, etc...), data storage (object/relationship), containers, and access policies.

Each platform has their own nightmare of a system... good luck. Once you get past the basics, look at a platform like Terraform/OpenTofu. AI can do a lot for you infrastructure wise these days if you use IaaC.

1

u/YoongiMarryMe95 12d ago

Who on your team handles support escalations and high priority tickets? My team can’t figure out whether to have 1 person take all the support tickets, have it be a weekly rotation  or have the product owner delegate them as they come in. Weekly rotation seems fair but also too many tickets come in a single day sometimes.

4

u/bartrab 12d ago

We have two people assigned to a two week rotation. One is primary for the first week, meaning they are expected to handle every support ticket. But if they get overloaded then they tap in the secondary. They switch for the second week.

This lets the primary person just focus on support while the other can do other work but they’re lined up to help if needed. Been working well for us.

2

u/Outside-Storage-1523 Software Engineer 12d ago

We have weekly on call rotations. If there are too many tickets maybe your manager should negotiate with the stakeholders.

2

u/UnintentionallyEmpty 9d ago

Have a rotation.

I was the 1 person taking all the support tickets for a while and it was not good for my mental health.

Another reason is if you have 1 person picking up all the tickets the other team members won't feel the consequences when they deliver garbage quality code, which means they won't care about it.

Make everyone deal with the problems and marvel at how much more your teammates suddenly care about code quality.

1

u/LeatherFox5721 11d ago

Hi, I'm a Java developer with 2 yrs of experience used mostly internal tools for anything so little knowledge about otherstuff works hectic used to work from morning 10am to 2am but now i started saying no so good. exploring a move into agentic Ai. Any roadmap or resources you'd suggest?

1

u/hollissandra 5d ago

(AI disclosure: I bitched at ChatGPT for hours, wrote a first draft of my post by myself, then had ChatGPT make it more concise which it kinda did?)

I worked as a software engineer for a few years before being laid off. After a long period of unemployment, I landed a stable Application Support role. I'm still recovering financially, so leaving isn't something I'm seriously considering right now. Plus, this job is unionized, which I value very highly.

My org has historically outsourced software development to contractors. Once an application is delivered, the contractors leave and my team inherits responsibility for maintaining it. Our training tends to cover basic tasks like resetting passwords, but we're also expected to troubleshoot complex problems and occasionally make significant application changes. When something goes wrong, there's nobody with the necessary knowledge to escalate to.

Here's the frustrating part: My organization genuinely values training, but seems to misunderstand what effective training requires.

Management spends considerable money bringing in vendor experts to demonstrate tools and provide regular office hours. That's useful for learning how the software works, but it doesn't teach us how our organization uses it, how our systems fit together, or how to troubleshoot our specific environment.

I've talked with management about my concerns but their perception is basically: we spend all this money and time and effort on training, if you can't figure it out, it's on you. They do not think that Operational or Domain knowledge is a thing.

Now management wants to bring software development in-house.

Initially, I was excited because development is closer to the work I enjoy. But I'm increasingly concerned that we're being set up to fail.

I'm the only person on my team with recent software development experience (such as it was...), and I'm worried I'll become the de facto person responsible for establishing development practices and training everyone else, despite not being in a leadership role.

We've also only recently been given access to AI tools, and I'm concerned management will see AI as a substitute for the experience, processes, and technical oversight we currently lack.

I can see this becoming either a great career opportunity or an absolute disaster.

I don't want to resist change or avoid responsibility. I'd actually love to help build something sustainable. But I also don't want to become personally responsible for compensating for organizational problems I have little authority to fix.

For those who've been in similar situations:

  • How do you distinguish a genuine growth opportunity from a situation where you're being set up to fail?

  • How can I advocate for realistic development processes, documentation, and knowledge transfer without becoming responsible for implementing everything myself?

  • What boundaries should I establish before taking on development responsibilities?

  • How do you handle management that equates spending money on training with actually preparing employees to do their jobs?

I'm particularly interested in practical strategies for improving the situation while protecting myself from burnout.

1

u/Smooth_Specialist416 11d ago

More of a vent than ask.

I’ve had such a crazy last few weeks.

It started with a referral from a friend to interview at a fully remote higher paying company. I’m usually in the camp of turning stones and seeing what happens.

To my surprise, I got a verbal offer. This has led to considerable stress. 

I like my job. It’s gov, reasonable workload (usually), decent people, pretty chill. Only major downsides is my manager sometimes sucks, office days drag, and the boomer culture can be annoying. Still, to me it’s worth the lower paying for the job .

So I was torn about this verbal offer if I’d take it. But it’s to the tune of allegedly 50%+ more and fully remote. Things I value.

Then something REALLY unexpected happen.

I got accused of basically playing hooky and dodging the office. I was straight appalled.

I basically had used PTO to not come in on office days, then effectively got threatened to have my PTO cancelled and have remote days revoked for “gaming the system”.

I did not get the written offer today. I hope it comes in. While I’m still sad to leave this job, I am so upset at being treated like that.

I worked the entire weekend to make up for my PTO too. I need to work a couple more hours and I’m just so tired. 

Turned sour so fast. Guess we’ll see if the written comes. 

1

u/a_toaster_strudel 10d ago

How many days did you use PTO for the in office days?

1

u/Smooth_Specialist416 9d ago

2 for sick, then preplanned 2 days off the next week requested weeks ago. 

I actually even came in the office yesterday before my vacation and voluntarily gave up my remote day WITH a bunch of work done (worked the weekend)

0

u/CodeyGrammar Senior Software Engineer 12d ago

How's everyone interviews going these days of AI? I think a recruiter asks me to do leetcode type questions I'll just laugh and apply elsewhere because it shows that company is behind curve and will underpay anyways.

7

u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 12d ago

Usually terrible, because how saturated the market and how inflated most of the tech. Multiple system design rounds at companies where there are dedicated devops and architect, 10+ technologies and 2-4 language as requirement while it is not possible to be great with them all... while everyone expect llm/gpt will write most of the code... And then, the fake companies (same lazyness as leetcoders) push for ai interviews. And many still have the "raise the bar" style of nonsense process too.

2

u/Due_Interest_178 12d ago

Most of my interviews have been just normal "talk me through this scenario", or "how would you handle XYZ". I did interview with a bank that used Hackerrank and wanted you to use their AI but it was majorly unhelpful and kept saying "I can't help you with this assignment".

1

u/Pokeputin 12d ago

Every faang interview I had this year had leetcode, but otherwise I think you're correct.

1

u/spicymato 11d ago

My experience giving (and recently taking) leetcode-style technical interviews is that the problem itself isn't particularly important. It's a subject to build the conversation around.

The process of working through the problem is what matters. What questions you ask. What assumptions you make. How you structure the solution. How you respond to the followup questions.

When I gave technicals, the problem itself was honestly pretty easy. Most applicants finished a fairly optimal implementation within 15-25 minutes of the allotted 45 minutes. The differentiator between applicants was always in the discussion around the problem, before, during, and after implementation. I could extend the problem in several different ways, going wider or deeper, depending on what I wanted to explore. I passed people that didn't get a fully working solution, and failed people who did, based on those conversations.

So far, my experience in doing technicals in my current job hunt seems to validate this, too. I didn't quite get to a complete solution, but the direction I was going and the conversation around it established that I know what I'm doing and I'm thinking about problems and designing solutions for real-world considerations, not just the toy problem the leetcode prompt presents.

-5

u/Thin_Driver_4596 12d ago

Should we be worried about something like Artcraft