Programmer on a Train

Remember the post about Japanese commuter trains? Well, now I write code in one. Shocking how far I’ve let myself slide. It’s not because I’m a dedicated Japanese working class warrior either. It’s been a couple months into my “new” job and even while it’s “new” I want a “newer” one. Adjusting to full-time work took a while. Now I’ve settled into the routine. I also get to see what a IT company is like from the inside out. Of course, I don’t know if this is the typical experience or not but I’m sure there are many similarities. One of the disappointing things about this company is that there aren’t any real superstar hackers at least not with my framework. I’m also working on a project that is a whole list of firsts for this fledgling company. I’m really not much of a programmer myself. Yet, I’ve still managed to reach the conclusion that this company isn’t where my future’s at. Not that I ever thought I did. I basically took the first job offer that materialized to gain industry experience. I may or may not change jobs in the near future.

However, I have gained enough confidence to know that I can hold my own with the mediocre code monkeys that inhabit the dark recesses of software shops. I’m pretty convinced that I can hang with this crowd. Let’s list some characteristics:

  1. They write crappy code
  2. Yet manage to have a major ego and opinion on everything
  3. It still takes them forever to write said crappy code

You see there are hackers and there are hacks. I guess I should have known. I was weaned on books, blogs and open source projects because I was trying to teach myself how to program. I had nobody to teach me right from wrong. Naturally, without knowing it, I set a pretty high bar of quality on what basic code should look like even if I didn’t have the slightest clue on how to write it. Well, the people who have the confidence to open source or blog about code are people who can write decent code. So it’s no surprise that once you go into the field that you’ll find your typical programmer who basically managed to survive by fulfilling bare minimum requirements drifting from job to job. One thing they did learn is to “SHIP IT SHIP IT SHIP IT!!”. One thing nobody ever told them is to spend some quiet time to reflect on how they could write their code more eloquently.

Just like you have harlequin romances and great classical novels you have hacks and hackers. Hackers can outclass an army of hacks in quality and volume but you wont find them unless you work for Google or the like.

So basically I walked away with enough confidence to know I can survive in this field and the realization that I’m just as mediocre as the next guy. The only way to overcome this is to type, type, type and so I will. The thing is I rarely feel like programming at home. I always drift off into something else (like blogging or surfing) rather than work on my own project. Yet, I came to realize the value of personal projects, the space to set your mind free from client requirements and experiment with whatever you see fit. The only thing keeping me at bay is this cursed invention called the internet that showers me with distractions. So I thought, “why not write code on the train?”. Yeah, a crowded Japanese commuter train no less. The beauty of my commute is that I ride a single line from start to end. That means I can get a seat guaranteed in either direction. So I bought a fancy back pack that holds a laptop, you know the kind with all the geek pockets that matter, and lug my computer on the train.

The fight for elbow room takes on new dimensions when you’re trying to program. Of course, people avoid you like the plague or just simply get hostile with you. There are some real benefits though:

  1. You’re forced to use keyboard short cuts (otherwise you can’t get anything done)
  2. No distractions aside from physical turf wars (no email, no internet, no nothing—oh, I also listen to music while I’m coding).
  3. A definite time limit and hence measure of productivity.

I’m hoping this exercise will make me more productive as a whole not to mention the additional practice I need to grow. I know people think I’m some kind of a psycho but that’s just the price I’ll have to pay.