During my freshman year at college, a number of the first floor residents in my dorm gathered to watch a movie. I don’t recall the movie; it was probably Speed. I wasn’t really in the mood to watch anything, so the moment the computer in the room opened up, I jumped on and logged into my VAX account. The computer was not free for the rest of the movie.
I had been tinkering around with writing a stupid little program in whatever language was native to VAX. I think it was some hybrid of BASIC, but I can’t really remember. But that night, while Sandra Bullock drove a bus and jumped an interstate gap (probably), I finished my first “application”. I did not know how to program, nor did I know what a programming language was. I had only examined the code of other people, and hacked together some conditional logic that would tell you how much of a liar you were after you told it the length of your penis.
And I was proud of it. I showed it to a few people and we laughed. And when the joke was over, we moved on. Well, most of them moved on. I signed up for CS101 the next semester. I remember later that night thinking, “I like telling computers what to do.” There is some truth to that.
Fast-forward to somewhere in my sophmore year. I copied the idea of an existing VAX script that would check the current users in the system against a pre-defined list of users. I didn’t create the system’s first “friend list”, but I did package it into a public login script. Along with some other little things I had made (a custom clear-screen, customized prompts, etc.), I had accidentally created my first release of a software product. I called it the “Special Login”, mostly because I had given it to only a few special friends.
Eventually, people started sharing my stupid little login script. I added what could be considered rudimentary analytics to it, and found that I had a few hundred kids on campus using the thing. When I shut it down a couple years later, I think it had topped out at a little over two thousand users. I still liked telling computers what to do. But even with a small taste of fame among campus computer labs, I had failed to learn a couple of important lessons about myself.
Fast-forward a few more years. I spend one year in a development job, and five years in software testing. That did not work out well for me. I did, however, learn something about myself I failed to learn in college. I like telling computers what to do, but what I was telling computers to do was to break things.
One of the lessons I should have learned from those college moments was not that I enjoyed bossing computers around, but that I really enjoyed making things. After my foray into the realm of software testing, I have tried to focus more on creation instead of destruction.
Fast-forward a few more years. I had transitioned into a development position and started building things again. Over those next couple of years, though, the company I was working for had not shipped a single product. My realization of this came when people started asking if they had seen any of my work after I told them what I did for a living. And I had nothing to share.
I had one more lesson to learn, looking back on those early developing experiences. I was mis-understanding a key component of myself. I do want to make things, but I also want to share those things with people, and discuss how those things work.
Which brings me to this blog.