7
10 Comments

Developers, how do you overcome perfectionism?

Hello fellow Developers!

I guess it'd be good to introduce myself a little bit first - I'm Peter and I'm a software engineer at ❤️ (and by degree(s), FWIW) based in Edinburgh, Scotland. I've been working in the industry for 12+ years now and as of 2 years ago or so I stepped up to a managerial role (yes, nobody else wanted it in the dev team, j/k).

My work experience so far includes working in a setting that's driven by very strict processes, guidelines, and enormous box ticking exercises that your software must pass prior to it getting a glance at a live/production env (yes, you guessed it right, corporate). This includes design (UML, TOGAF etc.), implementation, all sorts of tests and so on.

Over the many years, I feel the mindset for perfectionism has been kind of baked into my head.

Now with Indie Hacking, I've got to, I mean I must, overcome this mindset. Whenever I get to building something I feel I need to understand every aspect related to the thing I'm working on, and sometimes go down the rabbit hole for days. 3rd party component? Oh wait. And of course I need CI/CD, right?

There is no space (or time) in the Indie Hacking for perfectionism. Speed is what matters, I know.

The thoroughness, though, remains.

I've been a lurker here (and the startup scene in general) for quite some time now - and oh girl/boy, some indie hackers ship extremely fast, they must have lots of time on their hands, whereas I've got:

  • a day job (thankfully remote and flexitime)
  • 3 young kids at home (there is a quote going on IH from @DaveChild: "Don't have twins while trying to build a startup.")
  • ~2 hours left each evening for solo making)

Bundle all that with perfectionism and you've got a real pickle.

Small, consistent efforts do add up over time, and I always recall this when I start to feel overwhelmed:

Small consistent efforts add up

This chap, @levelsio beats it all, no frameworks, just plain and simple PHP (even in one file!) - super impressive and something my engineer's mindset can't cope with very well - but key thing? He ships fast AND his stuff works, and makes the dolla'.

I know I know, just ship the MVP, fast.

One thing I have been doing though is coming up with ideas, and... buying domain names, I'm currently sitting at 8 pages of domains (25 per page) in my Namecheap account...

8 pages of domains!

If you hear a big bang close to beginning of the next year, it may still be fireworks or about half of those domains dropping.

Why indie hacking?

  • I know I've got the skills to build
  • I love creating things that help others achieve their goals (or make their lives easier)
  • and... sending 3 kids to nursery is not exactly cheap
  • finally, as we all want, that financial independence and personal freedom

Anyway, if you have been in a similar situation and managed to overcome this whole perfectionism thing, any advice would be greatly appreciated.

Sorry for the long post, maybe I should write a book about something!

Cheers!

  1. 3

    Something that helped me was to only work off of main. Odds are that no one will visit your project until you start making noise about it, so use that to your advantage in the beginning and don't worry about it being broken. Once you have users, then start following better and safer development practices.

    1. 1

      I have a similar approach, starting without source code management, but instead snapshotting the filesystem (ZFS) daily. This avoids having to perfect commit messages. Later, if needed, the ZFS snapshots can be converted to Git commits by a script.

    2. 1

      Thanks Thomas! True, for side projects, I always go main

      Leaving branches for my 9-5 😉

  2. 3

    Didn't read hour entire post, too long ;-)
    But to answer the question in the title - I write todo comments in the code in places that I know may become an issue at some point, but do not matter at this phase.
    This way I don't feel I'm compromising on code quality, I don't loose track of tech debt, and I don't waist time on things that do not matter.

    My IDE shows me all the todos in one place, so from time to time I revisit them to see if something becomes relevant.

    1. 1

      Thank you Dan for your reply :-)

      Good point and yes you'll find all sorts of @ todo in my code base already, aka our ultimate backlog.

  3. 2

    I guess the only thing to overcome perfectionism is to stop doing all things by yourself. Because this will sooner or later stop your project from scaling up. Better if you explore how to use a dedicated team and arrange a small pool of developers that will be helping you. Then you can make them be perfect if you wish.

    1. 1

      Yes, delegating etc. spot on, but not in the bootstrapped world, gotta do everything yourself 💫

  4. 2

    Great post 👏 The big list of domains resonates with me - we all have them . I think you just need to find that project you care about or maybe a partner who brings it - and off you go. Perfection is a good.

    1. 1

      Thank you Shay!

      Yeah I struggle to pick one and that amount of domains is really overwhelming. I'll have a good think about it and pick one to focus on.

      Great point - I'd love to partner up, especially with designers, as I mostly work on on under-the-hood / backend stuff.

Trending on Indie Hackers
How I grew a side project to 100k Unique Visitors in 7 days with 0 audience 49 comments Competing with Product Hunt: a month later 33 comments Why do you hate marketing? 28 comments My Top 20 Free Tools That I Use Everyday as an Indie Hacker 14 comments $15k revenues in <4 months as a solopreneur 14 comments Use Your Product 13 comments