/r/ExperiencedDevs

Photograph via snooOG

For experienced developers. This community should be specialized subreddit facilitating discussion amongst individuals who have gained some ground in the software engineering world.

Any posts or comments that are made by inexperienced individuals (outside of the weekly Ask thread) should be reported.

Anything not specifically related to development or career advice that is specific to Experienced Developers belongs elsewhere. Try /r/work, /r/AskHR, /r/careerguidance, or /r/OfficePolitics.

Welcome to the /r/ExperiencedDevs subreddit! We hope you will find this as a valuable resource in your journeys down the fruitful CS/IT career paths. This community leans towards being a specialized subreddit facilitating discussion amongst individuals who have gained some ground in the IT world.

For an idea of what is encouraged in this subreddit and what is not (please report anything that does not follow the rules):

Rules

1. Do not participate unless experienced (3+ years)

If you have less than 3 years of experience as a developer, do not make a post, nor participate in comments threads except for the weekly “Ask Experienced Devs” auto-thread. No exceptions.

2. No Disrespectful Language or Conduct

Don’t be a jerk. Act maturely. No racism, unnecessarily foul language, ad hominem charges, sexism - none of these are tolerated here. This includes posts that could be interpreted as trolling, such as complaining about DEI (Diversity) initiatives or people of a specific sex or background at your company.

Do not submit posts or comments that break, or promote breaking the Reddit Terms and Conditions or Content Policy or any other Reddit policy.

Violations = Warning, 7-Day Ban, Permanent Ban.

3. No General Career Advice

This sub is for discussing issues specific to experienced developers.

Any career advice thread must contain questions and/or discussions that notably benefit from the participation of experienced developers. Career advice threads may be removed at the moderators discretion based on response to the thread."

General rule of thumb: If the advice you are giving (or seeking) could apply to a “Senior Chemical Engineer”, it’s not appropriate for this sub.

4. No "Which Offer Should I Take" Posts

Asking if you should ask for a raise, switch companies (“should I work for company A or company B”), “should I take offer A or offer B”, or related questions, is not appropriate for this sub.

This includes almost any discussion about a “hot market”, comparing compensation between companies, etc.

5. No “What Should I Learn” Questions

No questions like “Should I learn C#” or “Should I switch jobs into a language I don’t know?”

Discussion about industry direction or upcoming technologies is fine, just frame your question as part of a larger discussion (“What have you had more success with, RDBMS or NoSQL?”) and you’ll be fine.

tl;dr: Don’t make it about you/yourself.

6. No “I hate X types of interviews" Posts

This has been re-hashed over and over again. There is no interesting/new content coming out.

It might be OK to talk about the merits of an interview process, or compare what has been successful at your company, but if it ends up just turning into complaints your post might still be removed.

Related Subs

CS Career Questions

CS Career Questions: Europe

CS Interview Questions

Learn Programming

General Programming Discussion

Coding

CS Theory

CS Education

IT Career Questions

Telecommuting

General Job Discussion

Digital Nomads

Ask Network Security

NetSec Students

Career Guidance


/r/ExperiencedDevs

214,190 Subscribers

0

Is someone experienced in the gaming industry? What can you tell us about it?

What myths could you help debunk? As an engineer with several years working in e-commerce, productivity and health industries. I was never exposed to what the gaming industry is like, and I'm pretty interested in it. I rarely see job openings, although the industry is known to be very localized. I’ve also heard it’s underpaid. Interested to hear experienced opinions

8 Comments
2024/09/12
22:30 UTC

195

Mentorship: underrated perk of big tech

Staff level with 10 years experience, but I’m constantly still blown away by how much I can learn from leveraging others at a big tech company. “If you’re the smartest person in the room, you’re in the wrong room”.

Example 1: I had previously only worked on projects that affect measurable company metrics, but had an idea for a subjective “better engineering” project that will make people happier and spend less time on stupid stuff.

I reached out to literally the guy who rewrote facebooks news feed infrastructure and he mentored me on how to recruit engineers, create success criteria for leadership, and how to spin wins for visibility.

The project ended up a huge hit and was broadcasted at a company-wide all hands.

Example 2: after a career working in backend infra, I decided to move to a new team in Mobile space. I reached out one of the OG authors of the Facebook app and asked him if I could just watch him debug simple tasks for a bit, and I learned more from that than I would have in weeks of learning by myself.

This isn’t something people talk about usually, and not even something my manager set up for me. But people, especially smart and driven engineers, almost always are willing to help out and teach others if you take the initiative to ask.

46 Comments
2024/09/12
21:37 UTC

0

Has anyone here ever implemented a machine learning feature store?

I am studying this topic and I'll have to implement one someday so I'd like to get more info on how someone was able to do it or maybe point me to any relevant sources. I am already familiar with the purpose of it and the features it should have so I'd like to go deeper into architecture and how it actually can be implemented.

Why not just use the feature stores available as services or OSS? It won't fit our business use case and the systems we already use.

0 Comments
2024/09/12
21:20 UTC

0

Sh*tty Interviewers Who Don't Understand What They're Asking?

Venting here a little bit because of an interview I just had, but am wondering about similar stories you may have had from interviews?

The issue is where they only has a shallow understanding of algorithms, only memorized a specific solution, or didn't understand what I was telling them. Then later they would try to correct me by repeating what I had just told them in a different form, or let me go way off on a tangent.

Some examples:

* Had a problem which was a tree traversal disguised as string-matching. I got stuck, then started thinking out loud and said "Maybe a trie or tree will work here." Interviewer responds "That's a good idea", so I started on implementing a trie, and even repeated that word out loud a few times. Turns out that what this really needed was a tree, but this interviewer watched me go on for 15 minutes trying to implement a trie without saying anything before I realized it was not gonna work. They may have never heard of a trie or couldn't remember what it was.

* Had another interviewer propose a problem which could be solved using either union-find or a graph traversal (e.g., islands). I solved it using union-find, and the interviewer couldn't follow-up with any other questions, because they weren't expecting that solution, and I'm pretty sure they'd never heard of union-find before.

* Had a problem which was word pattern matching, that was an "easy". The literal first comment out of my mouth was, "OK so this defines a bijection and you need a forward and reverse mapping." I spend about 10 minutes implementing this and debugging a failing test before they corrected me and said something along the lines of "Look at example X and there can be more than 1 match blah blah blah." Turns out it was just an on-to/ surjection and was even easier than I thought. WHY DO YOU NOT UNDERSTAND MATH? Maybe you never learned the meaning of "bijection", (even though you should have in f*cking calculus). But WTF why waste both your time and mine by watching me implement it and saying nothing?

* Same interviewer as above, different problem. I implemented a solution which was involved taking combinations of multiple arrays. Thinking out loud I said "This involves trying a cross-product of inputs so it looks like backtracking or dp." I was a little rusty so it took me few minutes to think through it, during which this interviewer gave me the hint "Maybe you should try recursion instead of dp." WTF DO YOU THINK I WAS DOING AFTER I SAID BACKTRACKING?

* Follow-up to the last problem was about algorithmic complexity. I answered that the nature of the problem was essentially combinatorial, so it was going to be proportional to the product of the lengths of the input arrays. Interviewer then tries to correct me by saying, "Well actually if the length of the longest array is M, then it's going to be M times the number of arrays." WTF ARE YOU PEDANTIC OR DO YOU JUST NOT UNDERSTAND WHAT COMBINATORIAL MEANS?

If you are an interviewer giving algorithm questions, realize three things -- (1) you had better understand your questions deeply and not just be memorizing the solution, and (2) your CS degree means jack if all you did was learn things by the book, and (3) you are probably bad at math. If I ever run into this again, I am going to complain to the recruiter that you are brain-dead.

71 Comments
2024/09/12
17:39 UTC

14

Good comp, but bad infra and practices

I know many people are worried about getting jobs at this moment. The fact that I even have a job and a well-paying one at that is something I'm super grateful for.

I'm getting a base pay of >170K at 5 YOE, but as an ML engineer / data scientist the data infrastructure and company processes are not really supportive of ML products, and there are anti-patterns wrt how code is developed, tested and pushed to prod. Any change of practices will need significant buy-in and advocating with direct manager and higher-level leaders.

Not sure what I should do. On one hand $ is good especially in this economy, on the other I don't feel satisfied at work since I'm worried about these issues affecting my professional growth, and I've only been here for less than a year. Should I be applying for new jobs even? Should I be going for jobs that pay less but have better infra and better developer experience?

8 Comments
2024/09/12
17:36 UTC

18

Do you plan on working part time in retirement? If so, how?

I'm a backend dev in my early 40's. I plan to 'retire' from my 9-5 by my mid 40's. Ideally, I'd like a part time job working a day or two a week just to keep my skills sharp. If you were me, what moves would you be making to make that goal easier to achieve? I have thought about trying to identify a niche that's in low supply as that would give me more leverage when I inevitably run into resistance negotiating such low hours. Worst comes to worst I could just increase my contributions to open source projects I guess.

59 Comments
2024/09/12
17:14 UTC

23

Am I supposed to be coming up with my own work tasks/projects?

I'm a front end dev of about ten years. My boss makes me come up with work ideas because I've done every idea he's asked me about over three years time.

For the past two years, every year, I've come up with ideas and have worked on them. But there's only so much i can do in my job, and certainly only so many ideas I can come up with that'll help the business.

Is it even up to me to think of my own work tasks? Isn't that my managers job? This expectation is causing me stress.

For context, he's a non-dev manager. I work in-house on a small marketing team.

30 Comments
2024/09/12
11:46 UTC

11

Switching from a big team to a small/two-dev team. What team size do you prefer?

I'm curious because I might have the opportunity to switch to a smaller org soon, where it would just be me (backend-focused fullstack, 4 YoE) and a frontend dev/designer.

I started my career as a solo dev for an e-commerce site. Since that job, I've been in bigger orgs on smaller (4-8 people) teams within the orgs. I was inexperienced when I was a solo dev, and most of my actually fruitful work experience has been in those big corporations and larger scale-ups.

I have concerns about how code review/oversight would work more than anything, but perhaps I'm missing other nuances to being on a small team/duo. If you've been a dev on both big and small teams, what anecdotes do you have? Any gut-feel preferences?

The pro's and con's I see of a small team:

  • Pro: More ownership of everything. I get really tired of having to constantly find The Guy Who Works with (x) And Has Permissions whenever I need to make, say, an infrastructure change. But then I like being hands on across the stack.

  • Con: Less oversight/chances for review. With only one other dev, I worry I'd lose a little opportunity for further growth that comes from seeing how other people work and code.

  • Con: Less shared blame/blamelessness. If I mess something up, I messed it up, it can't be explained away with organisational failures. It's not like I'd be working on world-critical software, but I suppose it's daunting to have that level of responsibility.

  • Pro: I'd see if I'm worth my salt, now that I couldn't hide behind others' code and help, and would have to be responsible for my work more than before.

But from people who have done both while experienced: What are your thoughts on being a cog in a larger machine, or more of a lone wolf?

14 Comments
2024/09/12
09:48 UTC

0

Can I post my open source project for code review in this sub?

I am cofounder of an open source startup made with python, want a harsh code review after we'll finish everything

8 Comments
2024/09/12
09:41 UTC

208

I can't be a lead because I fully solve all the problems I'm given

I feel stuck. My peers are getting promoted because they each lead a subsection of the team's current projects.

I was given a similar subsection of the team's projects and finished them (albeit they were less important problems, but I think they were equally as difficult)

The others move at a much slower pace, but management appears to think that's expected because their projects are more important. (in my eyes, that's a logical fallacy)

Now I'm stuck jumping around helping people solve parts of their projects (often paying down the tech debt that they created), but there is no project left for me to lead

If being a "lead" is a prereq to being a senior/staff engineer, and there's nothing to lead... how am I supposed to move up?

150 Comments
2024/09/12
06:06 UTC

3

Is this a red flag from the manager? if so, how to protect myself?

A new manager recently came in, and have been picking up new stuff such as planning work, presenting deliverables to executives, holding sprint plannings and stand-ups etc. A co-worker recently have something going on in his life. I don't want to reveal too much, but to drill it down, it is

  1. completely unavoidable: think of it like having an accident, and there is no way of knowing in advance
  2. Having a major task coming up: think of it as their turn, and it is scheduled ahead, but really the team has been kinda flexible with it, and team members do chip in to some extent if someone just can't do it

so this co-worker has to push off this task, and do it, say, a few weeks later. He sorted out with some of the team members. Some of the team members volunteered and helped them out. Function-wise, the team really is a-okay.

Then on a stand-up, at the end of the meeting, the manager was just going through some stuff, and, out of the blue, said, "I would really appreciate y'all to let me know ahead of this kind of accident. I am in the middle of planning work and deliverables, and this is really interrupting with my planning. Preferably, let me know 3 weeks ahead, and I will see if I can weather it out; if I can't, then you may not have what you ask for". Obviously I paraphrased it, these are not the exact wordings, but I did my best here to re-word each sentence.

Let's just way I don't feel comfortable, because, number one, it wasn't like that incident was planned ahead for that co-worker. It was forced, so there is no way of "telling it 3 weeks ahead". Besides, what does it even mean for "you may not have what you ask for"? Like, what if somebody literally can't go to office, then how is that task still be scheduled nonetheless? I would like to give the new manager some benefit of doubt since they are just picking up stuff. But still that is kinda icky.

I am aware of changing job, but factoring in the recent downturn of labor market, and that the team itself is not that bad, it won't be the first and easiest option.

To those that have experienced this before, what would be your reading on this situation?

33 Comments
2024/09/12
03:48 UTC

234

AI has helped me tremendously, but not the way people think it might of.

I want to see if the below is true for others. I have over 14 years of fullstack development experience.

When AI first started entering our world I'll admit although at the time I didn't that the first feeling I had was "omg its going to take our jobs". This feeling quickly passed. It then yielded to "its going to help me write code, 50% faster". This then yielded to, 'Its going to to help me write boiler plate code, but I'm not writing code anywhere near 50% faster".

So now I still use AI to help me write some boiler plate code here and there. It helps me with refactoring, but I find it almost useless to write "novel" code. I believe this to be true of many senior developers. To be clear, I don't ask AI to make me novel code that I then copy-paste into my IDE. The only code I copy and paste into my IDE is well-defined refactoring, and boiler plate code.

I fear as though AI might have created another "abstraction" for many junior and intermediate devs who are using it to write novel code, to get assignments done without learning what there code actually does. It's a more ugly analogy to how the invention of high level languages like C# and Java allowed developers to abstract, and therefore atrophy as a collective, knowledge of how memory and low level concepts work in a computer gleamed from c/c++. Its not necessarily a bad thing in all respects, but something to be aware of and I believe the level of abstraction is a lot more uneven and unreliable.

So what super use have I found for AI? Questions. I have begun to trust AI more to answer questions. I ask it questions about how a concept in one language may transfer to another. I've used AI to learn Rust much quicker than I could by just reading the internet (I do both). If I'm struggling with an advance concept where I am only finding bits and pieces of it on the internet, I'll tell AI what I understand of the concept and it fills in the blanks. Knowing the blanks, I can now go back to the internet to confirm the ramblings of the AI. I'll ask AI devop questions for certain technologies I'm unfamiliar with, processes I'm unfamiliar with, ect. Its been great.

100 Comments
2024/09/12
01:44 UTC

53

What does working hard look like for you or your social circle (perhaps this is a question about startup culture)?

#Context

I'm at a startup; we have a product-market fit, secured funding, and a strong growth trajectory, but organizationally we're still in the early stages. I'm excited to have a job in a place like this because it does feel like there's a future here, and while I've usually worked at more established companies, this is the first time I'm with a growth trajectory like this.

Problem

We have a pretty lean team, which I don't mind (it presents opportunities), but I've noticed a ton of the responsibility has fallen on my shoulders or one or two of my peers while pretty much everyone else seems to clock out at 5 or 6, talk a lot in standup with very little substance to what they're saying, and act pretty casually with their friends when they're in the office. Meanwhile, I'm doing at least one late night (10pm+) a week with usually more and I am so busy during the day that I can't really afford to even take breaks.

I am senior to a number of these other people, so a difference in responsibility is expected, but I'm not senior to all of them. Some other teams have a much lighter workload with more straightforward work, whereas my team is dealing with a lot of less common problems which has us constantly upskilling. Any huge and important task or project which comes in is placed on the lap of the high performers, and everyone else just kinda coasts along with what they've got.

I like working hard for extended periods, but it can't be a constant state of being. It's also pretty demotivating because this work load can be stressful at times, and it can sometimes make me impatient with others or louder about inefficiencies / unrealistic expectations, and while I never really cross the gap of unprofessionalism I do think I portray myself as a whiner sometimes and some middle management does little things to tell me they think the same lol (even though they generally have respect for my contributions).

Question

I guess I'm just wondering if this story is familiar to any of you, and if it's not I was hoping to hear what the culture is like at your company. Also, how do you personally think about high workloads? Are you obsessed with the problems you're solving so work comes naturally?

51 Comments
2024/09/11
23:47 UTC

12

Engineering Manager and Product Manager constantly getting into debates/arguments during ticket ideation and grooming meetings

Hey everyone, any ideas on how to navigate this?

I mean it's okay to have differences in opinion but these two go at each other's throats they join together. It's really getting unproductive having to listen to 4 hours of constant bickering every Wednesday.

My team lead has tried calm things down by throwing in a joke or two but ultimately to no avail.

The meeting often starts out productive when we go over our Stormation Formation Board (our Scrumban ideation board) but right as we dive into tickets... they start arguing about everything - word choices, ticket titles, acceptance criteria, classification of the ticket, why the ticket matters, etc.

I tried bringing it up to my manager but I think he can't smell his own stink.

I don't want to go to my manager's boss or the PM's boss because that's going to explode in drama (which has happened before and the whole team has ended up suffering for it - the last time we complained to either of them - both are VP level - we all got grilled for 2 weeks by them regarding each and every single detail on how the team operates down to how often our Tech Powwow's take (standups) more than 15 minutes).

32 Comments
2024/09/11
23:36 UTC

0

How do you deal with another team taking significant resources for a monument to their ego?

A competing team took say 20% of your human and other resources because they convinced notoriously incompetent management to do some project. It’s cosmetic and almost entirely internal, except for some comic book guy level stuff. Maybe there is even literally nobody who cares.

Of course this same management will lose their entire existence if there is any impact to the performance of everyone else or any complaints of any kind. The other team regularly blocks other people’s tickets for weeks at a time. I get how you would divert resources to things that are proven productive. How do you even go about explaining your deadlines are behind, without saying: “This is your fault and you are stupid, what did you expect, and what is wrong with you?”

9 Comments
2024/09/11
18:19 UTC

232

What’s the route to rise to CTO level?

I have been in the industry for 22 yrs in respectable companies. Most of my experience is as a backend IC in high performance systems (all C++) with a few years of management. How does one rise to the CTO level? Probably join an early stage startup? Or found my own company? Both these are too risky monetary wise plus they don’t give you the same scope of experience. Seek mentorship from someone? Thoughts from other experienced leaders here?

119 Comments
2024/09/11
18:12 UTC

5

Best examples of excellent SaaS product/platform design?

I'm looking for examples of SaaS platforms that are considered state of the art, or have excellent UI/UX design. This doesn't mean the marketing website. Examples would be like the Vercel or Clerk platform themselves.

What do you consider are the best products you've seen of this class?

5 Comments
2024/09/11
18:08 UTC

10

How to improve at behavioral interview rounds

I’m an SDE with over 7 years of experience and am currently going through the interview process. I’ve been with the same company for the entirety of my career, where I was hired through a group technical interview where we worked as a team to deliver a feature. I’m mentioning this because I’m finding it extremely challenging to excel in my current interviews; I have zero experience with interviewing.

I particularly struggle with the behavioral portion. I’m the type of person who prepares notes before meetings and reads from them, so I find it tough to articulate my thoughts on the spot. If I don’t have a question or response ready, I get completely stumped.

One thing I’ve started doing is having casual conversations with chatGTP to warm up and practice speaking about random subjects on the spot. I’m not sure if this is the right approach, so I’m open to suggestions.

What are some methods to improve in this area? This mental block is really frustrating, and I’m worried that my difficulties might prevent me from landing a job. Any advice would be greatly appreciated!

11 Comments
2024/09/11
17:56 UTC

52

People that have decided to work as Contractors, hows it going?

I recently accepted a role that was contract because it was much more money than anything i was being offered full time.

I wonder what the future loooks like for me. Are people not gonna wanna hire me as full time anymore?

Is there something about contract work that people like?

82 Comments
2024/09/11
16:57 UTC

8

When creating a new project, is it okay to have the first PR be huge?

I know the general wisdom is make small PRs, trying to keep them to no more than one conceptual change to a system.

But when creating a new project, I find it hard to avoid throwing down a huge PR for the first. There never feels like a good stopping point until you have a something cohesive and working (to some extent). And going to early may create PRs that lack context.

My usual approach is to create an initial main branch and push the skeleton to it. Think of whatever a framework spits out from its CLI new command. I then create a development branch and create the minimum product, which is often reasonably large (think, an http client with several endpoints plumbed in, data models, a database connection and an orchestrating main.) and make that my first PR. And then follow up with smaller feature PRs.

I'm keen to know best practice and to hear wisdom from others on this.

59 Comments
2024/09/11
16:50 UTC

27

For anxious people: how to stop fretting over interviews?

I've been out of work for some months, and I've had a bunch of interviews but can't seem to stop being anxious before them. The actual interview is not that bad though. It feels like I should the relax the more I do, but I hate the whole process and tense up and lose sleep before each one of them. Its that pupil-bad teacher feeling.

Any advice?

47 Comments
2024/09/11
14:39 UTC

29

Is there value in being a 'handyman' dev?

I am (primarily) a frontend web developer with about 6 years of experience. I got my start at a bootcamp (the details are tricky) and after a brief stint doing data visualisation and analytics, I settled into doing frontend work, and I've been at it since.

Today I work in a startup with fewer than 25 people. You may not be surprised to hear that in such a company, budget and manpower is tight. Our semi-technical analytics guy left us earlier in the year and we've not been in a hurry to replace him. Recently, there have been a few requests to automate generating some of our weekly reports via Google sheets + AppScript (ol' faithful). I pride myself on not shying away from these tasks because imo they create real and immediate value, and they would take ages to do otherwise. So I took up the task and it went great.

It's not the first time I've taken the utility man role, due to circumstance.

When our product site (built in a low-code environment) was flagged due to a lack of specific security headers, I did some research about the appropriate configurations and fixed them.

When the same site began to load slowly after a revamp, I ran it through a few online tools and troubleshooted the best I could. Improved the SEO while I was at it.

When our promotional emails started bouncing, I found that it was due to problems with our DNS SPF record. I did some more reading and configured our previously-nonexistent DKIM and DMARC policies. Our email deliverability is now near-perfect (according to testing tools).

I've learned a lot from doing all these, but it does fragment my time and concentration a bit. Sometimes I miss the times when I could just spend the entire day focusing on VSCode + my terminal. Also, doing these side tasks does come at the expense of being able to spend time on my core competencies and learn more from my colleagues about our main frontend features

Does anyone else have experience with being more of a handyman dev, outside their core job scope? Did you enjoy it and learn plenty, or did you mostly come to regret it?

EDIT: thank you for all your responses, I will try to respond to some of them because I do want to know more. also added a few things to the original post for clarity

51 Comments
2024/09/11
14:30 UTC

3

Advice on Current Role ( How can I make things better in dysfunctional org) ?

I've been in my current role just under a year. I want to get a sanity check on how bad my situation is and whether I should try to stick it out for experience or leave and hopefully get actionable advice on how to make my situation better.

I joined this org under the auspices that I was going to be working on a 'greenfield' project. It turned out when I joined that it was actually mostly developed by a contracting company. Worst of all, the contracting company had thrown as much cheap resource with high turnover as they could at it to get features through the door. As such everything was a mess. Inconsistent standards across all the code. Microservice hell (multiple databases with slightly different versions of the same entities in models and weird integrations across services). Inconsistency by design in "microservices" architecture. Buggy spaghetti code everywhere. Incomplete features.

To make things worse, the org isn't a software company. C-suite leadership doesn't understand development and we have a very immature product team. We constantly change direction mid-sprint. Random (useless) features come in as high priority. Everything is reported as a P1 incident even when it has no discernable impact. I've regularly worked evenings and weekends on this project.

The upside to all this is I feel I've had a lot of exposure to different things. I've truly had to work on all sorts across the full stack including lots of database stuff I hadn't done before and had responsibilities for multiple services that I may not have had at a more well ran org.

I feel like I've really tried to give this job a good go. I've worked overtime and weekends and chipped away at tech debt but the constant incorrect prioritisation, communication void between developers (who know the software) and upper management and incomprehensible architectural decisions are really getting to me and Im feeling like it really is more than I can fix. Especially since we've gone live (after the contracting company rolled off lol) and committed ourselves to this f***ed set of db models with lots of live data.

To make things worse, C-suite have made clear there will be no performance-related pay bonuses. Additionally, Im onboarding people we've hired as senior engineers who are basically at the same skill level (obviously haven't ramped up yet on this project) but I think the scope of my responsibilities within the team is and will remain above theirs, even though Im a mid-level in our org "structure" (not that there is really an official structure). We also keep introducing things that make dev exp a little bit worse - for example whitelisted IP's to certain resources before IT implemented static IP's so every day I have to add my IP to the whitelist, or not merging PR's after reviews and waiting for us to want to release a feature/fix -- so your PR goes stale and having to resolve merge conflicts.

I have some team mates who I really like working with and find to be highly competent, skilled, positive and I like working with them as devs. But the broader organisational leadership, structures and historic software are just such a mess.

Maybe this has turned a bit into an unproductive rant. I would really appreciate if anyone has actionable advice about how I can make this situation better for myself? Obviously the job market sucks at the moment.

tldr;

  • Lots of cross-functional opportunities to develop skills and have impact

  • Get 'senior' / 'principle' title (possibly)

  • Don't look like job-hopper ( <1yr at current role, red-flag on CV)

  • Complete organisational shit show

  • Getting a bit depressed and burnt out

  • Not sure about actual progression (defo not much salary progression)

5 Comments
2024/09/11
14:16 UTC

62

How to increase impact as a staff engineer in a large org?

Here I am in my first staff role, it’s been made clear to me that I should be working on bigger picture stuff in addition to my sprint work. I’d love to hear some examples of how you’ve made an impact, both inside or outside your team.

49 Comments
2024/09/11
12:13 UTC

114

Dealing with intern who lies

I haven't had this issue before so I'm hoping to get a second opinion before I escalate to my own manager.

TL;DR - Intern who is struggling lied about not being able to find chats, and then lied about having computer issues when the solution was handed to them to try out. Do I bother addressing it with 2 weeks left on their internship? No return-offer decision has been made yet, but this has impacted my evaluation on it.

This summer we had 3 interns on our team, A, B, and C. I communicated early and often that they shouldn't hesitate to reach out to me or anyone else on our team for help. W added them to our team chat to show them that we're constantly asking each other for help/feedback/a second opinion/etc, to drive home the idea that nobody should be afraid to ask for help regardless of how junior or senior they are. Things were going excellent for the majority of the summer, and we had good feedback from everyone. A & B left to go back to school end of August, but C was staying until the end of September because their university didn't start until then.

Since then the cracks have been starting to show and it's become very apparent that A and B were doing most (if not all) of the work, but were too nice to ever speak up about it. My impression is that A & B would brief C before I would talk to them as a group so it seemed like they were all pulling their weight, and the oversight on that is my fault. That brings us to these last 2 weeks where C has been struggling with the task I'm giving them; mind you the tasks aren't to the same "difficulty" (for lack of better words) as what I was giving to the entire group, because I knew that losing 2 people means you can't cover as much ground. For example:

  • I tasked C with using one of our internal buildkits so that they could overcome the Docker-in-Docker problem since we can't run in privileged mode (so DinD needed to be solved). Another team we work with had developed an internal buildkit to overcome this, so the scope of what I assigned C was: Create a simple hello-world Dockerfile, and see if the buildkit can build it in the dev-container using the buildkit's documentation. Should be as simple as creating a python file and doing:

buildkit.dockerfile = '/path/of/Dockerfile' and then log = buildkit.build()

  • C struggled with this and asked me for help and I pointed out that they needed to actually put their actual relative path to their Dockerfile instead of pasting the literal /path/of/Dockerfile. That solved the issue, so I looked past it as just a silly mistake (I make them all the time, no biggie).

  • From there I then tasked C to see if it then works with an actual Dockerfile we have that I know is relatively simple, and after a couple days of errors we found that it was because the buildkit didn't support build secrets, so I put them in contact with a familiar member who was on the buildkit team to see if they could work together. This was last Tuesday. Come last Wednesday, C gives me an update and shows me the suggestions and fixes that the buildkit teammate pushed, and so I thought "great, blocker unblocked!". Then last Friday, I was checking in with C and they said that they were still having issues. I told them that I'd sit down with them on Monday (when I'd be in), but to then keep working with Buildkit teammate.

Monday comes, I sit down with C and I ask them to add me to the Teams chat they had with Buildkit-teammate. C says yes, then sits there fumbling on their laptop for a bit before telling me that they "lost the chat, but remember what Buildkit-teammate told them to try". Lie #1, since you can just re-initiate a chat with someone and get the history back in Teams. I was kind of thrown back by this and wanted to give them the benefit of the doubt, so I pair-programmed with them in the morning, and then on my own in the afternoon since I had meetings to call into. I eventually figured it out, and sent C the solution EoD Monday to have the try it out to see what was needed.

Tuesday morning (10:30ish), I pinged C to see if they had the chance to try it yet, C said they will try it and get back to me. Should've been as easy as pulling the commit/copy+pasting it and then running it. I pinged C again after lunch to see if they had the chance to try it yet and they replied saying that they ran into computer problems (couldn't access tabs, although there's many browsers to try and the link was in Teams to copy and paste from). I suspect that this is Lie #2 now, given the patterns.

At this point I'm just kind of confused and kind of frustrated with whatever the hell is going on. I reiterated yesterday to them that they shouldn't feel nervous to ask for help, and that we don't expect them to get something perfect right away, but the weird behavior's just been on my mind. Is it worth addressing it with C before they leave? I honestly don't think it would change my stance on not giving them a return offer. Or is it better to just let it go and be content with not giving a return offer?

103 Comments
2024/09/11
12:05 UTC

85

Joining a bank on a contract position has me terrified my career is ending here

I, like many others recently, experienced the brutalities of the market and got laid off from a job I liked at a small app company. Unfortunately, economic constraints being what they are I have landed at a large bank in a contract position.

What really, really worries me is that this position isn't going to make interviews go any easier. I struggled with system design style questions on my last round, those are hard. But now I'm in a job where I couldn't be further from designing anything! I'm pretty much the bottom rung out here, they pass me tickets when they remember I exist. Despite being hired for Front End React development, which is very in line with my career goals (I would like my next title to be Senior Front End Developer!) I have not seen a line of JavaScript so far! In fact, despite my short interview being solely about my react experience the manager I report to looked at me like I grew another head when I asked when id get to actually do some of that.

So, have any other devs been in this position and how do I paper over this with future interviews? Do I amass side projects and simply focus on those in interviews? Do I have to simply demonstrate perfection in design choices to cover up for a clear lack of real world experience? What's the best strategy to move forward from this, because I don't think my sanity is going to last much longer in this role.

Edit: mods let me collect some responses before you remove this please

69 Comments
2024/09/11
10:53 UTC

7

Documentation where and why?

Thin is the line where business requirements meet technical requirements.

How do you decide what is documented in code itself and what is documented in actual internal documentation?

What makes you think: "We need this documented somewhere outside of codebase"? And how do you achieve not to have bloated documentation which again is not very helpful

13 Comments
2024/09/11
08:25 UTC

89

How do you deal with the guilt for abandoning a team on a sinking ship?

Some background. I joined my current company fresh from university, and was introduced to a project that was just starting. I've been in this company ever since, and have seen that project grow from a single java file to a huge tool suite that almost every product lines want to play with.

Unfortunately, due to poor management and/or career improvement choices, the entire OG team (who built the complete product) was gone by the end of 3rd year. I am now at my 5th year and it has now become crystal clear that the management is thoroughly incompetent. The management has changed once every year (which is weird) but the latest one that came in - you sometimes wonder why they're in the position they are in.

When it became clear that there is no salvation coming out of this situation, I decided to resign. Partly because I am still severely underpaid and there is little to no enthusiasm from the management to provide a market correction to my salary, but also they kind of decided to keep me out of the loop for most decisions and then commit unrealistic deadlines to the customers.

We were a 27 member team by the end of 4th year and starting mid of last year, that number has gone down to 7, because management decided to shift a lot of them into other projects. Out of these 8 people, there are 4 developers, 2 scrum masters/architects and 1 team lead.

The team lead is completely useless and micromanaging in nature, one of the scrum masters is apparently "always right" and does not take any technical feedback seriously at all, while the other one at least attempts to do his job properly.

A couple of weeks back the team lead invited for a meeting and said "we have finalised budget for 5 people next year" which is when I realised that there is no hope at all. We have a standing offer (us the developers) from another department to join them but I realised there is no point in staying here any longer because the project is quickly going into the maintenance phase with the attitude of the top management.

The thing is, I feel incredibly guilty for leaving my fellow developers stranded out there. I have no doubt that they will be able to rise up to the challenge and take over - in fact, I have been slowly teaching them everything I know over the past year so that they can handle any situation that come up in my absence. But even then, when shit hits the fan, they usually ask my advice on how to go about it - which makes me feel useful and grateful in a way, I suppose. I also feel extremely guilty for abandoning this project because I have literally seen it grow before my eyes to the thing it is today.

Am I overthinking this? Is there something I can or could have done better?

TL;DR Resigning because management is shit, but feeling guilty because I'm leaving my teammates and the project I've literally been a part of since the beginning in this situation. You could say it's more of a rant, I suppose.

97 Comments
2024/09/11
06:26 UTC

6

Transition from Frontend to Backend Developer.

Hello!

I would like to know if anyone made this transition in a later stage of your career. You were a senior Frontend, well paid and with years of experience and then decided to start over as a backend, probably decreasing your salary for a while…

I know there are scenarios of changing to a full stack role, maybe inside your current company… but I’m curious about the full transition, the “okay that is it, I don’t want to handle all this Frontend things anymore, bye” haha.

It was worth it? What is your story?

19 Comments
2024/09/11
02:58 UTC

36

Pet peeves

ExpDevs, what are your biggest code pet peeves or smells? Mine are seeing things like unnecessary ternary operators

var isFalse = isTrue == true ? !true : !false;

And comments that explain self-documenting code

// get the data from the db
Data data = getDataFromDb();

What are yours?

111 Comments
2024/09/11
00:51 UTC

Back To Top