Why it took a programmer two months to build the simplest blog?

Why it took a programmer two months to build the simplest blog?

Hello and welcome to my blog! This is my first article and I can’t express how grateful I am you chose to spend some of your precious time with my written thoughts today. I don’t want to drag this introduction too much, so let’s proceed to the four important lessons I got in the process of creating the simple blog you are currently on.

1. Choosing the right tools for the job

Note: As of March 2024, my blog is no longer hosted on Webflow.com, but instead on Hashnode.dev. I have decided to make this switch for multiple reasons which don't fit the scope of this discussion. This section is still relevant, however, as the principle of choosing the right tools for the job is not invalidated by this change, in fact it's even more relevant!

“Give me a lever long enough and a fulcrum on which to place it, and I shall move the world.” - Archimedes

What our ancient greek friend is talking about is, of course, leverage. When you are a creator your efforts can be leveraged using proper tools that will allow you to do more, better and faster.

When I started working on my blog, I didn’t pay enough attention to the tools I was going to use. I researched briefly what my options are and I narrowed them down to three choices, those being WordPress, Webflow and coding something from scratch. The purpose of having a blog was to write articles, not code, so the third option went out the window pretty fast. With WordPress and Webflow left, I figured I should save some money if I can and also, who doesn’t instantly think “WordPress!” when they think about a blog? Well, fast forward three weeks later, many page builders tried and a lot of accumulated frustration, I was already regretting my decision.

I’m sure many people are creating amazing websites with WordPress and the platform shaped the internet of today, but for me, the experience was very bad. I tried pretty much all the page builders(the free versions, to be fair), and not one of them offered what I wanted: a simple visual solution that’s intuitive and lets you customize things fast. I am prepared to be criticized over the statement I just made, but this is how it went for me and I can’t report anything else other than my impressions. It was becoming obvious that more hours thrown at this issue weren’t solving it, so I had to cut my losses and start over with Webflow, which proved to be the right tool for the job. The page builder turned out to be close to what I was looking for and to my surprise, there were more than enough tutorials online to get me up to speed fast. That’s how I realized it’s easy for us digital workers to underestimate the tools we use because most of the time they are not physical objects and the quality can be masked behind a beautifully crafted landing page.

I learned my lesson now and in the future I will be more selective with the means used to get my desired outcome. I believe you should too!

2. Not valuing my time

There is another big reason that lead me to spin around my tail with WordPress for the first weeks, instead of going directly for Webflow, and it’s called not valuing my time.

Saving money is a great habit to develop and it will improve both your personal life and your business life, but I missed a key aspect of it. When you are adding up the costs, not accounting for your time is a big mistake. When I researched the potential tools to use for the blog my intuition told me that Webflow would be more straightforward and WordPress had a steeper learning curve(it wasn’t only my intuition telling me that, it was every article ever written comparing these two platforms!). What’s even crazier is that the cost of Webflow is not even significant considering I am a software developer and pretty much everybody knows we don’t work for peanuts. It was simply the practiced habit of trying to reduce costs wherever possible that caused me to choose the wrong platform for my needs.

I am glad I learned the value of using the right tools while building a blog for my coding experiments rather than discovering it later in life when I’ll have bigger responsibilities and with that, bigger consequences for my decisions.

3. Minimum Viable Product(MVP)

You already heard of it, but I believe the concept of “Minimum Viable Product(MVP)” is underestimated. In my arrogance, I thought I had a good grasp of it until I had to apply it and prove myself wrong. In all fairness, the definition says everything we need to know. A simple Google search yields the following:

“An early, basic version of a product (typically a computer program or piece of technology) that meets the minimum necessary requirements for use but can be adapted and improved in the future, especially after customer feedback.”‍

Please, read it again. And once more, for good measure. Do you notice how it mentions “can be adapted and improved in the future, especially after customer feedback”? I thought I did but then found myself trying to implement useless features that a newly launched blog doesn’t need.

At one point I became really frustrated with how long the process was taking and I set a deadline to get the blog ready for the first article in two weeks at most. These two weeks overlapped with a busy holiday-filled period so free time was not abundant, and that’s when a revelation hit me - “anything that is not needed for the publishing of the first article, is not part of the MVP and should not be implemented”.

Why would I need to spend time implementing the “search article feature” or the ”filter and order articles” one when my desired publishing rhythm is one article every two/three weeks? It will take months until the front page is filled and pagination will come into use!

After spending hours trying to design a banner for the front page and not succeeding, once again, I concluded that I don’t need one. It was eye-opening how much effort can be saved on the smallest details after I understood the purpose of a blog is publishing written content and there will be plenty of time to implement features as the need for them manifests. You have to be ruthless when you are rolling out the first iteration because people are willing to tolerate many obstacles if the value you provide(through your content or features) is good enough. On the flip side, however, the faster your product becomes public the sooner you will be able to collect real-world data from real-world customers, meaning you will then spend time developing only the features desired by the users, instead of what you think they want. This will not only save you time, effort and frustration but it will result in a better product for your users. Just to be safe, please read the MVP definition pasted above once more before you move on.

4. Even distribution of effort

We all know how important it is to put in effort over time, but I want to remind you to make sure your effort is being evenly distributed between the tasks you like doing and those you don’t. For me, design work is fun, even though I’m not good at it, which usually leads to me spending hours iterating through ideas until I finally land on something decent. This, however, gets me to sink way too many hours trying to get the perfect design at the expense of implementing features that are typically boring, yet useful.

This blog would have been finished at least a week earlier if it wasn’t for me trying to come up with the ideal banner for the front page, one that in the end was discarded entirely, as previously mentioned. Make sure this does not happen to you because it might make the difference between a launched product and one that’s abandoned halfway through because you ran out of steam.

Closing thoughts

I wasn’t expecting to learn so many universal principles just by building a simple blog and publishing it online. It now sounds silly to me the amount of time I spent on it, especially considering I am a software developer and even though I only have experience with backend development, I was confident the timeline will be much shorter. On the flip side, it’s encouraging to learn that you don’t have to take a lot of risks to gain valuable, real-world experience, and in conclusion, I suggest to everybody(technical person or not) to try something similar and see for yourselves how much there is to learn from the process.

I hope you found some value in this article and I also wish you will put it into practice as fast as possible!