Like many software developers, I occasionally take a peek at Hacker News and look for the odd headline that catches my eye. Like many people my age, I spent a lot of time playing text-based and point-and-click adventure games on a PC in the 90’s. Recently, there was a serendipitous collision between these interests when I found an article posted to HN related to the Sierra Creative Interpreter, or SCI, which was the scriptable game engine used to develop many of the classic Sierra adventure games.
The article is about a decompiler for the SCI bytecode that a fellow fan has put together that is able to annotate the generated source. I recommend taking a look if you enjoyed those games and are interested in the technical details behind them.
The write-up contains several interesting details about the technology and history behind these games. Among them is a link to an interview with Jeff Stephenson, the man responsible for creating the SCI engine.
The interview was interesting to me for a number of reasons. For one, I enjoyed hearing the story of someone whose career trajectory seems similar to the one I am currently on. It was also interesting to hear that Mr. Stephenson himself was not much into the games developed using his engine; for him, the real fun was the challenge of developing the software on which they ran.
Towards the end of the interview, the interviewee is asked to give any words of wisdom he has from a life in the software industry. His response was in two parts. First, he talks about being able to have a career in which he was able to do what he wanted to do,
I’m always amazed at what a good ride its been in a sense. And I was just doing what I wanted to do, by and large. I see people going to school to study computer science because, well, that’s a good profession, and I’m like well, I’ve never taken a computer science course in my entire life, and I just learned it because I loved it and I read a lot of books and that. And it’s like, I hate seeing people that are doing it because it’s a profession instead of a passion.
Jeff Stephenson, March 2021
Personally, I’m not going to make any general statements about the reasons people get into developing software. If you’ve got bills to pay, and you can pay them by writing code, I can’t find any fault with that. I can relate, however, to his feeling that programming, for at least some of us, is something you do because you enjoy it, and that a career in code can be a career of doing what you love.
The second point, which I find even more relatable, is a reminiscence about reading in a book someone relating that “so many of the good developers that he’d hired had been English majors,” and that what makes a good software developer could be less like what makes a good engineer and maybe more to do with being able to put a massive amount of logic into an organized structure, similar in at least some ways to how a writer organizes thoughts into an essay or characters and plot into a story. I’ve written before about the relationship I see between coding and writing, and it is nice to get a little confirmation of my intuitions now and then.
I haven’t posted anything in a while, because I’m a slow writer, so I’m going to go ahead and put this one out without trying to make it into something larger. I may try to do more of this shorter, looser kind of writing, more of a shell script that you bang out in a few hours than a program that you laboriously work on for weeks.
Leave a Reply