How I Became a Python Programmer – and Fell Out of Love with the Machine

The difficulty with any new programming language is the steep learning curve, all the drudgery and banging your forehead into the keyboard. There was no Codecademy or Stack Overflow back then. We bought books from O’Reilly and No Starch Press. I bought Learn Python and skimmed the first few chapters, but I didn’t have a project to motivate me. Without something to obsess you, you will never learn to code.

I didn’t have much time either. Running a restaurant kitchen is a time-consuming and life-consuming activity. After another year, I was burned out. I scraped together all my money, bought a plane ticket and set off to get lost in Asia. Hey, it worked for the Beatles. Somehow.

One day I decided I needed more music from the great jazz guitarist Django Reinhardt. I went to the internet cafe under my guesthouse in Bangkok to look for it. The problem was that the keyboard was of course Thai. I was able to change the layout in Windows Settings, but the symbols on the keys were still Thai. I thought “Django” was such a distinctive name that it was all I needed. (This was before the Tarantino film existed.) I typed it in and sure enough, Reinhardt was right there in the first few results.

But what caught my eye was a website for something called Django, “the web framework for perfectionists with deadlines.” I had no deadlines, but perfectionist? I can’t tell you how many times I played around with tabs and spaces to make sure my handwritten HTML was properly indented when viewing the source. Was there possibly a web framework for people like me? Tell me more.

It turned out that Django was a Python framework. If this were a movie, there would have been a poorly animated sequence where Aaron’s face cut through a cloud of Southeast Asian travel haze and said: Learn Python. Learn Python. Six months later, back in Los Angeles, a friend asked me to create a website for the cycling charity Wheels4Life. I agreed to this on the condition that I use Django. I had a project.

This website turned out well. It led to another. And another. Eventually, I had a small business building Django-based websites. It took a few years, but I got comfortable with Python and got to the point where, given a problem, I could find a way to solve it.

But what surprised me: I never went deeper. Never wanted to. Python falls off about the middle of the stack, but is unique in its ability to move in both directions. You can work at the highest levels of abstraction and spit out HTML websites (Django’s specialty), but you can also get closer to the machine via an API that lets you import C modules. With Python I could build anything I ever wanted to build. At a certain point I realized I wasn’t even thinking about the stack anymore. I was just thinking about the possibilities.

I was at the first Django conference, ostensibly covering it for WIRED, but I was also there to meet the founders and learn from the community. What I found was a welcoming group of fellow nerds and programmers all working together to solve problems and build cool stuff. It was all very specific. Tangible. Even when it emerged from abstractions.

To say that we live in an age of abstraction can be derogatory. The word implies an excessive distance from the basic truth of things, and we tend to view this – often rightly – with suspicion. But it seems to me now that the drive to de-abstract everything to get to the bottom of the pile is an urge of yesteryear. The bare metal can be wherever you are, in the language of your choice, in your community. That’s where you build your world.

Sharing Is Caring:

Leave a Comment