I need to write more. There are various reasons for why a person should do more of his thinking using pen or keyboard, but I reckon my reason is slightly different than most people.
For most people, it seems like writing is an outlet to channel their thoughts and project it to the outside world. Perhaps they would like to become known for their literary capabilities. Perhaps it is their blogging skills, or notoriety they gain by saying something interesting or controversial. My reasoning is not that.
I think the reason I want to write more is so that I can slow down my brain. It is something that I have recently started thinking about. I think impatience is one of my foundational qualities. This has been both good and bad for me.
The fact that I am impatient allows me to fast forward the thought process of many people in my life, many times not correctly. I assume that they will say what I think they will say. And when that happens, I immediately counter-argue against that in real time. This can come across as very arrogant to people. If you want to know what I mean, think of the portrayal of Mark Zuckerberg in the famous hollywood movie The Social Network
. That’s how I can sometimes be. And it is exactly how people tend to dislike me.
But more than people’s dislike of someone who can jump to conclusions regarding their thought process, I believe it fundamentally means that when there is an activity I have to do that requires patience, it does not come easily or naturally to me.
I am talking about things like taking care of plants, or painstakingly hand-crafting some code just for the love of the craft, instead of thinking about the end result. Or just sitting in my balcony writing an essay aminds flowers blooming in a July summer here in Berlin. It is what I am doing as I write this, and it is quite a nice feeling. The blue sky with the last remnants of sunshine and faded white clouds, the sound of the helicopter in the background. My wife coming up behind me in the living room. The wind on my face. There is a stillness to me right now. And I like this kind of stillness. It is much better than the 24x7 chasing after goals and rushing towards the next ladder to climb. The rat race that I am a part of, even though I left India years ago, is still with me. That instinct to claw, chase, compare myself against others less or more successful in any aspect of life. It is intrinsic to me.
I think it is that instinct that fuel that burns the fire of my ambitious, for which I am grateful. But it is also something that leaves me restless, unable to think with clarity and purpose. The comparisons lead to distractions. I think somewhere along the way I forgot to follow my own lane. Which is something I think I used to do back when I was a kid playing video games while everyone else was out playing cricket. I think I was in my own lane when I watched hollywood movies, and decided to learn computer programming without even thinking of Tech job prospects. That was a more innocent time. And once I got good at it, it was something that sustained me.
I used to love programming. For no other reason than just that programming was cool. I don’t think like that anymore. Well, I still enjoy the idea of discussing systems with other people (see: https://berlinsystems.xyz), but I do not write code because I like writing code. I think that is a tragedy in my life. I have been slowly thinking about this idea since I started working through Thorsten Ball’s Book Writing an Interpreter in Go
. As I built the lexer, parser and eventually a tree-walking interpreter - I did that first in C++, and after I got tired of the mental gymnastics that need to happen when you read code in one language, and write it in another one that you are not an expert in, I re-wrote it in Go. And I found myself doing a lot of copy-pasting from the book to my own code.
Why was I copy-pasting? Shouldn’t good programmers craft everything by hand? Understand deeply every single line? Maybe. And therefore, maybe I am just not that good. But I think it was because I was impatient. I wanted to “get on with it” - “it” being the idea of learning how to build compilers. I do not want the Go programming language, and especially Go’s testing, to get in my way. This was a hobby side project for learning. Not “work”. So it should not feel like work. But it kept feeling like that. I think that’s why I resorted to copy-paste. I wanted the learning, but not the pain of struggling to understand a codebase or a system like my dayjob.
This idea was also re-enforced by Brad Pitt’s F1 movie that I saw yesterday with my wife and another friend. In the movie, Brad Pitt used to be a young, reckless up and coming driver who was destined for greatness. But after an accident, he went through a series of tragedies and his life was effectively a disaster. And somewhere along the way, he says, “I lost the love of driving”.
When I heard that line, it deeply resonated with my own love of programming. Thankfully there have not been many tragedies in my life (maybe because I am still as I write this, but I think I have seen a fair amount of bad things, but others have surely had it worse than I do).
Regardless, I want to bring back that love of the craft in my life.
And the answer to that is not going to come from Twitter or LinkedIn or at a Meetup. It will not come by speaking at conferences, or even talking about a book I am reading or reading academic papers. All of those are important things. But they are all.just.so.fucking.ancillary.
The ultimate thing in our craft - the most important thing - is to enjoy writing code. Yes, it can be a pain in the ass when things break. And it is irritating to work through dozens of dependency issues just to get to do that thing you like.
How can I bring back that joy? I am still searching for the right answer. I do not have it right now - it has become clear. So I need to re-train my brain to experience joy when I go through the activity of writing code myself. Building tests. Doing the boring things.
I don’t know if or when it will happen again. I really hope, for my own sake, that it does.