Why I’m a Programmer

I’ve been thinking a lot lately about why and how I chose to be a programmer. In doing so, I discovered an interesting fact: as of next week, I will have been writing software for more than half of my life. That actually makes figuring out the original decision process somewhat difficult, because honestly I don’t have too many memories that predate being a programmer.

Perhaps this sheer volume of time illustrates rather poignantly how great programming is. When I first started programming, I was 10 (let’s not count writing HTML and copying and pasting Perl scripts around from a few years prior to that, since that only barely counts as programming). Within several months, I had released my first open source project with some 20,000 lines of code for the world to see.

Now granted, I’m sure that was 20,000 ugly lines of code. But it worked, and felt magical. Where else can a child create something with as much intrinsic value as a full-fledged bulletin board in under a year with no prior experience, and no mentors or teachers except the open wild internet, and then have people make use of it to boot?

Fast forward a decade and the mystique persists. A rough count suggests I’ve personally written and shipped several hundred thousand lines of code in my life, and written a hundred thousand more that’s never seen the light of day. More interesting than lines of code, though, is that software I’ve directly written has helped people capture tens of millions of dollars of wealth. It’s been run on hundreds of millions of computers. Some of it has been invoked hundreds of billions of times.

To put this in perspective, if I had chosen instead to be a lawyer, or doctor, or some other “accredited” profession, I very likely would’ve helped a grand total of zero people in my career thus far, and couldn’t for another five or so years given that I (likely) wouldn’t even be in law or med school yet.

What intrigues me most about programming is the ability to work collaboratively, yet achieve things individually. This is fun because individually you can punch out a simple web app in a weekend given a well-defined idea of what you’re building, and then grow it to the next level as a team. Perhaps more importantly, though, the ability to work individually allows you to practice and iterate at a higher level than professions that revolve around collaboration.

Stripe co-founder Patrick Collison said it well:

If the same person is designing and implementing, the feedback cycle takes place within that person’s head. Even if product managers have equally good ideas, they’re likely not able to experiment with as many of them.

I think this is an oft-understated aspect of programming, and not just in the context of product managers and engineers. People like to debate whether programming will become an intrinsic skill like math or language, or if programmers will continue to be their own profession. Arguably as more and more industries depend on data-driven decision making, from science to marketing to finance, a specialist who also knows how to write code will simply be able to practice more efficiently – and therefore get better at their specialty – than one who doesn’t.

When you think of it that way, you could argue that “being a programmer” doesn’t really exist, outside of maybe research. Writing the code is the easy part. I’d say code flows from my brain more fluently than English does. Laying out data, organizing code, and writing sequential logic statements is just something I do, like washing dishes or riding a bike. My actual job is building products that help people get ahead. That’s the hard part: understanding requirements, determining what people need and want, and taking it from vague idea to production.

But the programming half of it sure is fun. And in writing this, I hope that maybe I can inspire someone who has considered learning to code to get out there and do it, especially in a market that’s begging for it. Start writing code, open source it, and don’t be afraid to make mistakes along the way. If you need any help, get in touch.

11 Responses to Why I’m a Programmer
  1. Ashly Katterjohn

    After research just a few of the blog posts on your web site now, and I actually like your way of blogging. I bookmarked it to my bookmark website checklist and will probably be checking back soon. Pls try my web site as nicely and let me know what you think.

  2. Goose

    I blog frequently and I truly appreciate your content. The article has truly peaked my interest. I am going to book mark your website and keep checking for new information about once per week. I subscribed to your Feed as well.

  3. Kerstin

    Your post is really well written and insightful. Glad I found your website, warm regards from Kerstin!

  4. Sergiu

    After reading this article, I realized that you should definitely write more often on this blog, Nathan!

    +1

  5. Nathan

    Thanks Sergiu! I’m hoping to start blogging more this year, but we all know how those plans turn out.

  6. Tomas

    Programming is cool and spending lots of time in front of computer is nathan wong (sorry, I really wanted too).

  7. Mitch Davidson

    Thanks for the post. I’m a “regular guy,” 33 years old, that is planning to soon start learning Objective C to create iOS apps. I appreciate you taking time to explain the enjoyment you find in writing code and programming.

    MD

  8. Shane T

    Great article. Very inspiring.

    Really like this part,
    “To put this in perspective, if I had chosen instead to be a lawyer, or doctor, or some other “accredited” profession, I very likely would’ve helped a grand total of zero people in my career thus far, and couldn’t for another five or so years given that I (likely) wouldn’t even be in law or med school yet.”

  9. Virendra Rajput

    Nice one!!

    I ve felt the same, but could never express it in words!!

  10. Ben Holland

    Great article.

    I think that programming will become an intrinsic skill like math or language. I have friends in various other professions (engineering, medicine, HR) that are starting to have some aspect of coding added to their job.

    I only fear that programming will become a chore for some. All programmers I know do it because they love it, not because they have to.

  11. Kevin

    Hi Nathan, great post! It was in a way very recognizable for me. On top of that you provided me with some nice insights.