The creator’s dilemma

When I decide to create something, I always end up overthinking my decisions. For example, recently as I was trying to build a web browser, I wasn’t able to settle to any one method of going forward. Instead of actually coding stuff, I spent a majority of my time just thinking about the right way to do things.

When you are building a web browser, what are you really building? By a web browser do you mean the HTML and CSS renderer, or the JavaScript engine? Which language are you going to implement it in? What if somebody has already done it? These questions are easy to answer, but time and again I see myself reaching back to this part of my brain.

Some harder things to decide are what is considered as cheating? Do you want to learn everything from first principles? But if you have already done something similar before, can’t you just use a library to do that for you? But what if that library doesn’t do exactly what you want and also adds a lot of bloat to the project? When you are building a web browser, do you also consider stuff down to the network layer? Or do you just abandon your web browser project and start making a network stack? Haha.

The typical solution to these issues is to just start: works 100% of the time. So whenever you are building something and your mind drifts to the shiny new thing, or you start to overthink your initial commitment, just tell yourself that this phase is absolutely normal and that you need to move past this phase. Then, proceed to do actual stuff and as soon as another question pops into your head, just eliminate it (I don’t know how, but just try to stop thinking about the question).

Doing actual stuff doesn’t mean not planning. Planning also comes under doing stuff. But make sure you are moving forward. Directly jumping into the code without doing any research is also bad. There is a fine line between planning for work and planning for filling up time.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s