Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 122 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.
HavitKey@reddit
Hi, in industry for .NET projects where you have to scan every device connected to a windows PC is it preferred to get the devices from the WMI or the Windows API? And which language is preferred C++ or C#?
Real_Ad1528@reddit
WMI (Windows Management Instrumentation) 1. Easier to use: WMI provides a simpler, more intuitive interface for querying device information. 2. .NET-friendly: WMI is easily accessible from .NET languages like C# using the
System.Management
namespace. 3. Less performance-intensive: WMI queries can be less demanding on system resources compared to Windows API calls.Windows API 1. More comprehensive: The Windows API provides a broader range of device information and control capabilities. 2. Better performance: Windows API calls can be more efficient and faster than WMI queries. 3. More complex: Using the Windows API requires manual memory management and more intricate coding.
As for the preferred language:
C# 1. Easier to use with WMI: C# is a more natural fit for WMI due to its .NET integration. 2. Faster development: C#'s higher-level abstractions and garbage collection make development faster and more convenient.
C++ 1. Better performance: C++'s native compilation and lack of runtime overhead make it a better choice for high-performance applications. 2. More control: C++ provides direct access to hardware resources and Windows API functions.
In general, if you prioritize ease of use and rapid development, C# with WMI might be the better choice. However, if you require direct hardware access, high performance, or fine-grained control, C++ with the Windows API could be more suitable.
HavitKey@reddit
Don't understand why this post is receiving downvotes it has legit helped
Tomatoies@reddit
Just as I've heard it's bad for you to coast too long in junior or mid roles, is it also possible to jump the gun too quickly on startups or consulting work and hurt your career that way?
Abject_Parsley_4525@reddit
Yes and no. If you have 3 years of experience and you slap VP of engineering on the resume, no one is buying that. That said, going to a startup or consultancy can be a great way to gain experience so long as you title your resume appropriately.
Tomatoies@reddit
Okay so going to a consultancy can help find your clients I'm guessing. But what about independent consulting? That is what I think is jumping the gun if you are trying to prospect for your own clients with <3 years experience.
nutrecht@reddit
I'm an independent contractor and being "independent" doesn't mean you're going to stagnate. That's a choice that person made themselves.
Tomatoies@reddit
I went back to watching the video again, and his stagnation doesn't seem tech skills or anything like that.
A lot of his bad experience is on him, but more so lacking in some soft skills- in particular being able to sniff out BS from people- and just willingly accept anything for work is the non-starter to independent consulting. As a result he wasted a lot of time being tied up working with companies that go under, which is much of the cause of his stagnation.
Abject_Parsley_4525@reddit
If you want to be an independent consultant you can do that but you need a steady flow of jobs to make that a viable career path. Similarly, that kind of consulting work is much more about networking than it is about you capacity to demonstrate experience. What you want is to develop relationships with people who can get you work, and then you want to solve their problems in such a way that they think of you when they hit a really hard one. That's hard to do when you are on the lower end of the experience spectrum. You'd be far better off incubating in a startup, regular consultancy, or otherwise than trying to blaze your own path as an independent consultant with very little experience as you just will not be taken seriously. You could certainly do freelance work which I mentally compartmentalise differently in that you just try to find clients that you can churn websites and apps out for, but that's a bit different when compared to what people typically think of when the phrase "independent consultant" is used.
CowboyBoats@reddit
I mean I don't think anyone would begrudge you to be the VP Eng of your one-man show; but yes I don't think anyone would misinterpret that to be equivalent to a VP Eng at a major company.
Logical_Tonight8739@reddit
Any experienced devs interested in AI Agents and building it for what use cases?
casualPlayerThink@reddit
I am not sure I understand your question. Are you working on an AI agent and you are seeking people who are interested in it, or you are looking for devs who are actively working on some agent at the moment?
Logical_Tonight8739@reddit
Hi, I am looking for devs who are actively working on some agent at the moment?
Major_Flight_6981@reddit
Let's say that a junior misread some requirements on a big report and accidentally missed part of the bug so it wasn't fully fixed. It wasn't caught in pr review. How would your organization handle this? Is this RCA worthy?
casualPlayerThink@reddit
Communication is key. Do not hard-blame, but help the situation and the fix. It happens. There are less forgiving companies, who fire over mistakes, and there are companies who understand the situation and hope the dev learns from it.
Honestly, if it was a junior, then nobody expects perfect solutions and 100 or 110% all the time. He/She is a junior, and this will be a good experience, so should learn from it, as well as going through big problems, and disasters and handling disaster recovery is always a great experience.
LogicRaven_@reddit
If it caused an outage, then first fix quickly, second do a blameless postmortem.
If it didn't cause any outage, then just fix and release it.
If you are that junior: own the mistake. Show what you found and how you will fix it.
pooreffects@reddit
Quick Insight and Guide for Frontend Engineer acquiring hands-on Fullstacky skill set
Howdy y'all!
I am a seasoned Frontend Engineer, who's adept at JS/TS and the React/NextJS ecosystem.
As I have recently joined a new software development team as an Associate SWE I , Frontend. Onboarding a fairly new project meant to be built on this techstack: Nx + Modern Angular 19+ => BFF => Go
How would you approach picking up Angular's opinionated ecosystem?
What are the best practices you would utilize in your workflow to to bring value to the project?
Considering it's a new project;
What are the design considerations and decisions I should make to ensure adherence to the existing design system?
How would you approach effective contribution?
casualPlayerThink@reddit
I think you should approach it like any other project. Check the specifications and requirements, check Angular features then pre-plan around requirements to have features, and then make some milestones, stories, epics, and tasks about it.
SouthWave9@reddit
Hi, I'm asking a niche question about memory scanning/decompiling a MMO, to find functions and call them on my own (goal is to control the player character with scripts). Now I tried debugging the .exe file in IDA, reading it in HxD and nothing helpful so far. The application is also being protected from an anti-cheat software, and I can't create a memory dump to analyze...
I think what I'm trying to achieve is doable, just not from a rookie like me, as there are many applications like this in World of Warcraft to Simulate API calls or send packets to emulate player actions.
Any suggestion is welcome!
Real_Ad1528@reddit
Anti-Cheat Bypass: Techniques include using external devices, modifying game files, or exploiting vulnerabilities in the anti-cheat system.
Tools: IDA Pro for disassembly, HxD for binary editing, Cheat Engine for real-time memory manipulation.
Scripting: Use Python or AutoHotkey to automate player actions by reading and writing to specific memory addresses.
API Calls: Simulate API calls or send packets to emulate player actions, requiring a deep understanding of the game's network protocol.
Affectionate_Day8483@reddit
I had a call with my manager about getting promoted. My manager was talking to their boss and is advocating for me. However, she got the feedback with that I have bad soft skills with no specifics, and she was advised be careful with that one by her boss since my performance rating was a 2 out of 5 from my last year.
She said that they typically only promote if you are at 3 or 4. I feel like this is next to impossible on this team. It's too small and lacks visibility.
I've been having a hard time looking for a new role. It's gotten to the point where I'm willing to leave my job for a 5 percent pay bump just, so I can get better career opportunities and maybe get the mentorship I need. Am I wrong for thinking this way?
casualPlayerThink@reddit
The visibility is meant for your closest boss and his/her boss only. Nothing fancy, extravagant or flashy, usually getting things done and shipping results in time helps.
Did you get the details, what could be better? If so, then try to work on them perhaps (if possible and/or reasonable).
Sounds like you are stagnating in your place and consider yourself underpaid. If so, yes, leave the company. There is no loyalty, no bigger picture, no greater value, no personal principles. You spend your time for money, and the company expects you to solve problems for their money. You are a cog in a machine or a number in a spreadsheet. Threat them just like that also, this is part of being professional.
Affectionate_Day8483@reddit
These are the comments:
I asked for examples where this was observed and received no examples or feedback. I even showed that I closed out the 2nd most amount of work items on my team for the proactively picked up work comment. My manager at the time didn't like that at all when I showed the data. Some other comments that contradict their review comment are:
Quotes from peers…
Another comment:
I will say this comment is fair. I complained a lot to my manager about having 2 tech leads and a architect (both are onsite and co-located) on 6 person scrum team. I'm the only remote resource on my team and felt I was slowly being pushed out of the role by the other two.
I suggested guidelines for us 3 to work together to prevent responsibility and communication overlap. One of them was uncomfortable with that, so I dropped it. I should of pushed through with the changes regardless of their opinion.
Am I wrong to think I can't recover from this? My director's comments with my manager has me thinking that it's impossible to change their opinion.
casualPlayerThink@reddit
I think you are just not "the guy" (e.g.: not the boss's little favorite pet).
That is a lack of leadership and real reasons.
Oh my.... this is so a high level of corporate nonsense, but I get it, I was in those shoes. Unfortunately, you have to learn to sell yourself and whatever you working on to find a sweet spot where and when you are informative enough but not going into details as well to go right into the point.
Yes, you are wrong. You can recover from it, this is just one feedback. With time and effort, you can actually recover from it, but you have to improve your communication skills. The good news, it is learnable. The possible bad news: it will require time, effort, and more time.
You have three easy ways to go from here:
1.) Leave the company
2.) Fight, and improve
3.) Fight, but ask for another team (and possibly leaders) if possible
Most of the time it is not possible to pick the 3rd option, and the 2nd one can't hurt you, soft skills are important and part of the game. The first option will be easier if you go for the second option (selling yourself in a tech interview is similar to the feedback that you got).
Affectionate_Day8483@reddit
I agree
THANK YOU! I've been questioning if my manager just sucks or not. The 3 tech leads decision for a 6 person scrum team, these review comments with no data points, and etc.
Thanks for the advice, I appreciate it. I will end up doing both 1 and 2. My tech skills are certainly in the senior range (both manger's words), and I'll continue working on my soft skills. It will challenge since I have Autism and ADHD, but I'm sure I can get there eventually.
casualPlayerThink@reddit
One extra thought on the soft-skill improvement. Maybe worth a shot to ask the company itself if it has any kind of mentorship program or budget to learn. If I have to guess, there is none (since Covid these kinds of benefits unfortunately became quite rare)
Affectionate_Day8483@reddit
There might be, I would need to ask my manager. My company is pro DEI, and since I have a disability I might be able to get special accommodations to help with soft skills and get clearer expectations for my role and the next level up. At the very least my program manager has offered to mentor me and help me get promoted. She has awesome soft skills was the previous tech lead for our team.
zeldaendr@reddit
Current junior engineer at one of the big unicorn companies. A little over 6 months into my current job.
The main struggle I'm having is navigating through the codebase and determining efficiently where to make changes. I think this is my primary weakness. I'm able to figure it out eventually, it just takes longer than I'd like. Any advice beyond doing it a ton? My company has source graph, which I use extensively, but beyond that not really sure if there are any tips beyond practicing.
maybe_madison@reddit
Like a lot of things, it gets easier with practice. But I'd also recommend a good IDE (VSCode is almost always a good start) that's properly configured for the language and code base - having goto (definition|references|type declaration) and better autocomplete is really helpful for learning a new code base and effectively making changes.
zeldaendr@reddit
Thanks!
AutomationG@reddit
Question for those who have turned down a manager’s raise, bonus and rsu suggestions.
We’re hearing that my manager fought for good raises, rsu, and bonus for my team, only to be rejected by the director or above.
To those that were in this position, why did you reject the recommendation? And where does the budget go then?
ShoePillow@reddit
I'm always sceptical of those claims, specially if I hear them from the manager themself.
Also interested to hear if others have some insight into this.
Maybe something like r/engineeringmanagers might have a better answer
gjionergqwebrlkbjg@reddit
You usually get the budget where if you give someone a raise, you have to deny it to someone else. If your org or team underperformed, you'll get even less money, or even less headcount. At my org we just follow the bell curve, if someone is about to be let go they get nothing, if they are underperforming the get less, if they are new they get the average, the rest has to go between everyone. I've never been an SDM at a company where we didn't stack rank high performers because there was only so much money to go around and you had to choose someone.
LogicRaven_@reddit
Often there is a budget of X available for promotions and bonus, set by the CEO. Managers come with at least 5X amount of requests. So there are some discussions on principles of distribution (more small bonus or a few bigger for example), stack ranking and drawing the line where the budget ends.
I haven't seen an example where the budget was not overbooked.
Vagabond328Vanguard@reddit
I'm at a big tech company, I have been asked to interview candidates. I'm not particularly interested or against it, could this benefit my career? Or is it just a hassle?
maybe_madison@reddit
I have found conducting interviews (as interviewer) - especially system design and behavioral/experience interviews - to be invaluable for interviewing (as interviewee). It's super helpful to understand how a company "grades" interviews and what mistakes are common, so you can tailor your responses to the level you want to be hired at (and avoid making those common mistakes).
Abject_Parsley_4525@reddit
You should definitely try it in my opinion. It'll help you learn a valuable skill should you ever need it, it gives great perspective and you never know, you might enjoy it.
LogicRaven_@reddit
Having experience with interviewing and hiring would look good on your CV.
You would also experience the interview process from the other side, that might give you new perspectives during your next job search.
eliashisreddit@reddit
It's vetting the people who you might end up working with so if you're interested in having good colleagues, it should be a net positive.
Also see https://old.reddit.com/r/ExperiencedDevs/search?q=interviewing&restrict_sr=on&sort=relevance&t=all
TableNotes@reddit
I have about 2YOE, and I'm struggling to handle the way our team wants me to operate. My level description is to 'build core engineering skills', but there's so much dealing with communications, deciding how to allocate resources for my project that I feel I can't focus on learning how to engineer.
Am I crazy for wanting to move to somewhere that lets me focus more on engineering skill? Or should I value that I'm getting exposed to valuable skills outside if pure coding?
ShoePillow@reddit
Depends on what you want. Both are valid ways to look at it.
If you want to focus on more heads down work with less administrative work, look into research and development specific roles.
casualPlayerThink@reddit
Your job will be less and less pure coding, and more and more thinking, searching, finding, reading, and analyzing things. I know many seniors, who sit on problems for days if not weeks, then code for a few hours to fix them, after finding the solution.
Skills and knowledge outside of coding are valuable, they will help your career as well as understand the business.
LogicRaven_@reddit
Often the more experienced you get, the more you are involved with stuff beyond coding.
How much is "so much"?
hiddenhare@reddit
Is there a job title which would free me from delivering medium-to-long-term projects, while still making good use of my skills?
I'm working for a ten-person startup as an engineer. Probably a bit overqualified on the technical side; broad and deep knowledge, great communication skills, a good track record of delivering projects. (I'm an experienced developer, but I'm posting my question in this thread because I'm culturally inexperienced; it's complicated, sorry.)
The catch: I'm hamstrung by ADHD. I thrive on novelty and can't provide consistency; two or three weeks into a project, I get bored of it (not drowning in technical debt or anything, genuinely just bored), and so my productivity craters and I start to hate my work. The meds keep me working, but they don't fix the boredom. I can grit my teeth and push through it, but I'd prefer to find an alternative working style that suits me better.
My bosses give me quite a lot of autonomy, and recently I've been abusing that trust by picking up too much non-project work:
I love it, and my bosses keep giving me positive feedback for it. It doesn't move the roadmap forwards, but I'm convinced it's still a great use of my time.
I'm considering pitching the idea to my bosses that I could just do this all day, but... is that a job which actually exists, or would I be asking to piss about all day so that I can leave the tedious work to everybody else? I've heard terms like "Quality and Reliability Engineer", but I get the impression that's a euphemism for being either a pure test engineer or a pure SRE. What do we call a generalist who just wants to take a flamethrower to the backlog?
ShoePillow@reddit
You don't need a specific job title... All you need is an understanding with your manager or others about your interests and ambitions, and their requirements.
casualPlayerThink@reddit
"Site Reliability Engineer" or "Fullstack Software Engineer" is the term, I think you looking for.
Don't get me wrong, but doesn't matter, what you think. Only the company perspective matters. You and your work is a number (or a few numbers) in a spreadsheet. You and your work seems fine, since the company is okay with it.
Maybe you do not see it, but most likely it fulfills its goals. Many times just getting things done or doing R&D to validate ideas is equally important as checking some tasks in a roadmap. Also, many roadmap is created after an idea got validated.
Do you have an official diagnosis of it from a doctor/hospital?
If the answer is yes, then take your medicines that will fix your focus and mood swings. (So strange, there are so many ADHD-stung people in tech and many just do not care to fix it, so I try to advise them to do so... so do not get me wrong, it is not a personal attack or a try to offend you or your situation, I think mental health is important and undervalued, so I try to be vocal for it).
Also, getting bored after a few weeks of droidic work is normal, you can create things, figure out and solve problems, and doing repetitive, boring stuff is not fancy by any means. After a while, it might be worth delegating these monotone tasks if you are bored or you know, you will be bored soon.
hiddenhare@reddit
Very useful advice, overall - thanks a lot!
This model of ADHD is badly oversimplified. I'm professionally diagnosed and I take meds for it, but they're not a magic cure; they increase my get-up-and-go, but they don't push me to make good choices rather than bad ones. Coaching and self-reflection are important parts of the treatment mix, probably more important than the meds.
Agreed, but getting bored by interesting work is abnormal, and that's where I'm at. Most work feels incredibly engaging for me, whether it's mundane or creative or easy or frustrating or conventional or rebellious, as long as it's novel. The moment the novelty wears off, work which should be fulfilling suddenly feels like filling out a tax return for eight hours.
I'd be happy to answer questions about ADHD, if there's any other information which might help your mental health advocacy. I'm glad that you're fighting in our corner :-)
babiricarica@reddit
If say, you have a feature and the culture in the company is to have the feature tested by other devs (no test env yet unfortunately, still a super small startup). Then you as the other dev found a bug, do you create a some kind of subticket for this bug? Or you just commented in the ticket?
We have scrum board but some feature are super large, sometimes we found more than 20 things breaking after few days going back and forth between testing and fixing and the dev that is working for the feature said that its hard to read which one is already fixed or not.
I mean i know,maybe the dev should have just tested all of them bugs again, but maybe there is also a better way of doing this instead of commenting in tickets only
ShoePillow@reddit
In my experience, creating a new ticket for each bug works smoothly.
The original ticket is closed when the owner dev submits the feature. After that, work can start on the bug tickets.
They can all be grouped together in an epic or by using a label.
Gives a good idea of progress by showing closed vs open tickets.
Also allows other devs to join in by just picking up a ticket.
I have only used sub tickets for tasks like adding documentation, adding testcase, etc., not for any code change.
nutrecht@reddit
It doesn't matter. Whatever you agree on together.
Breaking big things down into smaller things we can incrementally build is a large part of our job. So it sounds like the "features" you're building are simply too large to be built in one chunk. Try to aim for smaller 'chunks' that can be built in a few days.
babiricarica@reddit
Thanks, then ill try to start a discussion later on
Also one more question, If we break the big features into the small chunks, (i assume that means creating subtickets), do we need to do the small chunks inside these subtickets or direcly in the main ticket? I assume that also drpends on what we agreed? Or doing the ticket in those subtickets would be better?
Thanks again for the response :)
johnpeters42@reddit
Someone needs to make a judgment call on when a chunk is getting too unwieldy. Even if it seemed straightforward at first, sometimes you run into "we found this side issue during testing, but we can afford to just document it here and open a new case to fix it later".
nutrecht@reddit
Again, how you decide on this process is totally up to your team. Whatever works; it doesn't matter. We have Epics > Stories > Tasks > Subtasks in our team. But if something else works for your team; great.
There is no "better", a big part of agile is figuring out as a team what works for you.
babiricarica@reddit
Okay thank you so much!
nightzowl@reddit
I am working on a design document and I have too many business related questions.
My original plan was to send the questions to our product owner and they can answer them async - I sent the questions to secondary developer on design story and backend team lead first to make sure we were all on the same page.
The team lead and secondary developer asked me for a meeting first before taking to product owner and we spent 30minutes answering 2 out of my 12 questions. I could see both of them starting to check out / becoming overwhelmed because of the amount of thinking involved (we also started going in circles a bit).
I am the most junior (3 years of experience) in this discussion. My team lead stated to schedule a call after standup next week with full team to go over rest of the questions plus the ones we discussed in that meeting. Since each question is complex I don’t want to put my whole team in a position I overwhelmed them with questions.
How do I figure out how to best get all of my questions answered without overwhelming anyone?
ShoePillow@reddit
I've seen multiple options:
series of short-ish meetings. This lets you do some homework on the discussion from 1 meeting before meeting again. This needs to be done frequently, ideally daily so you can wrap it up in a week or so.
separate meetings with the various stakeholders, synthesise all into a document, and then 1 or more meetings to summarise and discuss in a group setting
I don't think you will have luck with just sending out a document or mail and waiting for replies to pour in. It's hard enough getting people to fill out forms that take 2 mins, let alone answer all your questions.
Grand-Spend4352@reddit
Does anyone else struggle to communicate with QA? In almost 8 years of dev across 3 large companies, I've never worked with a QA person who actually has any experience with coding or development. It seems they usually neglect to provide all the details I need to begin, or fix the bug. I almost always have to go back and ask "obvious" (to me) clarifying questions.
Is it just me, or is this a problem other devs face?
johnpeters42@reddit
I've dealt with good and bad QA people. A good one doesn't necessarily need experience doing coding or development, but they should at least be able to clearly explain what they did and what symptoms they saw (or expected to see but didn't). Bonus points for thinking of edge cases (what if the user forgets X, or tries to do Y and Z out of order).
RGBrewskies@reddit
If QA people knew how to code, they would be developers, and get paid better.
Grand-Spend4352@reddit
Why does no one talk about AI taking QA's jobs? Seems like it would be a more appropriate use case than a dev.
RGBrewskies@reddit
a human can barely do it properly, AI is a long way away
lambdaline@reddit
Hello, I'm in need of some advice.
I'm a little over two years into my first official coding job (my only real previous experience was helping develop an MVP for a teeny tiny non-profit; the work got briefly funded and then the funding organisation died). I'm older coming into the field so people forget that I'm pretty new at this and keep giving me responsibility that I probably shouldn't have.
This hasn't been much of a problem until recently. One of our product's original coders and main architects got fired (he was a contractor who'd done a good job of making himself very indispensable and the company felt like they needed to get rid of him, I guess). His main project at the time was to load test all of the components of our application to ensure that it could handle the expected load for our upcoming release (the app is tied to an existing product, so we have an in-built userbase). I was supposed to help so I could learn, but since he got fired, I was asked to take on the project.
I've so far managed to muddle through and test some of the components of the application that we thought were most likely to break (they did), and now we're working on making some improvements to improve scalability.
The problem is business now wants to speed up our release schedule and keep asking me what testing we can cut. And I have no idea how to answer. I keep telling them that the more we cut, the higher the risk, but I'm unsure how to quantify that risk without running the tests. I can rank the components in terms of which ones are more likely to scale, but I feel very uncomfortable drawing a line between what is necessary and what isn't. I feel like this shouldn't be my call to make, given my limited experience, but I don't know how to approach that conversation.
I would really appreciate some guidance.
johnpeters42@reddit
Couple things off the top of my head: * Are there any parts of the load testing that can be automated with reasonable time/effort/cost? (If all you have to do is push a button at 5 pm Monday and check the output at 9 am Tuesday, then it probably doesn't matter whether the work in between took 2 hours or 4 hours.) * Are there any parts of the load testing where failure is considered relatively acceptable? (Get this documentation in writing!) * How well do you understand which components affect the scalability of which operations? (If flooping the bloop doesn't use the gonkulator at all, and the gonkulator is the only thing you changed this release...) * How well do you understand how those components affect scalability? (Making bottlenecks less likely in the first place.)
nightzowl@reddit
If I am tasked with design work and I have a this is the best part ugly without Cooper and I forgot to say extra hot I threw in so I threw some new stuff together. It taste like a praline like a nut praline. I’ll show you turn on your hotspot. It’s not but it’s like more like a pecan give me a hotspot and I’m sad hotspot.
keorev7@reddit
Since software engineering and coding aren't the same do you think AI will make coding less important in the future?
0x53r3n17y@reddit
No. Absolutely not.
Under the hood, AI is all about calculating probabilities and pattern matching and recognition. It can give you an answer to a question it has seen countless of times before, but it can't reason and come up with an original, new answer to complex context specific questions based on what it knows. That ability is unique to humans.
AI is great as an assistive technology. It's awesome for generating boilerplate code. Getting the broad strokes. But assessing whether or not the code it produces is actually valuable and usable enough, that's firmly privy to humans.
Worse case would be over reliance on AI to a point where the code base ends up containing so much slop that you need a human to straighten things out.
If anything, critical thinking, understanding the problem domain and knowing the fundamentals will become that much more important if you want to make good use of AI, understanding what it can and can't do for you.
olddev-jobhunt@reddit
I'm an experienced engineer, but not in this area:
What's the deal with the LinkedIn recruiters that are trying to fill subcontractor roles under big companies? I just got one that wants to subcontract me under Apple, and another under NewRelic. I mean, I can do that job and I'd totally crush it but.... they're always so poorly paid compared to full-time work.
Are these actually a path to get hired at the kind of rates you see on Levels.fyi? Am I wrong for dismissing them out of hand?
blisse@reddit
dismissing them off hand is silly, there's a lot of contract to hire work, but there's also a lot of contract-only work where the company only has the budget to hire a contractor and that's the best that the hiring manager was able to fit into the team budget. you'll have to talk to the recruiter and companies to know what the situation is like.
nutrecht@reddit
They're trying to make money.
MS_Pwr_Dev@reddit
Is it frowned upon to list a generic job title on your resume instead of your actual job title?
My official title is “Power Platform Developer” and I feel like that is driving some companies away (I’m trying to get a Software Engineer/Developer role). Sure, I spend a lot if time on low-code, but I also do legitimate full stack SPA development and am thinking of putting “Software Developer” on my resume.
I’m also a bit nervous about changing my LinkedIn to match since I’m connected to people at my current company, so they might notice something is up.
casualPlayerThink@reddit
You can use the real title that was in your contract, but expect that, you have to explain what it meant. The readers (HR, recruiter, ATS) rarely know or understand position titles. If it bothers you, you can generalize the title, like "Software Engineer". But incorporate what you did in the resume bullet points.
Might be, might not. Usually when you update your LinkedIn profile, then it asks for permission to publish the changes.
eliashisreddit@reddit
Not frowned upon at all. Your cv is to present what you did. You can have a different cv catered for each job application. Regarding LI: unless you are sharing profile updates with your entire network, nobody will notice unless they are explicitly paying attention. And even then, who cares?
Think_Vehicle913@reddit
Has anyone tips how i can find out whether i hate the company/codebase i work for or the job/work-related-programming itself?
I like to code, i like my personal projects and i can learn a lot from OSS.
However, i can't do that in my company. The codebase is a mess, many of the coworkers are not good in their job (but are awesome on a social level) and i have no ways to get a raise due to company policy. I have a pretty chill (work) life though.
I tried to just don't care about the work and enjoy the company with people, but i am just procrastinating and dreading my work.
Also just started to apply for new companies, but i am afraid that this is something i need to deal with on a personal level and/or will get worse in other ways.
0x53r3n17y@reddit
That's a perennial problem. The projects you work on the clock and off the clock are very different beasts.
A codebase is a reflection of communication structures and dynamics between people. There are good reasons why it's a mess, or why your employer uses such an old codebase. It's the net result of countless people adding their bit, their pet peeves, their abilities, their conflicts, etc. As you learn to understand how to uncover the dynamics on the workfloor, the history of a project, establish good reports,... you put yourself in a position to look for opportunities to make improvements. Working on a legacy codebase is a long-term game, which goes beyond writing code: you need to be a bit of a sleuth and a bit of a PITA sometimes to get there.
Even working on a greenfield project, you will have to compromise with respect to the abilities and ideas of your co-workers. There is a difference between objectively being in the right; and being recognized as being in the right by others. A greenfield project might be exciting, but 6-12 months in, with a substantial amount of code written, you might still not be all that happy.
At the end of the day, it's still a job. While you do carry a responsibility for the work you deliver, you aren't the owner of the business, or even the code. You aren't writing poetry or a novel. You need to be cognizant of the context in which you work, and accept that you can only do so much before handing it off to others. That doesn't mean you shouldn't push to do better, of course, but it means that you might not get your cookie entirely.
Either-Researcher681@reddit
should i tell bitches i am a senior software engineer or will it mark me a pretentious? i want to impress them but i dont know if it will have the opposite effect.
casualPlayerThink@reddit
Most people have no real understanding of what a software engineer doing, so the only place where you should mention it is at your Granny if she forgets it.
I will be harsh:
Honestly, I think it is a little bit childish or young people's problem to try to impress someone. You should not. Grow up and select a better audience. Also, stop refer them as "b...", and do not degrade them, because how you could expect others to degrade/refer you in any other ways? You aren't better or worth more than that word either.
freekayZekey@reddit
i try not to talk about my job cause the “bitches” will know i make a decent amount of money
Nimweegs@reddit
I just call myself a software developer. I don't have senior anywhere.
curious-dev199@reddit
Depends actually. What I have seen is the title matters much more when there is interaction happening outside company eg talking to a vendor or talking to clients etc. you definitely need to make your title known as it carries weight there.
When it comes to internal interaction, boasting title actually can be counter intuitive and even come as bit hostile - so maybe you don't need it always here.
GoodayZ@reddit
I'm a software developer with around 2-3 years of experience in smaller companies. I really want to break into big tech, but I'm unsure how at the moment. I feel like the longer I wait, the harder it will be and the more my skills will stagnate. Looking for a mentor or just some general advice.
casualPlayerThink@reddit
Define "big tech" first. I assume you either mean FAANG or that caliber of startups or crazy big holdings/economic giants/extreme contractors (like hedge funds, defense contractor holding, etc).
You won't get any mentorship, and better if you won't pay for it (there are courses, but mostly fake, just to rip off people's dreams and savings). One part is to have solid knowledge (lexical and practical), a good resume (tailor it), good interview skills (yep, that is an actual skill, just like public speaking), and then some skills in l33t coding/algorithms/solving challenges to time (or use the actual interview GPT for help).
There are tons of articles and books about how different, tedious, crazy, hectic, or weird could be an interview process at a given large company.
nutrecht@reddit
You're not going to get a mentor. You're in charge of your life, no one else. So if you want to change something, only you can make that change.
LogicRaven_@reddit
You can grow your skills in most companies, does not need to join big tech for that. Look for opportunities to increase your scope in your current company and for projects and people you could learn from.
Big tech interview process has a lot of articles, books and sources. Start learning DSA and system design.
No-Philosopher3875@reddit
I’m a senior developer, but I’ve recently started asking questions in my team that might come across as basic. During brainstorming sessions, I’ve noticed that my team members often arrive at logical conclusions and solutions much faster than I do, sometimes pointing out errors in my reasoning or synthesis. Despite preparing in advance, I feel slower in my thinking and less effective in contributing compared to them.
In my last performance review, my boss highlighted the need to improve my communication and leadership skills. To address this, I’ve been trying to speak up more, even when I’m not fully confident in my responses. However, I worry that my contributions might not always add value and that my questions might seem too obvious.
What are some tips for being a better team player and improving communication, especially when I don’t feel like the smartest or most knowledgeable person in the room?
casualPlayerThink@reddit
You don't have to be the smartest in the room. If you are, then you are in the wrong room. A leader's task is to glue together processes and the right people so don't worry about it.
Also, finding errors or concluding someone else's already prepared and showcased knowledge is easier than reaching that point themselves.
Is their development/coding skills better as well? Are you sure about that? I worked in a company, where I struggled with a legacy code because it was over-engineered, and I had to read through thousands of lines of code just to understand what was happening there and why. The code was so broken that Intellisense just crashed on it always, no matter which editor I used. I had spent 2-3 days on tasks, that others fixed under a half day. Then I learned the truth: my colleagues always pair-coding in the office (I was the only remote), and they always got help from the CTO who wrote that utter NaaC (Nonsense-as-a-Code), so of course, I doubted myself, then I realized, there is nothing wrong with me, just working on the wrong place.
nutrecht@reddit
You're asking very broad questions that are pretty much impossible to answer. But taking a leadership role isn't really about "speaking up"; a lead isn't the person who talks the most. If you're working with smart people who's brains arrive at solutions faster; great. That's also not something you're going to change. But you can be the "lead" who puts it all together, facilitates communication, writes shit down, makes sure others who need to be involved are involved, etc. Stakeholder management is a large part of being a "lead".
Your job isn't to be the smartest monkey in the room.
aseriesofbadchoices@reddit
For devs who have daily standup, what do you say for days where you had a hard time focusing and got very little done?
nutrecht@reddit
"I had a hard time focusing and got very little done"
If it's something that happens a lot, it is something you should look into. But everyone has bad days now and then.
Sock-Familiar@reddit
I’ve learned to say less during my daily stand ups and let someone ask questions if they want to know more. So for days where maybe I got less work done I just say ‘I worked on so and so. Made some good progress. Going to continue with that effort today.’ Then for days where I was actually productive I say the same thing. Its all about settling expectations.
freekayZekey@reddit
i just say it. though, it’s rare. most people are understanding; don’t abuse it
newredditaccountqw@reddit
My 2 cents - it's ok to not able to get work done because of any issue. The catch is you do not let that spill into multiple days. Call for help asap, call out delay so that expectation is set with whoever might be a stakeholder.
Gabelschlecker@reddit
How do you deal with unresonable requests from your chef?
In my case, the company wants to sell a customer a new AI-based solution, using a open-source model. However, as it turns out, the model in question is not good enough to perform the task at hand. A somewhat complicated pre-processing pipeline might improve the results, but at this point there's no guarantee it will. Fine-tuning might also help, but that's expensive as there is a lack of data. Other (free) models don't really exist in the space.
The company does not want to spend tons of time/money upfront to validate whether the solution is possible (so far at most 2 weeks over the course of 3 months was spent on it). In their mind, with ChatGPT and stuff, AI should be good enough that off-the-shelve stuff should just work. At the absolute minimum I would expect a first try of the pre-processing pipeline to take at least two weeks. It would require using additional ML models and some more complex algorithms, which simply takes time even without considering performance.
To implement the whole thing properly to be used in a software though... now assuming that the pre-processing does the trick I could still easily see it take half a year. However, I am a junior and the company has no one with real ML experience or even a data science background. Hence, predicting any sort of timeline is difficult for me.
Long story short, the company gave me one day this week to experiment and report back with results. I don't think I need to say that one day is not good enough to do anything at all. What's the course of action here? I have no intention to work off the clock on it.
nutrecht@reddit
Give your manager all the information that you have, in the most transparent way. If they still feel that this is the route they want to take, that's their decision, not yours. Your job is to simply assess to the best of your abilities what is and isn't possible.
Present your manager with options; like option A being just building it with a risk of 80% of failing, and option B doing a spike that gives you a better idea of what is and isn't possible. That's what managers need from you; information and options.
LogicRaven_@reddit
https://developers.google.com/machine-learning/managing-ml-projects
This might be useful material for your stakeholders, describes the uncertainty of ML projects as well.
"For example, it's not uncommon for team members to spend weeks investigating solutions that are ultimately unsuccessful."
Or here, describing the difficulties of ML planning: https://developers.google.com/machine-learning/managing-ml-projects/planning
But beliefs are difficult to change. Do your best during that one day. Put your findings in writing and highlight the uncertainties.
If they decide to start the project for good, keep documenting, sharing progress and status, and asking for continue/stop decision(s). If the project would fail, it shouldn't come as a surprise and there should be other people involved in the non-technical decisions - so the blame shouldn't be only on you.
Miserable_Soil_3692@reddit
How can I ask devs I find and connect with on LinkedIn if they can give me a referral? I feel like it’s impossible to get a job without one and I don’t have any friends or connections… I have a strong resume and good experience, but not as strong as 10+ yoe ex-google ex-meta ex-apple major contributor to OSS. I just graduated 2 years ago and it just feels impossible to get a job, even low qualification low paying ones.
When I do have conversations with devs, I often have deeper knowledge about tools and other technical areas like k8s, helm, LTO and low level C stuff, game engines etc. am I just being an asshole know it all or do I sound like I’m full of shit? It’s really depressing because I’m seriously trying hard to be the best programmer I can be. I got a good job at a decent company and lost it because I didn’t play well with office politics and my lead was new from Microsoft and seemed to do a lot of cuttthroat things I wasn’t privy to because I’m young.
maybe_madison@reddit
I can't imagine many people would give a referral based on a cold connection. A referral is saying "I can personally vouch for this person" - either because I've worked with them before or we have a personal, non-work relationship.
If you want referrals, you'll need to meet people IRL and get to know them well enough that they'll personally recommend you - eg through conferences, meetups, open source contributions, volunteering, etc. As a fellow socially-awkward introvert, I understand that this can be difficult (and terrifying), but unfortunately it is a requirement sometimes.
fr0st@reddit
If you're relatively new to the industry and have connections to old professors they may be able to assist in finding you s job and or giving you a referral.
As far as being an asshole it's hard to say without actually talking to you. If you think you're coming across as condescending then you probably are. Learn humility and it'll help. You may be smarter than many people you meet but they don't have to be told that.
Miserable_Soil_3692@reddit
I think I might legitimately be autistic and come off as an asshole. I never went to class because I preferred to work and I got straight A’s in college except for classes that graded on attendance. Idk, Covid really screwed me over from being social imo. Didn’t make any friends in college even though I tried, just was hard and even harder now.
I’m doing my best to understand team dynamics but it feels like there are times when I get shafted, I think I can be a doormat at times. When I first joined, a lot of my coworkers blamed problems on me because I was “the container guy” and I had to spend the 1-2 hours troubleshooting the problem just to prove that it wasn’t me, and figure out what really caused the problem with hard facts and evidence. It feels unwarranted, just because someone is new shouldn’t be a you can just blame everything on them. I get the notion that it isn’t a good impression if I bring this up to my manager, because then I seem like a complaining bitch of an employee and they would rather not deal with anyone who “causes problems”. I had a situation where I finished 15 tickets in 2 weeks, and my lead and other people on my team only finish 3 or so, if even. We don’t have a point system but my lead basically told my higher ups that “not all tasks have the same amount of work”. I agree with that, but the situation seems to discredit my work ethic and abilities. I feel like quite a few of them were difficult to solve, and I literally worked 12 hours a day for those two weeks, I was the only one on this so called “high priority project” and I normally work weekends so I can learn more about the internal code base and stuff so I can be more competent and not be a drag on the team… I don’t know how I should be standing up for myself because it feels like everyone’s been slowly trying to discredit me or point me in a bad light because they’re jealous at how much work I’m outputting…
Miserable_Soil_3692@reddit
Also getting siloed off on random projects that I’m realizing now don’t really mean anything. My lead veers me off of projects that are actually are high priority for various reasons: so other people can have time to shine, because he’s worried I’m stretching myself too thin, etc. I’ve communicated that I often don’t feel like I have enough to work on. Our backlog is a mess and I pick out what I can, but we have had meetings to clean out our backlog and we determine a lot of the old tickets are irrelevant and they tell me it’s a waste of time trying to do them. Instead, I end up just trying to find things to improve, or revisit my previous work and try to improve it or fix/update documentation.
fr0st@reddit
Yea this all sounds to me like there were communication issues within your team and that's not entirely your fault. Ideally your lead/manager/supervisor will tell you what's you're expected to do. You can meet, exceed, or fall behind those expectations and during your weekly/bi-weekly 1 on 1 meetings that should all be communicated to you.
Any politics are mostly irrelevant if you're doing what is being expected of you. However, if there is a lot of unresolved conflict that's constantly occurring in your team and with stakeholders then that can cause problems down the line.
You need to be able to trust your co-workers and have them trust you. If you prove that you can successfully finish 15 tickets per sprint or whatever period of time versus whatever expectation was set then it shouldn't cause any issues.
Standing up for yourself is important and you should make your opinion heard, but ultimately it's up to your managers and their managers to decide how things should be done. You may not always agree, but unfortunately it's often best to just comply. Sometimes you need to swallow your pride.
nutrecht@reddit
I will never give a referral to someone I don't know. A referral implies that I'm vouching for someone.
Miserable_Soil_3692@reddit
How could I get to know you/someone on LinkedIn to the point that you would consider referring me? It feels bad that I can’t just meet people irl. I’m open to phone conversations or speaking more somehow and get to know them, just figured it would be more efficient just to be straight up and not waste their time…
nutrecht@reddit
I will only recommend people I've worked with before. I'm not going to tie my reputation to a person where I don't know how good they are.
YoloWingPixie@reddit
If the devs on LinkedIn are in fact just devs you're connected with on LinkedIn (people you've never worked with or are not friends with IRL), please don't expect a referral from any of them. I would absolutely not give a referral to someone unless I socially knew them and had a good idea of their work ethic and actual practical capabilities. It's my reputation when I refer someone and they don't work out.
Also maybe you do know more about k8s or low level C stuff than the average dev. But that doesn't inform them if you have the critical soft skills that matter: Being able to creatively problem solve in environments with ambiguous or competing requirements, being able to know when to take short cuts, vs when you'll just end up creating tech debt that needs to be paid later, when to follow your ideals and when to be practical, and how you justify all of that to the rest of your team, etc etc.
And frankly, you'd be well to say "but people don't often expect that out of juniors", and you'd sort of be right, but if you're not clearly well above the bar, then practical strangers aren't going to refer you. You already got your first job though, and that's the hardest part. But seniors are taking, sometimes, months to find new jobs still and it's not going to be easier for juniors.
With all the resources available in the world now to get information, it's not the best brand to sell yourself on knowing everything about k8s and C or in fact any technology (Your mileage will vary, especially with FAANG of highly niche industries). Hiring managers are looking for team members that can pass the bad of requirements to be minimally effective on day 1, and they know their team is going to look up and research what they don't know when they need it. Taking someone that's a domain expert that might not integrate with the team is a worse outcome than taking an all round professional that will integrate well on the team, and could become that domain expert with time.
Buttleston@reddit
Are you reaching out to people cold on linkedin and trying to have conversations with them? It may be that you're not getting the engagement you want out of that because most people... just don't want to do that?
Is this why random people are asking to connect with me on linkedin that I have 0 people in common with? I always decline these, I have no idea why they'd want to connect. I barely want to connect with coworkers even though theoretically that is what LI is for
redBulbasuar@reddit
I have a meeting scheduled this week with a few senior devs (or VPs/Directors since i work for a bank). They want to begin the 3rd phase of an application that I developed about a year ago but the application needs a serious refactor to address performance degradation and other QOL improvements. For example, the app uses an internal library that was last updated 1.5-2 years ago and the features in this internal lib are lacking which leaves our devs with their hands tied since there's a high cost to developing here.
I have about 15 minutes during this call - I plan to present the current process architecture, and existing core problems that weren't addressed in the previous phases as they wanted to go live ASAP. Obviously I also plan to present solutions. Any suggestions for how to go about making this presentation? I'll discuss the business impact for NOT doing this (which I think is mainly Dev time and scalability) but I honestly can't really think of anything else. It's really frustrating because we hired contractors for this second phase and they didn't really address the refactor and just added more debt.
Abject_Parsley_4525@reddit
Careful. Sounds like whoever is driving it wants it to succeed. If I were you I would just pat myself on the back where I can but give some insight on where time could be best spent to refactor it. Don't show up with 10 - 20 slides of doom and gloom, pick 2 or 3 things that fixing would help deliver the product better.
Your presentation should just highlight the top level technologies, the top level architecture, core flows through the system, testing, quality, performance and most importantly focus on how it can (if it can) grow into the next phase. I cannot stress this enough it is very important that you don't get up there and be a negative nancy. Add 1 - 3 slides on core challenges with the next steps and provide solutions around how to fix those issues. For example, if you had a magic wand that you could wave to get away from the internal lib, what would you port to? Okay... now think about that library in terms of something that you can steer the ship towards, e.g. "In the first 1 - 3 months we can achieve significant improvements to the deliverability of the application if we gradually move from lib_x to lib_y". At the end of the day, all you can do is your best but just remember the business is simply not going to let you spend 10 years refactoring something that isn't worth all that to them, or that they want on a faster timeline. Think trade-offs and your life will be much better.
redBulbasuar@reddit
Unfortunately the current Phase 2 is already behind schedule due to said core issues. Phase 3 will face the same difficulties. It's just dumb to see the bank only care about getting the work done without asking how its being done.
Half the slides will be dedicated to the core issues. Another half will be dedicated to solutions. The other comment stressed to do things incrementally so hopefully I can get SOME refactoring efforts allocated. I really appreciate the advice :)
newredditaccountqw@reddit
My 2 cents - business does not care about refactor or tech debt I'm general. Unless there are technical people involved, they will feel this as nice to have rather than a must have.
What has worked for me in the past is 1. Don't do refactor as a standalone change but rather combine it in other changeset 2. If it's a must have and can't be done with other changeset, then do it incrementally - break it into smaller milestones and get a buy for each milestone 3. Make sure your systems have proper monitoring in place and has some level of feature toggling support that way you can rollback 4. Talk in terms of numbers - how it impacts the business, the stakeholders, the end users. Convey it as a must have rather than a nice to have. Hope this helps!
MasamuShipu@reddit
Would you consider it to be a red flag if a startup main communication tool is Discord instead of more traditional ones like Teams or Slack ?
curious-dev199@reddit
Too old to work with discord, would love to know why discord in the first place? Is it about cost? Another scenario this can become tricky is - lot of times users(especially if you are in b2b space) they will have communication via some kind of chat, slack/teams definitely helps there instead of discord.
casualPlayerThink@reddit
No, not really. It is just a communication tool (and honestly, less invasive and less chaotic than slack or teams).
DisruptiveHarbinger@reddit
Yes. But in isolation, it's not the worst red flag from a startup.
If they use MS 365 or Google Workspace I'd certainly ask why not use the bundled Teams or respectively. If they don't, that's another red flag.
DeltaJesus@reddit
Personally I'd be asking why they did use Teams even if they did have it bundled, it's so, so much worse than the other options.
__deeetz__@reddit
Amen. It's the scourge of the earth. Just good enough so better options are sidelined because "it's bundled for free".
YoloWingPixie@reddit
Not really, I'd probably create another account for it though to separate my life.
Buttleston@reddit
We considered it at an early stage startup I was at and decided not to. The reason FOR it is we're all already on discord but that's also the reason against it - there are good reasons to separate your work and home life, even if your work life is pretty relaxed/casual
I wouldn't consider it a red flag per se - discord is just as good at slack at most of the stuff I use slack for (voice/video chat and text chat). Just not the best choice
ttkciar@reddit
I wouldn't, no.
kareesi@reddit
Scenario: You’re working on a project with one other engineer. You’ve completed 95%+ of the work for the project already. The other engineer on the project is very slow: they’ve been working on the last piece of work to complete the project for over a month.
The PR they put up is overengineered, large (2000+ lines), and very difficult to read, but they say it works. This PR has already been through two rounds of revisions for poor design because they did not go through design review before implementation.
The project is due at the end of the month.
My question is: do you ask them to rework it to simplify it for the third time and potentially risk the project timeline? Or do you let them merge it and have them come back to it later, running the risk that they may never come back to it? Assuming you already have follow up work in the pipeline to extend this functionality as a follow up, and someone else will need to touch this code again soon.
What kinds of trade offs do you evaluate to make this kind of decision?
0x53r3n17y@reddit
white_window_1492@reddit
I have a similar coworker - it's 1 commit too isn't it lol.
can you ask them to divide the PR into multiple commits OR I to multiple PRa to review the code easier? OR meet in person/zoom and have them walk through everything with you so you understand what's going on.
joranstark018@reddit
It is a team effort, a single dev is not to blame (it is not uncommon that communication breaks down when you have stressfull deadlines, when it is in such situation communication becomes more important). It is a team effort to get pices ready before deadline, focus on the most important and urgent tasks (postpone other task to later, only the team as group can identify important and urgent tasks), it may be that you have to help each other out to complete some more important tasks than yours (in this case you may be short of time, but it may be valuable to help out with improving test covarage of "sensative" parts, which can be usefull in later refactorings and in sharing knowledge about the implementation).