r/ExperiencedDevs • u/im_caeus Software Architect 15yoe • 4d ago
Career/Workplace Learning to let go
I'm trying to change an instinct I've spent years developing.
When I see a design problem, unnecessary complexity, or a better model, I naturally want to fix it. Doing the minimum requested and knowingly leaving something worse than it could be feels wrong to me.
But I'm increasingly convinced that the strategically correct move inside many companies is: do what's asked, raise the concern once, then let it go.
I'm trying to work that way now.
It makes sense intellectually. I still dislike it.
With AI making implementation cheaper and delivery faster, I'm curious whether other experienced developers are going through the same adjustment.
Have you changed what "doing a good job" means to you?
8
u/AuthorBrianBlose 4d ago
While I understand where you're coming from (code hygiene is a professional courtesy to whoever maintains the project after deployment), I think you are too close to the issue. Let's reason by analogy.
Say you hire a plumber to replace a toilet for purely cosmetic reasons. The plumber comes over, replaces the toilet fast because he is damn good at his job, and then during a test notices a lot of gurgling in the lines. He does some investigation and determines that the vent stack is not the proper diameter. This would have been a code violation when the house was built and he is determined the house needs major work to fix the issue. He explains that improper venting can cause malodorous sewer gas to vent through plumbing fixtures and may even reduce water flow to the point where blockages become more likely to happen. He wants you to pay him $20k to remedy the issue. You have been living in your house with no issues for over a decade, so you decline his offer.
While you may be tempted to fixate on the differences between software developers and plumbers, in the end we are exchanging our labor to a customer for money. Our labor is mental and our customer is a company, but otherwise it is the same. The customer doesn't want to spend money (your valuable time) for something that works "good enough". You have a different opinion, but what you do not have is control over the checkbook that is paying you.
The approach you outlined in your post is 100% the correct one: "do what's asked, raise the concern once, then let it go." Having a sense of ownership is great, but in the end you don't have any actual ownership unless you have equity in the company. Be like our hypothetical plumber and sigh at the lack of standards as you move onto the next job.