In software development, when learning a new programming language, the first program you usually write is a Hello World: It consists of printing the phrase Hello World! to a terminal.

It looks something like this:

1$ Hello World!

This is the story of the most delayed hello world I’ve ever written…

A Context of Procrastination

Ever since I was a kid, I’ve loved writing. I remember imagining crazy worlds and quirky characters for my school essays, often getting lost in the flow of discovery writing (though I had no idea what that was back then), eager to see where the story would go.

During a summer vacation, after I finished all my homework for that break, my father gave the assignment of writing an essay on “The relationship between cows and Ferraris”. It was just an excuse to stop me from spending the whole day watching TV - and probably the silliest topic he could come up with - but I had a blast imagining a world where some engineers at Ferrari made a major breakthrough and invented an engine that ran on cow dung.

Many years later, I studied computer science at university, and I quickly discovered that one of the best ways to get started with some obscure technology was to read a blog post detailing how to setup a working environment - a hello world. That gave me the idea of writing my own blog, where I could share my own setups, concepts, and thoughts. At least, if nobody read it, I’d still have my own library of tech tutorials.

This was 6 years ago.

Some years after first having this idea on the back of my mind, I went to study abroad and I thought “This will be it! I will finally have some time to start writing!”. That’s when the name Logicand was born. During that period, I only bought the website domain.

I few months later, I graduated and decided to take a vacation before starting my professional career. Again, I thought “This is it! I will finally start Logicand!”. During that time, I wrote the first version of what became the source code for this website.

About a year later, I moved to a different company and took a small vacation. Again I thought “This is it! I will have some time to start my blog!”. Instead, I ended up rewriting websites’s source code in a different framework.

The idea to start writing lingered in the back of my mind for a while until one day, while waiting to get a haircut and feeling bored, I opened my notes app and simply jotted down some words on how long it actually took me to get started. That note sat untouched for months, but it planted the seed for what became this post.

A few months later, I noticed an inconsistency in the Portuguese youth IRS system and I tried writing about it. That essay quickly got so technical and overcomplicated that it became a burden not only to write, but also to read. Then the government released a statement fixing the issue, and I lost all motivation to keep writing.

Finally, earlier this April, I was invited to give a workshop on blockchain. I needed somewhere to host the materials for the lecture, so I took the source code I had for this blog, added a lectures section, wrote the page for the workshop, and deployed the actual website.

After 6 years, Logicand was finally online!

All it took was for me to have an real deadline.

Why did I take so long to do something I enjoy?

There were several aspects I think contributed to this long cycle of task delay - a pattern that shows up often in other areas of my life too. It all starts with the fact that I’m a perfectionist. At one point, I practically had the outline for the post embedded in my head, but my vision was so idealized that I knew writing it would be an enormous task before I even began. That lead me to an endless cycle of procrastination.

And then, insecurity entered the equation:

💬 Thought

What if I could not realise my vision?

What if my writing is actually terrible?

What if the entire premisse of this post is just mediocre?

These intrusive thoughts - in conjunction with the amount of work I knew was needed to realize my vision - were a gigantic motivation killer. Why would I go through so much work just to fail miserably? So I postponed getting started.

For months.

Looking back, this has been a major roadblock throughout my life. There were many ideas that didn’t see the light of day, not because they were not worth pursuing, but because there was no outside pressure to implement them. Why would I go through huge amounts of work for something that might not succeed?. “I will do it later, when I have the time” or “I will do it after this other thing is finished”. I’ve had these thoughts so often, that I now find myself sitting on a pile of dead ideas.

This changed with a slight mindset shift. I cannot precisely state of what caused it because it was not a moment, but a process, which is hard to recognize without looking back at the path you already traveled.

The slow process of accomplishment

There is a simple but powerful idea, popularized in the habit building community by James Clear in his book Atomic Habits. It states that before mastering a habit, you have to master the art of “showing up”. This consists in setting the minimum steps to complete the most simple version of the habit.

Here are two classical examples:

🔍 Example

Habit: Working out

Minimum Steps: Change to the workout clothes and do 10 push ups

🔍 Example

Habit: Meditation

Minimum Steps: Sit on the floor and set a timer to 1 minute

The goal here is not to progress the habits themselves, but to remove the friction we associate with doing them.

There is a common saying:

💬 Quote

The hardest part of working out is leaving the house and going to the gym. Once you are there, things are actually fun!

The showing up principle takes advantage of that psychological fallacy by making it easier for you to go to the gym, so that you can exercise once you are there. Or not, if you don’t feel like it. But at least you detach the idea of going to the gym from that of a very tiresome workout.

When I started experimenting with this idea and applying it to my own habits, I noticed something interesting: I also started applying it to other aspects of my life, like work. “Preparing a big presentation” became “opening PowerPoint and drafting some slides” and “writing a report” became “drafting some ideas in my notes app”.

It is funny how the iterative development approach we are used to apply in software engineering is the opposite from how my brain was formatted to operate in other daily tasks. And like that, slowly, I started taking my imediate work less seriously and worrying less about how perfect my final outcome had to be. My quality oriented mindset started shifting from “I know how to build this perfectly, but it will take a lot of work” to “I will dump my ideas now and refine them later”. That’s when something impressive happened: I got really good results!

Eventually, I realized that not overthinking the outcome, and simply trying to give some tangibility to my thoughts is a great way to relieve the pressure of getting started.

🔑 Key Takeaway

Not overthinking the outcome, and simply trying to give some tangibility to your ideas is a great way to relieve the pressure to get started.

Naturally, I applied this principle to my writing aspirations and something unprecedented happened: I went on vacation and I was actually eager to start writing. I had a million other things I could be doing - like going to the pool or having a walk in the woods - but all I wanted was to write. I felt like I recovered a long-lost passion. Although this inspiring view probably helped:

Inspiring hillside view

When I actually got started, I rediscovered that writing is very hard: communicating your thoughts in an articulate manner that is engaging to others while invoking the reflections you intend to, is incredibly challenging. But is also a very rewarding creative process.

I find it funny that the process of writing this post ended up teaching me an important lesson, which is already a victory compared to leaving it in my mind.

And it was not as much work as I thought it would be.

It might not be perfect. But its real.

Hello World!