Programming Innocence

Warrior Sketch

I’ve been programming for a long time. When I first started programming, I would spend as long as I humanely could on the computer writing code. Sure, my code sucked, but I was having fun, and I was learning a lot.  Over the years, this programming innocence left me.

The one true thing that can strip a programmer of his innocence is fear. Fear of not knowing the best way to do things (best practices). Fear of not using the right tools and languages. Fear of errors (especially compiler errors). Fear of schedules. Fear of publicity (what will other programmers think about this code?).  I suspect that all programmers experience those fears in greater and greater amounts as they become better and better.

Programming innocence is a powerful thing.  When reflecting about this topic in my head over the past week or so, I immediately began thinking of the best programmers I know. What do I respect about them? What makes them so great? I believe that in most cases, their greatness can be directly correlated to their innocence. The best programmers I know are the ones who naively charge into battle: fearlessly removing code, spending days in complete isolation getting a prototype hacked together, ignoring all critics and outside influences. These guys are my heroes. They code ruthlessly in order to solve their problems. They yield for nothing.

So how can you regain your programming innocence once it has been lost?

Just Say “fuck it”

  • Found a more efficient way to write your code? Implement that shit! Don’t make yourself worry about all you have to learn, just learn it. Code can be enhanced over time, so don’t worry that learning new things in the future will waste your time now. Every time you write code, you grow.
  • Worried that your library / programming language / etc. will be outdated in the next few years? Don’t be. Think agile. When things change, change your code with it.
  • Feeling stressed out by that deadline? Fuck it. You are a hacking god. If you stare at the computer hard enough, the code will practically write itself. Be confident in your abilities, and never be afraid to completely isolate yourself from the world, and code like an animal.
  • Do you worry what other programmers will say about your code? Don’t let that stop you. If other people have a problem with your code, have them send you a pull request.

The moral is: when things bring you down, instead of letting them best you, remain innocent. Hack your heart out every day, and don’t forget that the only thing that really matters is how much fun you have along the way.