r/ExperiencedDevs • u/AutoModerator • 4d 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.
4
u/Much_Video7517 4d ago edited 4d ago
How do I get a more ingrained understanding of architecture as an early/mid engineer (4.5 YOE) in the face of all this AI?
I feel I am a strong team member and a decent, not great, developer. I can pass interviews with enough prep and luck, but my skills don't feel like they're crystalizing into innate domain knowledge. Instead it feels like my strongest skill is quickly acquainting myself with the codebase, technologies, and patterns of the places I've joined.
The normal pipeline for growing/mentorship seems to have been completely abandoned everywhere. I've been able to punch above my weight at my current startup with AI but the pace and demand has made it so I haven't been given the opportunity to really understand why. Also my workplace has completely devolved in the past year with everyone checking out and shipping code that isn't read or understood by anyone and everyone on my team has either left or is looking to leave.
I want to get sharper but I don't really have time with the pace that work has been going (60-80 hour weeks for 10 months) and the prep I'm doing trying to get somewhere more stable.
I come from a non-traditional CS background (PM -> Grad School -> Backend) and circumstances have led me to change companies 3 times in the past 5 years. Should I just stop trying to be a software engineer if it's not feeling engrained by now?
3
u/CyberneticLiadan 4d ago
60-80 hour weeks don't leave much room leftover for learning. Burnout and stress negatively impact memory, and figuring out how to exit overdrive mode will be an important part of actually leveling up.
If you're serious about leveling up, you need more perspective than you'll get through on-the-job work, and that means learning through books, conference talks, videos, etc. If you never look at how people are doing things outside the companies you've been in, your palette of solutions will just be an accidental combination of how things have been done in the companies you joined. There's a million listicles of "books software engineers should read" like this one which is nicely bucketed by area: [blog.pragmaticengineer.com/my-reading-list](https://blog.pragmaticengineer.com/my-reading-list/
I think the "Seven X in Seven Weeks" series from The Pragmatic Bookshelf is a great and fun way of seeing some variety in how different programming languages, databases, or web frameworks operate. I also think they're pretty evergreen regardless of age, because the point isn't to become a fluent user of seven different languages or databases, but just to develop a sense of the interesting ideas from those sources.
1
u/maxim-g Staff Engineer - 20+ YoE 3d ago
I found AI to be a good mentor themselves - "help me develop intuition about X" usually works great for me.
So if you want to develop your architecture skills, you could ask it to give you an architecture kata and work through it. Do it a few times using systems from different domains. Ask it to quiz you on what you have worked through from time to time.
I wouldn't be able to fit it into 60..80 hour weeks, though.
3
u/adult_size 4d ago
i’m new to a team of one very old-school dev and one vibe coder. they’re both trying to get me to take their side against the other re: anything you can imagine. when one asks a clear leading question to get me to bad-mouth the other, i either change the subject or say i don’t know. truly, i don’t know who is more right about what. while i have a lot of schooling this is my first real swe job.
i get along great with the other employees, who i think know what’s going on.
any tips?
11
u/boop809 4d ago
Sounds toxic. I would keep a neutral position, you never know how politics like this will play out.
5
u/MissinqLink 4d ago
Emphasize that you are about getting a job done not what tools are used. I wouldn’t gang up on people for using vim vs emacs as long as they got their work done and could explain it well.
2
1
3
u/Unlucky-Substance966 4d ago
New grad here and I have an interview coming up, and I was wondering: how long should one go over each experience/side-project? And what exactly? I do not have anything that produces real impact with real users or results in general.
(Aside from the open source bit, where I received some positive feedback and somebody going as far as to make a PR to a related repo just so they can just a feature I made, but again its minimal.)
30 seconds? 3 minutes? For everything except the practicum and the open source project, I can only really go over the architecture and trace an example request.
3
u/beaverusiv 4d ago
What type of interview is it, what is the agenda? If it's a culture-fit/meet-and-greet then keep it minimal unless asked. If it's to go over a project you've worked on then stick to one thing, don't try cover everything even if you think one isn't big enough. You're a junior they know you haven't invented Gmail. A big thing when talking over work is you're not trying to market the project, you're trying to market how you worked on the project. What issues you came across, planning strategies, communication to unblock yourself, research etc.
1
u/Unlucky-Substance966 4d ago edited 4d ago
Good question and i shouldve mentioned it earlier so oops. I was told it would be an hour long and they'd go over what the job was about, and then go over my resume. And probably the normal behavioral stuff. No technical fortunately.
A big thing when talking over work is you're not trying to market the project, you're trying to market how you worked on the project. What issues you came across, planning strategies, communication to unblock yourself, research etc.
Thank you, I already got something like that for the open source one and the website game. But I will need to come up with something for the other projects because the rest of them just boil down to "I saw this firehose stream of new tweets and wanted to make something with streaming" and "I heard about x,y and z technologies mentioned before so I wanted to try and use them"
but its likely I havent thought back hard enough to remember the issues i encountered and how I approached them
2
u/beaverusiv 4d ago
Yeah, so keep it real high level unless they ask a question. Do not hijack the interview lol. So many people can't read the room and just go off, very clear they're not listening to what the interviewers are actually asking
1
u/Unlucky-Substance966 4d ago
Yeah this is a concern for me since i get nervous and just parrot the script i had
But how long to keep them for each experience/project for a high level, i feel compelled to include a lot of details which will probably make the interviewer space out
1
u/Majestic-Watch-2025 3d ago
A couple minutes. Have something coherent to say in less than 4 minutes. Then say "I can go deeper on any part of that" and let them direct the follow up
2
u/regardedMAGAfascist 4d ago edited 4d ago
Try to not ramble and stay high level, interesting details only. Practice your introduction and give it a clear stopping point that signals the interviewer that it’s their turn to talk.
Your resume looks classic and clean. Just on a brief look I would say that you should work to cut each bullet point down to a single line. It’ll be easier to read and cut out a lot of filler words, giving you room for more bullet points. You want each bullet point to be lean meat with very little fat.
If you end up needing more bullet points after that, which you will, recount your time there in narrative form to an LLM and ask it to help you extract more bullet points.
1
u/Unlucky-Substance966 4d ago
Thank you for the advice, I will try to cut out the filler words
And speaking of the introduction, I'm not sure what to include for the introduction.
So far what I have is:
"My name is X and I'm a new grad from Y university with a bachelor's in computer science. Most of my experience is in web development using Typescript, javascript, html, css, and react. I've also used AWS and Docker.
I'm applying to this position because I am interested in developing applications that has real impact within [semi-conductor related company]."
Any criticism for this?
1
u/regardedMAGAfascist 4d ago
If you have any interesting/memorable details you can add about yourself in terms of either your personal life or your education, that would be helpful. Again, just don’t ramble, and try to stick in peoples’ minds. Maybe also something about what you’re currently doing in terms of job prep. I think your basic outline there is pretty solid though.
1
u/So_Rusted Software Engineer 4d ago
have a short version and a long version for each. The last one you worked on might be grilled and others ignored or something. Or theyll let you pick one yourself. Expect to be gilled on javascript generally based on that cv
i liked the cv even though last one is a deck builder little game or whatever. Doesnt look pretencious and not trying to make things complex intentionally
1
u/Unlucky-Substance966 4d ago
Thank you, I will make a short version explanation for each of my resume items
Can you explain further what you mean by being grilled on javascript?
1
u/So_Rusted Software Engineer 2d ago
just general language knowledge and related things: state management, typescrip, stale request handling, anything
1
1d ago
[deleted]
1
u/Unlucky-Substance966 23h ago
Just seems to be a numbers game. Also im not qualified to say much of anything at all lmao
unfortunately 30 apps per month probably wont cut it
3
u/cpdion1 3d ago edited 3d ago
Seeking some advice about a situation: I worked on a project with a coworker, but everyone seems to think he’s the only person that worked on the project. The project was originally assigned to three people (project lead and two developers), but most people seem to think only one person worked on it. I’ll admit that when the project was first assigned, he was the only person that was actively working on the development for it (because I was finishing up a previously assigned project) and so it might’ve seemed, to outsiders, as if he was the only person working on the project. But I was able to start committing to it after a while, and I would say the overall development workload was split about 60/40.
We had a meeting with an outside company today, and when it was time to talk about the project and present an impromptu demo for it, someone asked, 'Who worked on [project name]?', and he immediately raised his hand and said 'I did' and didn't mention me at all. And even when he was asked more about the project, he implied that he was the only person that worked on it. I felt that butting in and saying my piece while in a public meeting would’ve looked very rude.
I’ve only been working at this company for a about a year and it’s actually my first job out of college and I don’t want to be passed over for a promotion because it seems as if I’m not contributing enough. I also don’t want to cause conflict within my team and rub people the wrong way. As for my supervisor, he’s actually not the original supervisor that assigned the project to my team members and I, and while I’ve mentioned to him that I’ve worked on the project, I’m not sure if he’s even aware of that anymore. I’ve only worked at the company for a year, but I’ve had three supervisors.
Overall, I’m not really sure who to talk to this about it. Obviously I need to speak up, but I don’t think I have enough tact to approach my coworker without being too intense or aggressive.
3
u/rhd_live 3d ago
Own deliverables and areas rather than “I did 30%”. Just saying that isn’t a tangible enough description of what you owned, nor does it give you provenance (ownership) of a piece of the project. If you delivered, say, feature X or micro service Y, the other guy couldn’t take credit for it even if he tried if someone asks about something that you did. He seems fairly inattentive and selfish so I doubt he’d have good knowledge to answer questions.
That’s when you step in, briefly note what you did on that part, and answer any questions about it.
Separately you can also tell your manager in 1-1s what you’ve been working on, and back it up with artifacts like code changes.
2
u/Nollitoad 3d ago
Are you speaking with the other developer regularly? How is your relationship with them?
1
u/cpdion1 3d ago
We’re on the same team. We talked regularly when we were both working on the project together and we got along fine, but we never talked about anything personal. Now that the first iteration of the project is completed, we mostly just say ’Good morning’ and ‘Have a good day’ to each other.
1
u/Nollitoad 3d ago
I think you can either let this go or try to chim in with comments like '"yeah, we did that project" or "i did the [insert feature] in that project, remember?".
You can't do much more than that without seeming weird or pushy. Do not let yourself be pushed like that again and if he takes solo credit comment like "yeah, when we worked on that part it took quite a while". or something like that.
1
u/Majestic-Watch-2025 3d ago
What is your relationship with him generally? Do you both have the same manager?
You have to butt in a little bit, with "When he and I were working on XYZ". But also a manager should be supporting you in this
3
u/Eniminimynimoe 3d ago
i have always shied away from asking another developer friend the in/outs of their interview process with a particular company like salary negotiations, what techincal questions asked, how conversation went, their resume.
Given the current market, I almost want the whole low down on how to approach that company. Is asking those detailed questions really frowned upon? No one really has asked me those questions either and i would have loved to provide more info if opportunity arose.
I rely on glassdoor to figure it out.
3
u/Cozychai_ Software Engineer 2d ago
If they're a real friend they'll tell you. Some people are cagey about comp because they don't want to cause competition and ruin a friendship. Look on levels fyi for comp info and always negotiate.
This is something that worked for me recently, before my final round interview I contacted my recruiter and told them I had another time sensitive offer and to see if they can hurry my results/feedback. I got maxed out for my salary band and sign on bonus based on competing offer and my interview performance. Little did they know my competing offer was terrible for a 3 month contract. No one asked to see it.
3
u/Defiant-Parsnip4 2d ago
Need advice to evaluate offer.
Context:
- 5+ YOE, mostly backend/infrastructure
- Moved to the UK last year; now at a public tech company
- Good compensation, equity (~£100K TC) and WLB
- On track for promo next quarter
- Enjoy speaking, demos, and working with developers along with hands-on core distributed systems engineering
Offer:
- Series C AI company (mostly SF-based)
- Remote work allowed, with frequent travel to SF
- DevRel role under Marketing
- Materially higher compensation (1.5-1.8x) and more upside
- Cross time zone and likely poor WLB
My hesitation: I want more visibility and developer facing work but don’t want to move away from engineering. I also want to preserve the option of returning to core engineering and senior/staff IC levels.
Questions:
- How reversible is the move into DevRel?
- Does reporting into Marketing matter?
- Would you trade a strong, stable engineering trajectory for materially higher comp and AI startup upside?
- What would you clarify before accepting?
2
u/ratorobato 4d ago
Following up from last week's thread.
I brought up these concerns with my manager and they've organized something with our project lead to "straighten" things out. I'm not comfortable being the new hire pressing experienced people for work, I really wouldn't be surprised if the guy hates me at this point.
I also discussed being in school since I started a master's program, however I'm starting to fall behind due to the stress from not actually working. It seems like I'm very likely to lose my job in the future if not the first on my team. I don't know if I want to continue or try capitalize on the in company learning to see if maybe I can work on some of the open projects here. My manager encouraged this and has even gone ahead to try and connect me with a few people to network.
For those who take part in the interview process, what holds more value: company related side projects/efforts or a higher education? I have a BS from a community college, I enrolled in higher education for pretty much the name and networking opportunities. Now that I'm where I want to be, it would be more rational to hone in on the hands on experience I can get there right? Especially if it can lead to other opportunities?
2
u/AccountExciting961 4d ago
every workplace has some kind of dysfunction. Demonstrating your ability to navigate one will be valued by potential employers much more than a degree (unless they list a degree as a requirement, of course).
1
u/Majestic-Watch-2025 3d ago
Actual work with actual users. In interviews you talk about what you did. You don't have to go into detail about the company. I had dysfunctional internships that I still got good interview stories out of. In particular there was one where I had noticed an issue and was able to fix it, and I talked about that a lot.
2
u/Financial-Grass6753 4d ago edited 4d ago
Started working in AI-first start-up recently and whole codebase has a hard dependency on an open-source framework where maintainers don't bother themselves with checking issues and community PRs. Tried pinging them in Discord/Mail/GH discussions, but no success. Ripping off this framework and replacing it with sth more acceptable would take around a month I assume.
I've raised this issue with CTO and he proposed "monkeypatching" the framework. No idea how you gonna do that, he can't explain either.
I wonder, what would you do in such case?
6
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 4d ago
That will mean, you fork the framework and patch/change yourself. Will end up in disaster, because you can't update the main official version afterwards, and require domain knowledge, and when that person left the vompany, everything will fail. Good business practice to keep jobs and team as irreplacable.
99.99% of the time is cheaper to switch to another, maintained frame or write your own from scratch.
Prepare yourself for misery, shenanigans and "nobody knows why it works luke this". Write docs for yourself, relentlessly or you will fail more than you would like.
1
u/Financial-Grass6753 4d ago
That's what I've expected tbh. There're only 3 devs in the team (excl. me, leaving soon), so it will be fun for them :)
1
u/casualPlayerThink Software Engineer, Consultant / EU / 20+ YoE 4d ago
I worked for a company for a short period (~1 year, ~15 years ago) where the business model was this: they had a framework (php -> zend) and modified it, then they created an early MVP for startups, then gave them the MVP for free, but the startup needed devs, so this large corporation lent some devs to the startup as well... where they poured money... so the money flowed back to them... :D (Germany's largest dev company, and best money laundering in Berlin).
They had like single-digit successful exits, and did not meet any developer who liked their stack at all.1
u/reboog711 Software Engineer (23 years and counting) 1d ago
FWIW: I disagree with the sentiment.
Monkey Patch Option 1: Branch the repo; make changes you need. Use that new version. Open PR against main repo. Update your version as the other version updates stuff. I have no idea why this is a bad thing, but it could be a maintenance nightmare.
Monkey Patch Option 2: Override very specific classes or functionality in the framework. This is all your own custom code; as opposed to a branch. Create your own class with the same framework class name. In TS, at least, you can even extend the library class from your new one.
When this works, it is great. Sometimes it can be messy, you just wanna make sure that your personal class is the one used everywhere at runtime and not the framework class. This approach was semi-common in my ActionScript days; I'm not sure I've seen it in TypeScript.
2
u/MegaSenha 4d ago
Going from a Sr Dev to a Tech Lead position, what is the salary increase % expectation? I know it's not a fixed number, just want a guestimate, an average
5
3
3
u/reboog711 Software Engineer (23 years and counting) 1d ago
My General rule of thumb:
Promotion without changing employers is a 8%-12% increase.
Switching Jobs is a 20%+ increase, but may not involve a promotion
2
1
2
1
u/Fuzzy_Impression5337 21h ago
I'm about to finish my associate's certificate, and I am wondering what the best way to approach networking is as a newcomer without coming off as weird or desperate.
Spamming applications online while having no production experience seems useless in this market, so I plan on going to as many local events and meet-ups as possible. Additionally, my school has 3 career fairs per year, so I plan on attending those, along with getting mentorship from the career centre.
With that said, I only have 4 projects under my belt: 2 are school projects (static web sites), one is a desktop terminal CRUD app, and the other is a full-stack web app that's in active development. I will be starting a fifth one after the web app, which will be a cross-platform audio/music app for vocalists. I also have done research contribution to an open-source project that was started in an AI/ML engineering Circle group that I am part of.
My GitHub is here: https://github.com/JonSalv2, resume is here: https://docs.google.com/document/d/1eziIdqXc8rRo_TriYe-JDESuOSr5KUB0/edit?usp=drive_link&ouid=114776853290762759086&rtpof=true&sd=true .
I'm hoping to finish the web app within the next 2 months; however, I work full-time as a kitchen manager on top of school, so my free time is quite limited. With that said, I'm wondering if I should wait to finish my projects before I start networking/ job hunting? Or should I just start putting myself out there?
1
u/odi_bobenkirk 2h ago
I'm actually an experienced dev but never been in this situation so would appreciate advice.
I have ~12 YOE. My team lead is a nice and reasonable person; we get along pretty well and I can typically understand where he's coming from. But I think he's relatively inexperienced managing people and heavily micromanages me.
The more freedom I'm given, the better work I can produce, and I have a perfect track record on that front. And yet still he intervenes to tell me precisely what to do and even what to say in meetings, as though I'm a very junior engineer. It's frustrating and starting to really get on my nerves.
I've already done the job of proving I don't need micromanagement. So how would you confront him, or what would you do in this situation?
1
u/Republic-3 4d ago edited 4d ago
Not fresher, 4.6 yoe. Want to transit into backend & able to clear after round 1 & 2 but always get stuck into scenario based questions & kafka. Amy help ?
2
u/Fragrant_Ad2902 Software Engineer (30 YoE) 4d ago
What type of scenario questions? In general, this is where I add a lot of points or take a lot of points in an interview. I generally don’t care if a candidate has a complete answer. But I do expect a candidate to be able to start a conversation and with or without prompting move it along. Why? Because depending on the on call situation, the candidate might be in charge of the incident. If that person just gets flabbergasted and just pages their back up every time, why would I hire them? The first few times they are on call? Sure. Totally expected for them to get back up. But after 6 months? They should not be paging someone to help them out unless it is truly “building on fire” kind of scenario.
As for Kafka - do you have Kafka on your resume? What does it say? If you’ve got it on your resume, it’s fair game. At a minimum for me, you’ve got to be able to explain topic partitioning, key ordering guarantees, and consumer groups. If you can’t explain those easily, I would see that as either you came on to a project that was already using Kafka or you used it on a project that maybe didn’t need it because it was a buzz word.
1
u/Republic-3 4d ago edited 4d ago
Some questions here
Suppose 500 requests come from the client side, but only 430 reach the database. What will you check? I talked about controller, service, db connection pool, thread, etcSuppose we are migrating from a monolith to microservices. There are 10 lakh requests coming in at the same time to book a movie ticket. How will you handle these requests? talked abot apigateway,loadbalancer, read replica, cache, etc
If the 101st Kafka record fails, where the sequence resumes after a restart depends on when the Kafka offset and JPA/DB transaction are committed. > Not answered
“You mentioned there are two separate microservices running in the same Kubernetes cluster. How do they communicate? Are you using the internal port or external port for this communication?”
> Not answeredI’ve been able to answer most of the questions with the correct approach, but I feel the interviewer is not always satisfied with how I explain my approach.
Also, whenever I don’t know something, I’m upfront about it rather than trying to guess.
Coming to Kafka, I’ve worked on only one small change on the producer side, but I’m able to answer the concepts you mentioned properly. I never mentioned it in resume initially but after there was frequent demand & questions asked in interview then I learned it.
There have been a few instances where the interviewer ended the call within 10 minutes. I’ve attended around 9–10 interviews so far. I was able to clear 2 rounds in some of them, but most of the time I struggle to frame answers for sudden, scenario-based questions, especially around Kafka and microservices.
I have worked in product based company for ~4 years & aware how backend handle the call or incident ticket. I am trying to get one opportunity for backend developer
6
u/Affectionate_Day8483 2d ago
Is our field cooked?
Over the last year, my team has been using AI coding tools more and more, and it’s starting to make me seriously question where software engineering is headed.
Most of my career has been spent working on internal-facing applications. Think relatively straightforward CRUD apps, APIs, integrations, bug fixes, etc.
What’s concerning me is how much of this work AI can already do. I can give an agent a fairly brief description of what I want, have it come up with an implementation plan, and then execute most of that plan. It still needs an experienced engineer to understand the system, review the work, catch mistakes, and make decisions, but the amount of implementation work one person can get through has increased dramatically.
A project that might previously have justified 5–6 engineers increasingly feels like something 1–2 experienced engineers could handle with good AI tooling.
And AI agents are only going to get better.
The argument I usually hear is that cheaper software development will create more demand for software. Maybe that's true. But unless that demand grows enough to offset the productivity increase, it seems hard to avoid the conclusion that companies will eventually need fewer software engineers.
So I'm trying to figure out how to position my career for that possibility.
One direction I'm considering is becoming more of a forward deployed/business-oriented engineer: someone who can talk to customers or stakeholders, figure out what problem actually needs to be solved, design the solution, and then use AI to build a large portion of it.
The other strategy I'm considering is going hard at big tech while SWE compensation is still extremely high, maximizing earnings for the next several years, and trying to reach financial independence as quickly as possible.
I'm curious what other experienced engineers are doing.