5
5 Comments

How to stop worrying about technology and actually ship something?

I started coding web app few months ago and it is coming along slowly but am constantly worrying about over architecting it and worrying about things that don't matter like scaling and the best technology choices and things like this. I am wasting lots of time and making myself frustrated. I know it's wrong but I can't make myself stop doing it.

Have you struggled with it? Have you any tips?

I read some hackernews posts that talked about how simple technology choices are the best and how overengineering prematurely is a big mistake. Seeing other people talk about it was helpful in making me understand to not do it. I can't find these links again do you know of any posts like it, or can you share any blogs or talks that can put some sense back in me? I've fallen back to my old ways and stuck getting out of it.

on February 5, 2022
  1. 2
    1. Over engineering can kill your product
    2. Things You Should Never Do, Part I

    These are my two favorite posts on this. Also, binge reading Joel Spolsky's old blog posts is not a bad way to spend your Sunday evening. You'd be surprised how relevant some posts are even though he wrote a lot of them in the 2000's. Hope this helps!

    1. 1

      Good posts! Joel has thousand posts on his blog are there some in particular that you recommend (doesn't have to be on this topic)?

      1. 1

        I guess it depends on your tastes and where you are now in the journey. Not to mention what you are trying to achieve. But I like the below few ones.

        Also there was a very cool post about FogBugz. I can't find that now. If I do find it later, I will share the link.

        PS: Obviously I haven't read all of his posts. So wander around and hopefully you will find something interesting. Cheers.

  2. 1

    I find that it can help immensely to timebox your tasks, so you give yourself X hours to do it. That can ensure you focus on the functionality itself and the value that it adds to your users, and not go into the rabbit hole of questions like:

    • Am I sure that I can extend this in the future?
    • What edge-cases should I consider?

    Trust your first instincts on how to build your feature, timebox it and go for it

  3. 1

    Quiting my day job was a huge source of motivation :)

    A less extreme trick I use is to time-box my projects. I say I'll work on this project for max 24hours and release, and I stick to it. I do the best I can do within that time period, that doesn't make me stop over-engineering but I can only over-engineer to an acceptable extent.