You procrastinate because you don't know yourself
Over the past three years I've been doing a lot of research on niche or long-lost ideas in computing. Computers are terrible, modern programming is even worse, and I want to dedicate a portion of my energy trying to find a better way of doing things.
I have learned a lot, found half a dozen promising avenues that are work exploring in practice, and with a monumental task such as reinventing the whole of computing, there are a myriad ways to try and tackle the complexity and make some headway. It doesn't matter, I want something that is large and crazy enough to keep me engaged for a long time, and that is different enough from my day-to-day work that it can feel like an enjoyable hobby. At this time, no one is paying me yet to reinvent the whole of computing.
The thing is, after three years of ideas, plans, concepts, I still have nothing to show for it. I don't want to commit to any of it. No, it's not because the problem is too large and I'm scared of it, and I should be dividing it up in smaller, manageable tasks. What is it?
When I was a teenager, fueled by boredom and copious amounts of weed, I wrote a toy operating system. I have been daydreaming to write another one, with 20+ years of experience under my belt, and I just can't do it.
When I was a teenager, my father and a friend of his got their hands on a laser gadget that was able to create a 3D representation of a physical object. In the early 2000s it felt like science fiction. They badly wanted to play with this thing, but the software required an hardware key, plugged into the parallel port to function, and they didn't have one. Since they knew I was a computer wiz, they asked me if I could do anything about it; I spent a large part of that summer learning about reverse engineering Windows software, until one day I cracked it. Their joy, their amazement and the high fives because I made a digital miracle, because I turned water into wine is a feeling I will treasure forever.
A few days ago, a client was experiencing memory issues on a project I have been supervising, and their programming team were unable to figure out what was going on. What started as a tracking down a memory leak, later turned into investigating a caching issue caused by some nginx configuration option, as well as discovering a 7 year old Firefox issue that caused it to behave differently to other browser engines. After 6 frenetic hours I was exhausted, and happy. Another mystery solved.
I've always wished I could advertise myself as a bonafide problem solver https://www.youtube.com/watch?v=NP4lrVIpbvo, the guy you talk when servers are on fire, rather than using silly titles like "senior software engineer" or "consultant".
Living beings enjoy comfort, and people, with their big brains and opposable thumbs, are able to go to great length to make their lives more comfortable. But what do you do when you are comfortable enough? One thing that living beings also enjoy is to be efficient, and at a certain point you hit diminishing returns: the effort necessary to reach a better life is just not worth it. (xkcd here)
In our modern life, we are on average pretty comfortable. If you have a job, friends and family, a hobby, or the treadmill of social media, to keep you busy when you're bored, ask yourself what really is missing to your life. If you don't have a job or are poor enough that you are unable to feed your family, procrastination is not even in your dictionary.
In our hustle culture, especially in tech, we constantly compare ourselves to more successful peers, those that juggle two side projects and find the time to write a world-class blog about their exploits. You look at yourself, only feel like watching TV or playing video games on your weekends, and feel inadequate. So you google "why do I procrastinate and don't start all the projects that I have always dreamed about?"