Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 45 comments
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.
Big-Button-8122@reddit
Hi everyone, looking for constructive advice on a recent org change.
Recently, leadership mandated a shift to a "1 Developer = 1 Feature Area" model. We are essentially solo developers now, but our repositories are split by tech layer (e.g., all frontend in one repo). Furthermore, we are divided across multiple separate teams, meaning multiple solo devs are pushing code into the same shared codebase for their own distinct features.
We still use Scrum, but Sprints and Story Points are primarily used to plan and track individual deliverables. There is no shared Sprint Goal.
My concern is the long-term health of our shared repositories. With everyone naturally focused on their personal sprint goals, it becomes challenging to maintain the "big picture" or proactively manage shared components.
How would you approach the following in this environment?
Shared Architecture: How do you maintain shared UI libraries and core services without creating spaghetti code or duplicating work?
Code Reviews: How do you structure meaningful reviews across different domains and teams to prevent code from becoming a black box?
System Stability: How do you prevent one developer's changes from accidentally breaking another feature in the same repo?
Any practical engineering practices or cross-team strategies would be greatly appreciated!
PancakeWithSyrupTrap@reddit
Are leetcode style interviews still prevalent (and for that matter, relevant), given that AI writes the majority of code ?
Should interview prep focus more on system design and CS fundamentals ?
Wide-Pop6050@reddit
System design and CS fundamentals imo
SignoreBanana@reddit
I'm a platform engineer and system design interviews even trip me up. How do I get better at them? I feel like I don't really ever understand how detailed I need to get.
PancakeWithSyrupTrap@reddit
I find hellointerview helpful (for beginners at least).
OtaK_@reddit
Outside of FAANG publicity stunts to attract dumb investors, this doesn't exist in real companies.
Focus on your fundamentals, the rest is just details.
Regardless, leetcode was only prevalent as a red flag of where to not go, so ymmv.
PancakeWithSyrupTrap@reddit
good point. I admit I was fooled by these stunts.
that said, AI writes about 50% of my code. not sure if that is a good or bad thing.
Buttleston@reddit
I've never worked anywhere that AI writes the most of code
Even if you use AI you still need to know how to code well. Any other path is madness
We don't do leetcode style but we do have programming exercises. They're designed to be closer to what you would do day to day if hired
JandersOf86@reddit
Are you willing to share what some of those programming exercises are?
Buttleston@reddit
I don't have them on me but I can dig them up tomorrow. They're divided into tiers (easy/medium/hard). We let the applicant pick from the list, usually we do one easy, then a medium, if they tear through the medium we'll start a hard with the understanding that it might not get finished in the alotted time, otherwise we'll stop there or do a 2nd medium
The format is essentially that we provide a function, a description of what it *should* do, and a test suite. When press play it runs the test suite and reports the results.
So it's kind of in between doing a peer review of someone else's work (and fixing their mistakes), or writing it again from scratch (with some of them that is the best solution and it's interesting to see how people approach it)
Like one example of a medium is making a function that takes a date as a parameter and returns a string describing how long ago it was from "now" in human terms. Is that in particular something I do from day to day? No not exactly but it's closer than finding shortest paths on a directed graph or implementing binary search or something
JandersOf86@reddit
Awesome. Thank you for the answer. Any examples you end up sharing would much appreciated, but either way, I appreciated your response already.
PancakeWithSyrupTrap@reddit
> Even if you use AI you still need to know how to code well
agreed. in fact I use AI to explain how to code as well. can be very useful.
Buttleston@reddit
I don't think I agree, how does AI help you to know how to code well? If you're asking it if a piece of code is "good" then you have, IMO, gone astray
skuple@reddit
Mostly system design + technical conversation nowadays AFAIK
There must still be coding exercises here and there but leetcode as always been pretty stupid
PancakeWithSyrupTrap@reddit
thanks !
absentmind86@reddit
I built a one command dev environment installer for windows, I thought others might find it useful so I gave it a quick polish, and released the windows version while I work on the cross platform branch.
Im not looking for self promotion, I am genuinely asking if anyone else would find this useful and any feedback would be greatly appreciated. Highly customizable, reproducible, optional windows sanitization, bootstraps itself.
https://github.com/Absentmind86/am-devkit
casualPlayerThink@reddit
Well, there are a few things:
- I highly recommend a one liner info what describes what this package/app actually does
- Also, I would highlight at the top that you wanna use LLM in either cloud or a local way, so there might be some cost implications
Generic notes without reading the implementation in detail:
- Most of the pro places who uses MS/Windows have extremely strict policies, so devs cannot install your app, system operators and exchange server would not let you use this at all
- In a security audit most likely your app would impose failures/security vulnerabilities
- Not sure what your app tries to solve or provide. A ghosting/system backup does what yours provides, but without an LLM/GPT, possible leaks
- Not sure your backup system restore options... can it be tested (e.g., validated at all)?
- What happens if someone tries to restore the data to a different hardware?
- Why do you bloat the host OS with so many dependencies? I do not know any dev who likes this idea... everyone tries to push everything into vmVMss or containers to avoid battling this kind of stuff
,
Strong-Ad5472@reddit
I'm curious what experienced devs think your relationship with your manager should be like.
I have a manager that I present my designs to, he will tell me its incorrect or I need to do something a different way, then 3 weeks later when I present a new design (this time to the team) he seems to forget what he said and starts asking why I did things a certain way (what he said to do).
Should I be pushing back more? He is my manage so when he overrules me, I tell him i disagree, but he is adamant. He also never remembers what he says, so if I just didn't listen to him, I doubt he would notice.
casualPlayerThink@reddit
A manager is rarely your friend. Best is when both think of the other as a partner to solve problems and respect each other, have an open mind, and even if there is a disagreement, they can talk about it, not just push each other.
In your situation, you need to have those decisions written.
There are several ways to achieve this:
- You can ask for written tasks (even just one-liners) in a ticket, sub-tickets, or as ticket-actions,
- You can write yourself a meeting summary and post it into a public space (ticket comment/description or Slack/Teams/chat app public channel
- Also, the specification/requirements should be updated to that
If nothing helps, then go for one level higher and ask for clarification on the situation, with a few examples of what happened, what the info was, the decision, and how it went through.
You know, there are people - not just among the managers - who will give you a very hard time, and will have very little compassion, understanding, and patience towards you; moreover, you will feel hostility. In many cases, it is not just because their personality is like a razor or a rasper, but they are anxious and try to push all boundaries to deliver things, just to solve a given task within a time frame, just to fulfil their own goals and requirements towards stakeholders. Not necessarily dumb people who do not understand things. Mostly they do. But you have to find a way to communicate effectively and figure out the ways to give power your opinions. Otherwise, you will be pushed over all the time.
No-Question-1122@reddit
Hey people. Recently received a disciplinary (coaching plan type thing) after missing a project deadline. It's in the same flowchart as my companies equivalent of a PIP so I am naturally quite concerned.
I was quite shocked as, while I understand that missing the deadline is not great, I flagged blockers, explored workarounds, feel as though I explained the issue and the ambiguity around the problems being faced, paired with another engineer a couple of times, explained that we are going to be late, etc. At one point, my manager said they would escalate with the dependent team, and they never did, I ended up emailing them and cc'ing their manager myself -- don't get me wrong I am fine to do this -- it's just odd that it's now being weaponised against me as though I didn't try escalate or I didn't escalate hard enough.
There were many moving parts that lead to these issues which delayed the project and I feel as though a lot of the blame has been placed on me being the problem.
In the past, I'd be more used to feedback like this being an informal chat with my manager, maybe some reflections in a retro to improve, etc. But for it to be escalated as a written 'warning' with my skip-level included seems intense and I am wondering if this is the pre-cursor of a full-on PIP.
My main takeaway so far is that I find it's a poor process to go through, and I can understand there might be a mismatch in work styles, and so maybe I am being managed out very slowly?
This is the first time I've had to endure a process like this. Now I feel micro-managed. I have to check the scope on any bit of work I do with my manager. I was given a simple project to complete to 'get me back in the good books' -- which to me cements that it's more like an optics thing to pin the blame on myself and ignores some of the more process/system issues at play.
Would appreciate any advice. Am I being unreasonable here? Thanks.
fakeclown@reddit
Most of the discussions around interviewing on the internet focuses on system designs. Most of these system designs discussions are more like microservices designs or algorithm designs. There is little about database design. Why so?
I think database design is used in every day more than algorithm or microservices designs. But database design is not being used in interviews.
gjionergqwebrlkbjg@reddit
I've had plenty of questions hinging on database design, not sure why you think it's not a thing.
engineered_academic@reddit
Relational Database design is pretty much a solved problem these days with ACID and SOLID. ORMs make schemas easy for developers to follow. The toolset has evolved so much that I have a saying "You really don't need a DBA until you need a DBA, and then you REALLY need a DBA".
Other database technologies have tried to take the stage (Everyone remember when Mongo/GraphQL was all the rage? Pepperidge Farm remembers) but ultimately nobody has dethroned SQL(in particular, psql) yet. Beyond use transctions and the design principles I mentioned earlier there just isn't really a lot else to talk about for 99% of use cases.
OtaK_@reddit
Solved maybe but not everyone knows their stuff about them. For example I like to ask: "What database engine / category of database would you use for 1 billion users spread across the globe for PC/EC PACELC and the lowest latency possible". Most candidates learn a thing or two when their answer is either flat out wrong or incomplete.
engineered_academic@reddit
Yeah this is one of those things that 99% of people aren't gonna need to know off the top of their head and is just you flexing on the interviewee. psql has become the industry standard for a reason and is tuneable to meet all the above demands, given tradeoffs. I haven't used it but CockroachDB I hear seems to solve a lot of the major issues with setting up a psql to be truly redundant and performant for global availability.
Zulban@reddit
It doesn't sound like you're basing this on any kind of data. Just vibes.
fakeclown@reddit
Remind you. It's an online discussion, not an academic seminar. Thanks for the peer review.
Zulban@reddit
I can't disprove your anecdote. I'm sure it's true. You sound defensive and childish. Good luck with your career.
Artmageddon@reddit
It’s true, I just assume it’s either because it’s only one piece of the puzzle or that can be hand-waved away with a DBA
JustAFinancialAlt@reddit
Idk where I fall on this experience continuum, but I’m L5 at a FAANG, ~6yoe. I’ve been mostly doing iOS development, over the past year I’ve been also increasing doing backend for the same products. Team is pretty fast moving and we’ve had to switch products, stacks, everything several times under intense leadership scrutiny and I’ve managed so far, so I think I’m decently adaptable.
I’m considering a pivot to an MLE role or something, as I’m getting bored of the iOS app problem set and I’m curious to learn something new. I never meant to become an iOS dev specifically and I’m concerned if I don’t switch soon I’ll end up stuck.
My question is, how can I best go about a lateral pivot like this? Is it possible to simply switch roles? If so, thoughts on feasibility of ramping up into MLE from my current skillset without suffering too heavily in performance review season?
zynsandmate@reddit
I'm sorry if this is the wrong place but I can't post due to karma restrictions. I am 40 years old and unemployed for 2 years. I have 8 years of experience but couldn't pass interviews due to nerves and now I am getting zero recruiter messages and replies. I am desperate and in tears. What do I do?
Klandrun@reddit
Try to use AI to polish your CV. Most CVs go through automated systems before any human ever looks at them.
Also anyone will look you up on LinkedIn.
So: Take the job you are looking for, and make sure a lot of the words that are in there are part of your CV (tech stack etc) If you haven't worked with something professionally it's absolutely alright to even mention that you've worked with something on the side.
Make sure your linkedin is up to date and contains everything you've done so far and all the tech-stacks you've worked with that you'd want to continue to work with, since recruiters do keyword searches
Don't know in which country you are, but on in-person interviews I usually just tell the interviewer I'm nervous, usually makes a good ice-breaker
ImYoric@reddit
I would add: do not get the AI to write your CV. Get it to review it.
Klandrun@reddit
Maybe this is a cultural thing, but where I'm from the CV shouldn't be a lot longer than maybe a single A4 page
So if I know what I've done in my years it's easier to give that to an LLM, let it formulate some nice sentences for each point and then do the last pieces yourself. Never just let the AI generate the whole thing and then send it off
OtaK_@reddit
That's true where I live too, but this advice becomes a bit of counterproductive when after 10+ years, it obviously cannot fit in a single A4 page, even after trimming the not very interesting stuff.
ImYoric@reddit
Passing interviews due to nerves: you need to exercise your interview muscles. Call upon people in your network, ask them to help you prepare for interviews. Or setup an AI as an interviewer, to be able to work this in your own time.
Not getting messages and replies: are you present on LinkedIn? If so, try and grow your visibility, by posting insightful takes on technology, for instance. Or write tutorials. Don't get an AI to write them, though, this is a smell. Or contribute to open-source projects and post about your learning experience.
demonsnails@reddit
Nerves will go away with practice. So you need to give a lot of interviews.. although since you mentioned you’re not getting a lot of callbacks, first thing I would work on is updating my resume to make sure it has a high ATS score.
Obvious-Treat-4905@reddit
this is a great initiative, having a dedicated space like this lowers the barrier for beginners to ask questions without feeling judged, it also keeps discussions more focused and valuable for both sides, threads like this usually bring out really practical, experience based advice
EnvironmentalDay1341@reddit
Sorry, I couldn’t make a post because this is a throwaway account. Idw to be doxxed
I have 2 YoE working as an engineer on an AI Framework team at a big tech company. My work currently spans feature development, maintenance, and some research.
I was recently offered the responsibility of managing releases. It involves release notes, branching, code freeze, PyPI pushes, versioning, etc.
My long-term goal is to reach senior/staff level. From what I understand, that path requires deep technical expertise, and I’m worried this role might be more operational than technical. I also worry it’ll eat into the time I need to make meaningful code/research contributions.
Has anyone taken on release ownership early in their career? Did it help or hurt your growth toward senior/staff? Any regrets or things you wish you’d known going in?
mr_sudo@reddit
I'm fullstack developer and I'm thinking to move to devops within my current company but I'm not sure if it's aligned with my current role.
Zulban@reddit
That's a statement, not a question.
DankMagician2500@reddit
How should I go about finding a new job? I have 3 yoe working with c++, c, python, SQL, and C#.
I would like to try working in creating databases, compilers, trading, and anything AI related. What companies should I look for and how should I go about applying to the companies?
Zulban@reddit
I wrote this to answer questions like this: Finding a job: build something real.
JandersOf86@reddit
Awesome post, and it helps to alleviate some of the misconceptions I had re: certs and courses, etc.
Zulban@reddit
Thanks!