Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 44 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.
Federal-Garbage-8629@reddit
A question to senior developers.
How do you solve a hotfix?
I usually look at error, ticket desc., related data on production, try to reproduce it in my local or staging environment.
Next step - I will look at code, what/where/how it is happening. To achieve this, during code digging I will start looking for possibilities or theories per se.
Next step - I will check the fact with data, timeline, code for my theories one by one. And rule out them.
If don't find anything will share it with team during standup or to related person.
I did the same during an incident on production. Bug happened, everyone is trying to solve it - so did I. I found an error in console, shared it with the team. ( though that was always there, so rules out by a senior within ~2 mins.)
A couple of days passed, the incident report came out, and one of the clause was I led to a different direction and wasted time.
I don't care what is documented, but what I am wondering is what should be the better approach here.
rotioporous@reddit
I'm an early-career engineer who's been working on my current team at a big tech company for the past 10 months. I've done 4 internships at the same company where I've had a total of 1.5 years of internship experience working on similar applications. I'm now learning that a majority of my current team is planning to leave. The project that I've worked on/have been the primary developer has reached org VP visibility who loves the product, and I do believe that I'll get promoted this summer. I'm the only person on my team in my office right now and do not really want to move to another office. At what point would you recommend searching for a new role or looking into internal transfers to other teams? I've put out a couple of feelers and do have quite a few recruiter screenings lined up, but I really would like to stay with my current company.
jalvinake@reddit
Why is your entire planning to leave? Usually when you switch teams your clock starts over on things like promotions. If you like your manager, like the project, and feel your job is secure, I would tend to stick it out but would need to get more info.
rotioporous@reddit
From what I understand, our PM has been yelling at some of my teammates and have heard that it’s getting quite toxic with a majority of the team putting in 60-70 hours nowadays. My manager is great and I do enjoy the project, it’s more or less the feeling that I’m getting extremely burned out. The idea is that I would switch teams a few months after my promotion
jalvinake@reddit
Ugh yeah I am sorry you have to deal with a toxic situation (I've been there too). Having a great manager is super important. Have you talked to him about the situation and how you are starting to feel burned out? A good manager would help you with the situation, especially if the PM is as toxic as it seems.
Switching teams after a promotion is reasonable. Does your company have an internal transfer process?
Dababadubdub@reddit
Hi everyone, 5YOE embedded R&D swe. I'm in a position where I will be pursuing a PhD (that I've already decided) since I enjoy working in research and I would like to continue working in research. The focus will be on cybersecurity and I'm not sure if I should try to keep it embedded focused or if I should broaden my scope and do some other part of cybersecurity (e.g. anomaly detection). I think there are more opportunities ( + more possibilities to work with people I know from uni) if I pivot towards cybersecurity as my specialty but I enjoy embedded dev and I don't wanna leave it behind. Is there anyone who has made a pivot in their career? What was it like, did you regret it? I think the biggest issue for me is feeling like I'm behind everyone (since I already spent 5 years + uni in embedded while I could've done cybersec) and I think I consider embedded dev as part of my personality (not many people around me do embedded dev, so it's kinda nice being the weird one). Appreciate any thoughts. Thanks
kalexmills@reddit
Broaden your scope! More breadth never hurts and will open up more opportunities in the future.
paulwood007@reddit
hello senior developers. I really don’t know what I am doing. I just called using AI, but I don’t know how to quote how to think in court or solve problems I can’t I didn’t do any problem-solving. I didn’t like it then I just work in Java spring boot in my job but 90% of the time I use AI I can’t think any problem on my own so now I am stuck I don’t know what to do what kind of line I should take do I need to learn from the basics because I already graduated like 2024 and after that, I have done a job then I am now in another job, but I didn’t experienced learn any skill. I just use AI in the back and development. and now I’m insecure that that AI is getting smarter day by day so what should I do? Do I need to learn quote from the basics or do I need to switch carrier like data science like already? I am 26 year old so I don’t know.
Longjumping-Bus9474@reddit
What is a software job actually like these days in the age of AI? Is it just repeatedly asking AI to “fix this code?”
Most of my CS classes have a formal no AI policy for assignments, however most students end up using it anyways for assignments, at least to some extent. AI is so powerful that it can pretty much complete any assignment given enough time. This makes me wonder what an actual software job is like these days, since AI can write much more and faster than humans. Some people say software jobs these days is mostly just reviewing code, however I’ve found that AI is good at fixing its own code too. Do workers just open ChatGPT/Gemini/Claude to write code, and if it doesn’t work, they just ask the AI to review/fix it? If so, isn’t this work something anyone could, even with no CS experience, just pasting prompts until the code works?
stubbornKratos@reddit
This differs vastly between companies. Some orgs have access to no models, some older models and some frontier.
Some orgs have repositories with all the configuration, well-organised code and skill files you need too make it easier for your AI to behave as you expect - some don’t.
Some organisations have mandates around daily usage, some have mandates just to make sure you use it and some do not have any requirements.
Some orgs have all the infrastructure and tooling setup so that agents exist and have access to the info and context they need and orchestrate the whole CI/CD chain.
The reason why you see so much splintered conversation online is that simply “using AI” means incredibly different levels of things depending on the company.
I write 90% of my code myself, I make heavy use of AI in my IDE to search/investigate, review my work and help reason about my work. I really quite like this flow.
My org is in the middle of wiring up all these AI tooling, in the next 1-2 weeks I’ll have access to frontier models and proper AI agents.
My style of work might change in the coming 6 months, or maybe not. I’m interested to see. Currently with the model I have (some Gemini) it’s really not good to work independently on solving any of my tasks. It can knock out unit tests and small things but any regular feature I need to actually implement it can’t do.
tutamean@reddit
Hey guys I have a bit stupid question, I have a friend who is electrical engineer but is interested in computer science as a hobby - disclaimer he is not interested in changing careers, just likes to dabble with low level programming from time to time, so he asked me about good books on OOP, and it struck me that I couldn't think of any memorable ones like SICP or Desiging Data Intensive Applications or Code Complete - books which are famous in their domain, so do you guys have any suggestions?
kernel-not-found@reddit
Hi seniors, we all know that open-source contributions are a great way to learn, I think. So, if somebody wants to get started in the open-source contribution thing, then what advice will you give to them? Also, for a new guy, what projects/organizations or project levels should they pick up? coz the big projects are always flooded with a lot of PRs + very old/stale issues. And are open-source contributions really valued?
Abigboi_@reddit
What should I expect in the interview process nowadays? I got 3 YOE in fullstack CRUD apps. Firmly mid level, worked across several applications. I can pick up a stack and language easily enough, and figure most things out. Are we still leetcoding everywhere? What kinds of things get asked in system design questions? I'm still shellshocked from the 2023 job market, so any insight is helpful.
Real_nutty@reddit
I’m an eager mid-level engineer who has been working for a year now. I played my cards to be a startup-paced engineer delivering new projects beyond my scope and visibility of the project goes all the way up to VP-level (VP now knows who I am and CTO knows of my project but not who I am), I expressed that I am doing this with the expectation that I get considered for senior level engineering promotion but now I am getting feedback that they are finding it hard to place me up for promotion because we do not have a proper title for it: “it’s not front-end work which you were hired for nor is it necessarily a complete backend/full-stack engineering”
Is there a proper way to navigate this? They definitely will have to figure it out themselves but if it’s gonna delay my promotion by a cycle or two, I’m being punished financially for their lack of flexibility after bringing in multiple million dollars in savings (we got to cut off a bunch of unnecessary contracts this year)
casualPlayerThink@reddit
Just to understand your situation better. You mean working only one year... or just the current job for one year? If the first one, then the situation might be that they perceive you as a junior (which is fair with only one year).
After \~4-6 years, it would be logical (I might misinterpret what you write, and you only work the given place for one year, but you have way over that, if so, then I'll apologise)
So you were hired as a frontend but are doing backend? If you ain't touching FE anymore, then either Full Stack or Backend would be nice. In such a pivot, usually the simple current role + Senior or having a full-stack engineer (or even the numbered FAANG style or advancement like `Software Engineer L2` or `S.E. II` or so sounds right.
Truth be told, the title itself doesn't matter, except in your resume (And for your own ego/mental health).
Now the financial part is which is the most important. Promotion usually means you will have a new title and more responsibility. But what is rreally matters is thateally matter you will get a better benefit pack or payment. The rest is just smoke and mirrors.
Now that is nice, but from a business standpoint, you got a task, you delivered your result that enabled this volume. It will be very nice on your resume, but otherwise, nobody will credits for it other than a "thank you" during a meeting (except if it is in your contract), and it is debatable who brought in those costs. Who made the code changes? Your PM who assigned the task? Your boss who hired you? (never ending cycle, ain't worth it). The business side rarely or rather never will give you the credit, even if your results translate to the growth of the company. I know this from experience. Multiple times my results led to millions of EUR/USD cost savings or income for the company, I can count on one hand how many times they even said "Thank you" or something minimal recognition (or even just like a 5$ gift card or anything).
You can pursue their recognition, but it is out of your control, so do not worry. You are great, and an awesome career path is ahead of you. Keep going. Fail, learn, succeed, rinse and repeat.
Note on the title itself
Sounds like they are just stating some excuses, nothing more, nothing less. Network in the company.
Real_nutty@reddit
Thank you for your insight! I should have made it clear that I have only been working in corporate for a year, I was doing solo research and start up for 2 years. I got upleveled on my hire most likely due to lots of counter offers I was getting.
I was hired frontend engineer but ended up doing end to end from machine learning training and serving distributing model inference on the cloud and also serving a different model I trained on edge devices.
I wasn’t really given a task to solve. this issue seemed apparent to me but not the team so I brought up the project after having a prototype solution working and got it funded to be placed as the replacement to our other contracts.
It was to fix something that was left stale for many years since it was “working” but not really efficient reduced latency from hours to real-time mainly because I knew how to move a lot of the compute and preprocessing to the edge.
Right now, I am the only one who knows how to build this model and am finally finding some time to train new engineers to get up to date on how to expand this work and maintain it.
I guess I am bummed that they would not change my compensation based on the insane jump in responsibility and use bureaucracy as an excuse to delay this promotion another 6-12 months.
casualPlayerThink@reddit
Unfortunately, sounds like a corporate play. They try to avoid any kind of expense. The previous year, I had a customer who stated first: "We will have a yearly payment discussion at february". Then they realized, they have to pay quite a lot of money due to inflation, so they figured out: "We will provide a payment bump for those who have been working here for 12 months, the rest must wait for the next cycle" (75% of the company had been working here for less than 12 months). Then they stated they would change the payments based on performance and created a performance review system that postponed the money talks by another 6-8 months. :D
"Principal Software Engineer" would sound right (many places use this title for people who have very high knowledge and ownership over a module/product/service... might not fit, and might be that some companies mean a completely different thing by it). Both (model training and helping new engineers are extremely valuable sections in your resume, do not forget them, add them whenever you have the opportunity, even if you ain't searching for a new place)
The "full-stack" would be adequate, or some fictitious title like "machine learning specialist" or "ML engineer" or anything ML/data related. They just have an excuse to dismiss you and avoid paying you.
notsubmissive@reddit
Should I put a lot of effort into system design interviews if I have 3.5 years of experience? I’m not sure what I should really focus on for interview prep at this level of experience.
casualPlayerThink@reddit
Short answer: Yes
Longer answer: Knowing the fundamentals of system design is always beneficial.
BringBackManaPots@reddit
For those of you that are leads or management, what what advice would you give to a SW dev signing on to lead a small new team?
icesurfer10@reddit
Praise publicly, critical feedback privately.
Publicly defend your team or take accountability for problems.
Keep a personal and professional separation, you can't be best mates with those that report to you. Learn from my experience, it can be difficult to get things back on track if it's too far one way.
Delegate, when I first took on the role I was doing way too much myself, if you don't delegate you'll be overloaded, in fact if you do you probably still will be.
Find out what makes your team tick, you need to try to give them opportunities and growth areas that they're interested in, in order for them to grow and be happy.
Don't punish honesty. Somebody openly giving you critical feedback, or owning up to mistakes is a godsend, don't hold it against them. Transparency both ways is absolutely key.
Build a good relationship with your manager and other leads.
Empower your team to make decisions. You want a team that can run autonomously when you're on holiday etc. This can mean giving them ownership areas or letting them be a "feature lead" etc.
Take time for team building. My team and I have an hour every couple of weeks whilst we're in the office just to play board games or something. It's surprising how much of a difference it makes.
If you can affect the outcomes, try not to mix remote/ non-remote and different time zones. The most productive teams I've seen are colocated, and ideally have some office time together, even if not super frequently.
Zulban@reddit
Praise publicly, criticize privately.
SituationNew2420@reddit
Remember that being the leader doesn't mean you are the SME necessarily. Rely on the expertise of your team members. Listen to your stakeholders and business colleagues. Be humble and accept when others might know the way better than you do. These things compound over time, build credibility, and then buy you the opportunity to step up when it's needed most.
SnareHanger@reddit
Delegate. It took me too long to be okay with handing off work. You’re there to make bigger decisions (at least where I am). Let your reports handle most of the work.
zurnout@reddit
Give your teammates credit publicly when they deliver. Doing so makes them feel good and reflects well on you since it’s your team behind that success.
eloel-@reddit
You need to build credibility before anyone will give a shit about what you have to say. You have "power", but it's soft and it's spent as you use it - if you force it, you just make it worse.
hoeassmichael@reddit
Any advice for finding a new job with only 3-4 years experience?
I’m a Java developer in NYC and it feels impossible. Most of my interview processes have ended with “We’re going with a more experienced candidate.” Deep sigh.
casualPlayerThink@reddit
Tailor your resume and get an interview. Selling yourself on an interview is a skill in itself, so practice makes it better. A below 5% response rate (or nowadays seems the 0.3% interview rate is more normal). In the meantime, try to network, go to gatherings (you are living in NYC, so it should be possible to visit brunches and different events).
Might worth to post your resume in the r/EngineeringResumes and ask for a review.
Zulban@reddit
Yep, I wrote this for folks like you: Finding a Job: Build Something Real
Charming_Prompt9465@reddit
I know this sounds like shit but … lie. I lied super hard to get my first job and ended up having to work some pretty crazy hours but if you’re willing to put in the work and not be a detriment to the team then just lie. Now don’t over extend it like you’re a pro but maybe exaggerate your experience with a framework a little or maybe say you’ve worked with a framework when you havnt. I’m 13 years in now and my entire career was built on a lie and I’d say it worked pretty well in the end
kernel-not-found@reddit
Hi seniors, so I have been working on the full stack web stuff for around 2-3 years. Worked like a freelancer and a freelance type of part-time job. Currently, I am in my 1st year of clg and am bored of making frontend and backend stuff. I always wanted to be a systems programmer doing difficult and cool things! So, I thought to give it a try. I started by finding courses and surprisingly there are no systems programming courses with hands on projects, as far as i have seen.
Still for the upgrade i tried to make kafka in golang(like basic functioning of kafka) and after building the configuration and logging module, I am stuck!! There are no tutorials, no blogs or resource for such thing. Infact, there are very very limited resources for systems programming and the hard stuff. AI also doesn't help in these projects and frankly i don't wanna use AI for anything. So, it would be great if I could get some insights on how to build projects and what projects to build(in the systems programming domain) without or very minimum AI help. How to grow in the systems programming area? Also, is this role sustainable in the long run and a pathway for becoming a lead? Thanks!!
eloel-@reddit
I don't have much to say about your exact problem, but
you won't last long much more in the field if you stick to this.
diplofocus_@reddit
Why? Will they be left behind from learning? Like if you wanna argue "but competitors will use AI and hit the market in half the time!", I might be able to concede, but that's a different topic.
If they are learning about a topic, and don't yet have the mileage to catch an LLM being confidently incorrect, I'd argue using it just adds in more potential failure modes.
eloel-@reddit
They wouldn't be left behind for learning, AI is alright but not necessary for learning. But they're suggesting they don't want to use AI for anything, not just not for learning.
kernel-not-found@reddit
yeah, true! don't want to use AI for anything. like, all these companies are putting pressure to use AI and all the other AI stuff going on, rn. If we are going to prompt some AI for everything then what about our brains? on what things we would brainstorm?
i believe AI is great if one needs to get an overview or idea of something but for practical things i think it is not a great choice and just makes one brainrot(i might be wrong, though)
diplofocus_@reddit
What's the loss if they just go about learning what they wanted to learn, and accomplish that without using LLMs, regardless of whether out of principle or lack of interest in using them?
Just to clarify, I am not stating that they're useless and should never be used, I'm just not sure why almost every intent of "no AI" gets met with "that's insane, you gotta use it", and artificial FOMO.
eloel-@reddit
An engineer must use the best tools at their disposal. And AI is a great tool.
"I won't use AI" in today's world is like "I won't use IDE" or "I won't use a version control system". Like, sure, you don't HAVE TO, but you're just shooting yourself in the foot.
kalexmills@reddit
Codecrafters.io is a great site that sets challenging senior-level projects with an emphasis on systems programming. I am not affiliated with it, but I've used it in the past and found it helpful and fun. It's not cheap but it is well worth the cost ime.
Your instinct not to use AI while learning is correct. Feel free to use it to ask questions like it was Google, but write and debug all the code yourself. You will learn much more this way.
Systems programming is a great way to build up your skills. But tech lead is a different skill set involving system design, leadership, some project management, and a lot of communication. For certain projects, you can become a lead without any expertise in systems programming. (Note that system design isn't the same as systems programming, it involves taking high level requirements and designing a scalable system to solve a problem, from scratch, no programming required.)
kernel-not-found@reddit
Thanks! Will will definitely try codecrafters!!
410_clientGone@reddit
today it's easier than ever to "game" interviews. its not hard to make resume ats friendly anymore by adding metrics and also realistically exaggerate achievements, prepare for follow up responses etc. using AI. Yes, it happens workout AI as well, but today all i have to do is feed claude my cowerker's project and create a perfect elevator pitch, architecture, challenges and follow up questions in matter of minutes. Do you think interview landscaped is going to change drastically in coming years?
blacklig@reddit
Eh, this is why probation exists. Gaming an interview will waste a random company a couple role-months but will massively disrupt your own life when you don't pass probation. Seems pointless.
HoratioWobble@reddit
Most techniques that AI can easily game were already easy to game, we've had people sitting other people's interviews and side monitor interviews for a long time.
They were mostly tests of memory rather than ability.
Companies will likely start opting for in person interviews again, or they will turn the interview into an in depth technical discussion instead of a technical gauntlet.
symbiatch@reddit
You’ll still have to be able to discuss those things in an interview. Sure, some companies might just do silly little tests etc, but there usually is an actual interview to talk about stuff.
Of course this might get one into the talking stage more easily, but then one might waste everyone’s time in the end.
I don’t think it’ll change much, it might push some companies that use bad practices in interviews to change, though. If all they do is ask technical babble that can be read from docs or given by an AI real-time then they’ll have a bad time when people can just scam their way through.
Still-Gold-6146@reddit
No matter what you put into your CV it will serve only to get you as far as an interview meeting. After that any company worth its salt will question you and will see if you are lying about your experience or no. Its very easy to see who has memorized/is reading answers and who actually did stuff. The devil is in the details.