http://images4.alphacoders.com/270/27094.jpg

Cut the crap, and write some code

You don’t have to be Neo to start programming

When I was in kindergarten, my mother found out that there was no full-time computer lab teacher at my school. This was Austin in the early ‘90s, and we had a lot of parents who worked at tech firms like IBM and Dell, but kids were only learning how to touch-type. My mother and another woman got together and ultimately ran the computer lab full-time.

At some point, the city moved all the kids in my neighborhood to another school that was marginally closer, and my mother appealed to the school district for a transfer back to my original school. I got the transfer, probably only because she was a teacher there. At the time, I wanted to stay there, but I thought it was unfair that I couldn’t take a bus like the rest of the kids. My mother or one of the other parents who also managed to get a transfer, would carpool every day to get us to school.

At the end of every day, I waited in the computer lab for my mom to be ready to leave. I spent so much time in the labs, and around computers generally, that at times my teachers would even ask me for technical support. My story is probably a lot like many of my peers in computer science. An INTJ who knew he loved computers at first sight, and couldn’t learn enough about them. I was also lucky enough to have all the time in the world to spend with them.

I realized just how uncommon my experience was in middle school. Most kids had never had the same exposure to computers. I couldn’t believe that anyone wouldn’t know how to use Microsoft Word or Excel, or wouldn’t type at at least 50 words per minute (I was pushing 80-100 by the end of middle school). Most of the people I considered my close friends in high school were people I’d never met in person. I spent almost all of my time on the internet on IRC, forums, or some other pre-Twitter social network. In my junior year, I got a cell phone for the first time. I saved 7 numbers in it, one of which was my own.

I found programming earlier than most, I loved it, and I poured countless hours into it. But that’s not for most people. I spent my childhood in front of a computer screen. For most, that’s a tragedy. For me, it’s a guaranteed job when I graduate, and a passion I’ll never grow tired of. But you don’t have to be that dedicated to benefit from learning programming.

Fast forward a little ways to college. I was ready to drop the computer nerd thing, and do something else with my college career. I was accepted to the University of Texas as an undeclared Liberal Arts student, where I bounced around between a lot of different theoretical majors within the Liberal Arts department, without ever picking one. Philosophy, psychology, economics, government. They all interested me at one time or another, but ultimately I couldn’t see the path to a career with any of them.

I truly value the time I spent in the Liberal Arts. I read Nietzsche. I translated the Aeneid. I wrote essays every week. I learned about Maslow’s Hierarchy of Needs. I even had a class where I role-played in ancient Athens, and delivered persuasive speeches. It was fun. I used to answer questions from my professors all the time, and even get in animated discussions with them in the middle of class if I disagreed with them. I’ve never had such an engaging classroom experience since switching to computer science. I’ve often thought back on this, and wondered if I made a mistake by leaving.