Late last night Ivan Kirigin (founder of Tipjoy, now at Facebook) asked via Twitter why I still code. My tweeted answer was that I really enjoy it. On the train into NY this morning I have been thinking more about why that is and have come up with a bunch of reasons:
First, I discovered coding in the formative teenage years and at that time got deeply into it. I had the great luck that at age 15 a neighbor who was studying “Informatik” (Computer Science in German) took to mentoring me and giving me free copies of software for my Apple II. He insisted that I learn Lisp, which I did from this book (in German), which I still have.
Second, coding combines several other things that I really love. There is a bit of math, a bit of writing, a bit of puzzle solving, etc. But even better, they are all in the service of making something that other people can then interact with. That makes it more fun for me than say playing a game.
Third, in my work I often don’t know what I have actually accomplished in a day (or sometimes a week or even longer). Most of the time of a VC is spent in meetings/calls with entrepreneurs. And while those are great fun and (hopefully) ultimately productive, there are few immediately tangible results. With coding it’s the opposite, especially with agile/interactive development, the results are instantly visible.
Fourth, I admit to enjoying the degree of control that coding provides. Again, it is pretty much the opposite from being a VC. So many things happen to portfolio companies that are completely outside my control. Even what a company does is only something that can be influenced only indirectly by making a compelling case to the team. Come to think of it, coding is pretty much the opposite from being a Dad also.
Fifth, this is definitely the area of knowledge in which I have the most depth and breadth. Over the last 25 years, I have written three reasonably sized production systems. I studied Computer Science. I have coded in Assembly, C, C++, Java, Lisp, Pascal and PHP and I have toyed around in many other languages. There is a lot of joy that just comes from having a semi-decent grip on something.
Sixth, it never gets dull. There are always shiny new toys to play with. There are new machines, new programming languages, new databases, new deployment environments, etc. All of those are an opportunity to learn something new but also to be amazed by how much stays the same.
There are probably more reasons, but I have just reached Grand Central. Putting it all together though, I find that coding makes an ideal hobby for me. That’s also why the “still” in the subject of this post is in parentheses. It is really superfluous. If I can at all help it, I will never stop.