Finding my Career in Computer Science; Busy Beavers and The Hacker Jargon Lexicon
When you’re a decently smart and motivated kid in high school your opportunities are infinite. That’s what people say to you anyway.
You can become anything you want, as long as it makes good money, and it matches your strengths and weaknesses (fishes can’t climb trees and all that), and the colleges you can get into have a good program for it, and you can afford to go to that college, and you don’t quit because that would be a waste, and if you don’t find something you’re kind of screwed, and if you do find something but you end up hating it you’re also kind of screwed, so just make the right choice in high school and you’ll be all set!
I was lucky enough to have navigated that minefield and somehow made the right choice. I found my passion for computer science in high school… when my school didn’t offer any computer science classes. Lucky for me high school is actually quite a bad place to figure out what career you ought to have, and I was forced to search elsewhere!
There were two forces I distinctly remember - both of which would have been easy to overlook as omens - which led me to emphatically pursue my career and not look back.
- The Computerphile YouTube channel
- The hacker jargon lexicon (not kidding)
I encountered these two sources of inspiration simultaneously, and for the same reason — procrastination.
I binged the Computerphile YouTube channel (an extension of the more popular Numberphile channel) one night in the spring semester of my senior year of high school while procrastinating on some homework, and, googling one of the older technologies mentioned in one of the videos, I stumbled across the lexicon page, where I read almost every single entry over the course of a week.
I thought to myself:
“If this is what I’m watching and reading to procrastinate, then maybe I should just… study this stuff! That way it wouldn’t be procrastinating anymore”.
And this isn’t one of those I had a vague feeling in the past and now I’m explaining it lucidly with the benefit of hindsight quotations. This was literally a thought that I had to myself at 2:00am on a Friday morning after getting lost in a playlist of videos about computer memory, the C programming language, and busy beavers:
I remember it so clearly because it caused me to change my application to Northeastern University from College of Engineering to College of Computer and Information Sciences the very next day.
I always thought an “A Day in the Life” video series would be awesome for high school kids to figure out what they might do with their careers. It would be a catalog of videos about the daily lives of people in any field, kind of like the TV show Dirty Jobs with Mike Rowe, but for other, less dirty jobs.
Computerphile served that “A Day in the Life” purpose for me. I saw computer science professors and graduate students discuss problems and technologies they were passionate about in a real, everyday kind of way; not aggrandizing their work, just humbly explaining it.
It made computer science feel like home – kind of warm and cozy with elegant solutions, friendly people, and cool accents.
The Lexicon was a different beast entirely.
It introduced me headfirst into the hacker ethos; distilled, raw, and unapologetic. Lots of internal links explaining this strange ism with that one. Lots of short, witty, quizzical “definitions”. Lots of outdated references to legacy machines, legacy technologies, and legacy people. For me it painted a vivid picture of lots of typical (or maybe atypical), brilliant hacker minds wrapped up in stupid flamewars and online dungeons and terminals and punch cards. Stale air and stale coffee, but fresh and fierce opinions, and no time for inefficiencies.
Acking, grokking, grepping, barfing, chrome, globs, thunks, kluges, lisp, foo/bar, and most importantly, the true definition of hack are all quotidian now. It also taught me what a real programmer is:
A Real Programmer [is someone whose] code can awe with its fiendish brilliance, even as its crockishness appalls. Real Programmers live on junk food and coffee, hang line-printer art on their walls, and terrify the crap out of other programmers.
And even though I didn’t want to embody some slovenly, antisocial geek, there was a part of me that was endlessly fascinated by this caricature, and I felt like I could see myself taking baby steps in that direction, maybe learning Lisp or taking a stance in the emacs/vi(m) holy war.
Internalizing the lexicon wasn’t just for fun, it also provided me with real utility over the years. If you are an experienced programmer and scan through the glossary you will realize there are tons of phrases you merely take for granted, but which would come off as completely bizarre to a newcomer. This is probably true of any profession - I’m sure carpenters have an entire vernacular which is equally complex - and I’m sure I would have picked up everything I needed slowly over time, but I got to learn all of these things before even studying computer science at university! It seriously felt like I had superpowers when I knew all these insider terms while other students were left bewildered the first time a professor asked the class to grep for something.
Learning the lexicon allowed me to be in the club, to utter the shibboleth, and to belong long before I really had any right to. It seemed to be a mystical text, revealing the secret gnosis of the real hackers. Where Computerphile gave me a sense of the vastness and familiarity of computer science, the lexicon gave me a sense of the arcane, mysterious, and rich history of the field.
I’m grateful to have had the experiences I did, and to have listened to and interpreted the subtle hints of my own nature. I’m also grateful I did so much procrastinating in high school, otherwise I probably have ended up as some kind of real engineer, not a hacker.