How I got started programming
Jul 2nd, 2008
The lovely and talented Anne Kate Halsall has asked me to tell the story of “How I Got Started Programming”. There is a particular form to this meme, I will do my best to follow it.
How old? I was ten when the Hippies taught me to write code.

How did you get started in programming?
For two years, my family lived in Portland, OR. My father, who usually worked for the Federal Urban Mass Transit Authority in DC, had agreed to move to Portland and help them redesign the bus system for TriMet.
It was 1979. The Hippies were a very powerful force in Oregon, and they had figured out that to stick it to The Man, they needed seize the means of the production. And it was becoming clear that computers were going to be an important tool of The Man. And so, the Hippies sent a bunch of kids down in the basement of the Oregon Museum of Science and Industry (when it was by the zoo) with a dozen Commodore Pet computers and a man who worked with computers at the telephone company.
Now, my father is more like The Man than he is Hippy-esque, but he also saw the writing on the wall. So, he signed me up for the class.
What was your first language?
The guy from the telephone company taught us BASIC. He was a little overweight and had a lot of hair. At the beginning of the class, he would give us the text of a program that did something simple, and we would type it in. (How did he give us the text? Smelly blue mimeographs. Can I take a moment to say that the Xerox machine was the most delightful invention of the modern era?)
After we had typed in the program, we would start to tweak it. And this was the part that stressed the guy from the telephone company. You can imagine: he was probably learning just enough each week to make the mimeograph, and during class he would have a dozen kids yelling deep questions.
What was the first real program you wrote?
My brother, Moses, is mentally and physically handicapped. My father was always concerned about what sort of job Moe could hold down. Around this time, he had hired teams of people to do phone surveys about TriMet. The interviewers used complicated forms that said things like “If they answer A, go to question 18. If they answer B, go to question 32.”
One day, my father said to me, “Aaron, if we can get these forms onto the micro-computer, we could make it possible for someone like Moe to do the interview. Could you write that program?”
“Sure, no problem,” I said, but I was really nervous about it.
My school had just bought an Apple 2. In the evenings for several weeks, my father and I worked on this program together. At the beginning, I taught him about BASIC, but his skills quickly surpassed mine. Together we wrote a program that would allow just about anyone to do telephone surveys.
It is difficult to express the sense of pride that came from working with my father on this task.
What languages have you used since you started programming?
I have been paid to write code in C, sh, matlab, Mathematica, C++, perl, Objective-C, SQL, Postscript, Eiffel, OQL, CLIPS, Java, PHP, and Python. (Those are basically chronological.)
What was your first professional programming gig?
When I started college, I was a music major. After my freshman year, I had the worst summer job ever: I was answering telephones for the USAir Frequent Flyer program. The night shift. At 4 PM, I would pick up the phone and get screamed at by an unhappy customer. I would calm them down and say, “Please send a copy of your boarding pass to this address…” And then I would pick up another screaming phone call. This soul-deadening process went on until midnight.
One of our oldest family friends was a mathematician at the Advanced Signal Group at the Mitre Corporation. As I was headed back to school, I asked him, “George, do they ever hire people my age at Mitre?” And he said, “We always need people who can write C on Unix.”
Well, I stomped across campus and into the office of the Electrical Engineering building. After finding someone with authority, I began “I need access to a Unix machine with a C compiler.”
The befuddled professor asked, “Um…you are an EE major?”
I replied, “No, I am a music major. But I pay my tuition, and I feel the computers in this building should be available to me. This year, I am learning to write C on Unix, and this college is going to make that possible.” I gave him that look you give someone right before you start a riot.
“We can get you an account on the VAX,” he suggested.
“No. No. No. It must be Unix. You must have a Unix machine in this building.” I looked around the room, but kept it unclear if I was looking for a Unix machine or just things that were flammable.
Twice a week, I would go into the dark, little room where they kept the Sun 3. They gave me a login, and I learned to write C code on a Unix machine. (Incidentally, this is where I got my first email address — and that was 20 years ago.)
That summer, I got a job at the Advanced Signal Processing Lab writing speech processing code — in short, the best summer job ever. Today, I still spend a lot of time writing C on Unix.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Daniel Burnham said, “Make no little plans. They have no magic to stir men’s blood.” My advice: Do not underestimate the importance of regular blood stirring.
Added later: I was poking around some other people’s stories, and found that Giles Bowkett used the same damn quote on the same damn question. I’m changing mine to “Don’t eat the yellow snow.”
A special thanks to Anne Kate Halsall for including me in the fun.
Wow,
Started on a PET and then stright to UNIX? Sounds like fun. Ironically, Apple was not involved early on.
Thanks for sharing.
I LOVED these stories! I am reading Writing About Your Life by William Zinsser. You have his gift.
A very enjoyable read. My first computer I ever used was the Act Sirus CP/M machine and then programming Basic and Machine code on a BBC Micro home computer. Ah memories….
Very inspirational, thanks Aaron!