Learning new tricks, relearning work, play difference

Published: Friday, January 08, 2010

You can subtitle this one, "Old dog learns new trick."


I had a new project throw me a curve ball this week and it reminded me of someone I used to be. I've spent the past few years doing the Web site equivalent of meatball surgery - hundreds of little problems that had to be fixed quickly and rushed out the door. And frankly, as long as the patient didn't bleed to death, the work didn't have to be too pretty.

Now the whole tone and pace of my work has changed. It's like taking a guy who's been doing first aid for four years and suddenly plopping him down in the front row of medical school. This week I had to step back and focus on the fundamentals of computer programming, something I haven't done in years.

I was struck by how daunting it was, to start from the beginning and learn the fundamentals of something I had only skimmed the surface of before. At first I was overwhelmed. I had fallen into a comfortable routine with previous projects, staying largely within the bounds of things I already knew. I never had time to dig and learn new technology, so I learned to make do with the tools I had.

I started working through some tutorials and flashed back to the first computer I ever owned, to the first program I ever wrote. It was a three-line program for the TRS-80, written in BASIC:

10 A=A+1


30 GOTO 10

This was a simple counting program that would go on forever, counting up numbers as fast as the computer could go. In the early days I used this as a kind of rough speed test, judging how fast a processor was by how far this program could count in 10 seconds.

I used versions of this program in six different flavors of BASIC over the years. I wrote the last one for Microsoft QuickBASIC in 1992.

Then, a couple days ago, I learned how to do a version of it in PHP. I was about to try it on a test page, then I realized that this program wouldn't just be running on my local computer; it would be running on a giant cluster of computers that didn't technically belong to me.

When you lock up your TRS-80 you can just hit CTRL-Break, but try the same trick on an enterprise web server...

I realized what I had almost done and started to laugh. Something important happened in that laugh. I wasn't just a struggling middle-aged techie trying to keep up with new technology anymore; in my heart I was 14 again, itching to test the limits of this new toy.

Think of them as points on a graph, two points in a line between a fear of new things and a love of new toys. All human progress happens on that line. This is the difference between doing something and loving something. This is the difference between work and play.

This is the secret to all great discoveries, I think. To a scientist, the physical world is just a big box full of toys. The Large Hadron Collider is just a billion-dollar swing set, with hundreds of researchers lined up to take their turn.

This is the real difference between work and play. My favorite example comes from web comics: this is the difference between Dilbert and xkcd.

xkcd is a web comic devoted to the best of geek culture -- celebrating the pure, childlike love of knowledge, wordplay, technology and math.

I connected with that spirit this week and reconnected with a younger version of myself. It's a chilling experience, to wake up and realize when you've been in a mental rut. I'm not even 40 yet, but I was already starting to think of myself as a finished product; leveraging the skills I already have, shying away from new ones. It's a steep slope and at the bottom you get a one-way ticket to the Land of Old.

I'd heard the clich for years, but this time I felt it, the mental switch from work to play. One second I was intimidated by this mountain of new knowledge and the next, I was exhilarated by the possibilities of what it could do.

The trick is to stay there, to fight the inertia that comes with a daily routine, to fight the fear that rises up when we confront new things, and to ignore the inner voices that say we're already too old.


