The conversation

Lessons learnedExperience excerpt · English

This just sounds like perfectionism

This just sounds like perfectionism. I believe it is a curse, because I hate working with teammates like this. They'll spin their wheels solving some insane problem no one asked them to do because it's "better" while ignoring the larger scope and goals of the project. I've tried to coach people out of this mindset, because I used to have it very early in my career, til I realized the sheer impracticality of it. I use this really annoying, poorly supported terraform provider. I've written a wrapper around it to make it "work" but it has annoyances I know I can go to that repository and try to submit a patch for it to fix my annoyance. But why? This is "good enough," and IME, if you sit on things like this long enough, eventually someone else comes along and does it. Is that a good attitude for everyone to have? Probably not, but now it's been a few years of using this wrapper module, I have 2-3 viable alternatives now that didn't exist before that I can switch to if needed. I could've turned it into a several week project if I wanted, but why? What purpose does it serve? …

Original discussionThe curse of knowing how, or; fixing everything441 source comments · at import
6

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 6

Direct replies available in this import. Original-language excerpts.

FR

There's a difference between picking up on some esoteric detail.in your company's product and making it your only mission to solve it, ok the detriment of everything else vs taking Friday afternoons for a month to fix a Terraform provider for the world. There are two kinds of lazy. The kind that makes us good programmers and the kind that makes us bad programmers. If you're gonna be the second kind of lazy and just wait for someone else to do it for you, you might as well become a manager at work and take credit for their work while you're at it.

Full original
BI

Like most things in life, there's a balance to be struck. If you always accept "good enough" and move on, things will be low-key crappy forever and never get to the point where they are actually good. If you never accept "good enough" and move on, you will never get anything useful done because you're going to always find some "one last thing" to polish. The best path is to pursue excellence when you can, but accept that sometimes you have to let things go.

Full original
MA

> I hate working with teammates like this. > They'll spin their wheels solving some insane problem no one asked them to do because it's "better" while ignoring the larger scope and goals of the project. > But why? This is "good enough," and IME, if you sit on things like this long enough, eventually someone else comes along and does it. Can't think of a bigger reason to avoid volunteer work on free and open source software than what you just said. Being a "wheel spinner" who cares too much about stuff is foolishness. People hate you and simultaneously take you for granted.

Full original
3M

Most people automate things just barely enough to work. The thing is, having a barely working script or process can save someone thousands of hours. It's actually hugely valuable. Trying to make it more robust/productionized/whatever may have diminishing returns.

Full original
RU

I submitted a patch for an annoying terraform provider once. It took about a week to fix and almost 3 years for them to merge it upstream. I got to learn Go and gained a much more solid understanding of how terraform works. I gained more from undertaking the project than from the actual fix. > Consider the way you think it should be done is not the only "right" way and you'll open more doors for yourself. Absolutely.

Full original
EV

> submit a patch for it to fix my annoyance. But why? To not be annoyed? How is that not a worthy goal in itself?

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.