Getting started in computers - My story
Excerpt from an interview I gave recently:
When I was a kid in school, computers were rare. The first personal computers came out in the late 70’s. Cheap calculators have more power than those original boxes. In the 6th grade I was in an experiments class in school that had a computer. Most of the time it sat at a “Ready>” prompt or running games that other kids loaded from cassette tape.
One day when I walked in, it was busy flashing a message onscreen. It said “Brent Pristas is a programming god” or something like that, and it had an animated box drawn around it. It took about 10 lines of BASIC code, but it was far beyond my simple means. I asked Brent, a 7th-grader, how he “made the computer do that.” He shrugged and said something about “4 loops”. And then he listed the program. I was in awe.
My dad bought a computer for his office. I don’t know if it was really useful there, but he used to bring it home on weekends. I didn’t do anything else on weekends after that. I taught myself to code, and then I taught my dad. It was a great hobby, and it was all-consuming. It was several years later before I found out I could get paid for it.
By the time I got to college, there was nothing I needed to learn. Or so I thought. I did learn plenty about the areas of computing that had eluded my interest thus far, like mainframes, (primitive) networking, terminals, microcode, and so on. I did pick up some stuff in data structures, statistics and finite automata. The really good stuff didn’t happen until grad school, where I learned about computability, operating systems, and some new thing called “C++”.
Most of this stuff just “made sense” to me, since I had spent most of my life, by then, exploring the inner workings of computers. But there were two instances where the real world crept in. The first was the ACM computing challenge. We formed a four-person team and went to compete against other college teams in a sort of a “computer brain bowl” of problem solving. We finished somewhere in the middle of the pack, with a respectable three out of seven problems solved. But it was really the first time I had written code under unrealistic deadlines. I didn’t think much of it then, but it turns out that’s how most code is written in the industry, so it really prepared me for professional life.
The other instance was a class, poorly organized and not very technical, where we all worked together on a class project for the school. We had a customer, we had assigned roles, and we had deadlines. What we didn’t have was a clue. But this class showed me (and the others, I guess) how it was to work with and rely on people who didn’t really do their jobs. It was a bit like living in Dilbert-land, but it was 6 years before Dilbert was born. As much as I hated it, this, prepared me for professional life much more than any of my technical classes.