At the time of this writing, I have been working in the IT industry for 23 years. For those of you who aren't tech-savvy, the term "IT" stands for Information Technology. Back when I first started it was called "IS" which stood for information services, but apparently sometime in the late 1990s people started to realize that computer departments rarely provided good service so rather than fixing the problem they just changed the name.
Given my vocation, this does not mean I know how to fix computers. That's the first thing people always assume. "You work with computers? Could you look at mine? My hard drive is making a funny noise..." Well, yes I work with computers, but I am a software engineer. This means I design and write software, usually to address fairly specific customer needs. Asking me to fix your computer is like asking the guy who designs the roads to fix your car when it stops running.
My standard response is "I write software, which means instead of fixing computers I break them."
Nevertheless, I don't remember ever specifically choosing this occupation. It just kind of worked out that way. From a young age I always had a fascination with electronics. It started with video games and grew from there.
Being a child of the 70's, I remember when Pong came out. Few of our younger generations recognize the name Pong, nor if they saw a Pong game would they appreciate how earth-shattering a development it really was. Basically Pong was a computer simulated 2d overhead view of a ping pong table, complete (or incomplete as the case may be) with a square ball and a dotted line for a net. On the right and left hand sides of the screen were two vertical lines about two inches tall, which represented each player's paddles. Each player could move them vertically up and down by turning a respective controller knob. The square dot representing the ball would be "served" and move at an angle towards one of the players. If that player successfully moved their paddle in front of the ball, the ball would then bounce off their paddle and start moving at an angle towards the other player. The process would repeat with the ball gaining speed after each hit, until one person "missed" the ball. The opposing player would then score a point and the process would repeat until a predetermined number of points were scored.
Pong was crude. The graphics were black and white (actually, they were all white on a black background.) The sounds weren't anything more detailed than a few bips and beeps. Despite the archaic description, it was nothing like the world had ever seen before. When Pong was released, color TV was still a luxury that many Americans didn't yet possess. Yet here was a TV that you could not only watch, but you could interact with it! Previously arcades were filled with pinball and other mechanical action games, but this was a completely new paradigm. Many minds were blown and Pong was the kindling that set fire to the video game industry, along with the closely related home computer industry.
Video game historians and purists will point out that Pong wasn't the first arcade video game. Computer Space was actually the first. However while Computer Space was a notable point in video game history, it didn't have the cultural impact of Pong. Using cars as an analogy, when historians talk about the way the car changed the world they're more apt to mention Henry Ford than Karl Benz. Henry Ford didn't invent the modern gas powered car, but his Model T had a greater impact on society than any other vehicle.
Not long after the arcade version of Pong began sweeping the nation, it was made available to consumers in a home version that hooked up to your TV. Now you could bring the decadence of the neighborhood pool hall right into your own home. Yessir, we got trouble, right here in River City!
I never did own a pong machine, but my cousins did. Actually, they owned a Pong clone called the Coleco Telestar Ranger. In addition to four pong games, it came with a gun to be used in a "shoot the dot" style game. When we would visit their house, my brother and I would beg them to let us play with the system. Occasionally they agreed, but most of the time they didn't. Their reasoning was sound because they got to use it all the time and had grown tired of the game. When we would come over they didn't want to spend more time playing it, they wanted to do something more entertaining to them. My brother and I, though, hadn't developed the waning interest in Pong and it about killed us when we weren't allowed to play their machine.
As time went on, Pong was replaced by comparatively more sophisticated video games and video game systems. The ubiquitous Atari 2600 video game system was released in 1977 and dominated the home video game market for more than five years. I remember repeatedly pouring over the Christmas catalogs hoping that Santa or a reasonable facsimile of his would place one under the tree that year. Unfortunately, Santa never did deliver an Atari system. Even more unfortunately, as a typically ungrateful child I never fully appreciated most of the gifts I did receive instead. When originally released, the Atari 2600 sold for $199. Adjusting for inflation, at the time of this writing (2015) that is equivalent to nearly $800 in today's money. Now that I'm older I can understand why Santa brought me socks instead.
Around 1979 the arcade game Space Invaders ushered in the next era of video games. This was the first big arcade hit since Pong and the one that really opened up the industry's realization that there's "gold in them there hills" and it could be mined a quarter at a time. Soon arcades were filled with the latest and greatest offerings from the classic video game era.
In 1982 my allowance was $1.50 per week, which was earned via mowing the yard, shoveling the walks and numerous other household chores. At the time I was rather impetuous with my money, and I would often blow my weekly stipend as quickly as I would receive it. Usually my allowance would be spent feeding the video games located at the nearby grocery stores or at our neighborhood arcade first known as "Granny's", later renamed to "Circus" and years later called "Gigglebees."
A dollar-fifty would buy six video games. I would plot and plan all week so that I knew which games I would play and in what order. I would play out strategies in my mind all week hoping that this week I could reach a new level or beat a previous high score. Finally the day would come when I would receive my allowance. I would rush to wherever the video games were located and usually within 15 minutes find myself broke for another week.
Really, in retrospect I was pretty pathetic. I don't know if I would classify my behavior as addictive, but it certainly was obsessive. It got to the point where I would skip purchasing my carton of milk at lunch and wind up thirsty for the rest of the day, simply because I could then use the quarter my father had given me that morning to instead play a game of Galaxian down at Alick's drugstore on my way home from school.
My brother and I would ride our bikes miles to department stores that we knew had home video game systems on display. We would spend way too much time playing the demo systems until the store clerks finally figured out we weren't going to buy anything and threw us out.
In the spring of 1982 I was in 7th grade. Our school had a small lab filled with about 12 Commodore PET computers. Most of them were the 4016 models, meaning they had 16k of memory. The first time I got to use the lab was during math class. We had a curriculum unit where for about a week we went into the lab and learned some very basic programming. I was enthralled. I had no idea what I was doing (and frankly, neither did the teacher) but I found the idea of programming a computer to do what I instructed completely alluring. I enjoyed playing video games, but here I had the potential to create my own!
The following fall, a local community college offered a course on Saturday mornings that taught beginner's computer programming. I was thumbing through the course flyer and saw they had a class that would meet on Saturday mornings from 9 until noon. Somehow I conned my parents into enrolling me into this college course. Looking back I was surprised they did this for two reasons. First, our family usually didn't have a lot of extra money sitting around. Second, I wasn't really a good student mostly due to lack of interest rather than ability.
Somehow I must have made a convincing case, as my mom agreed and called up and enrolled me in the class. She probably had to do some explaining and convincing herself to the school as it's not normal that an 8th grader takes a college class, especially a student with my underachieving academic track record.
I attended the class on Saturday mornings that semester and loved every minute of it. We learned how to program using the BASIC language. BASIC is an acronym that stands for "Beginner's All-purpose Symbolic Instruction Code." It was a reasonably simple language to learn, but powerful enough that it wasn't excessively limiting. A variation of BASIC still exists today, however it has evolved significantly and looks quite different when compared to the original language. Over the years I've learned at least a dozen different computer languages. While 30 years later I wouldn't start a new software project using BASIC, it's interesting how often I run into old BASIC code when working on legacy client systems.
Back in the computer class, I was by far the youngest person in the room, but my passion carried me in the places where I didn't have the same life understanding of the other students. Not having access to a computer outside of the classroom, I wrote programs on notebook paper which I would then type in on Saturday mornings to see if they worked. I wound up getting an "A", which was a pretty rare thing for me to accomplish in my middle school classes, let alone for a college course.
After class ended for the semester, I was hooked. I started checking out books and magazines from the school library to learn more about programming. I spent my spare time studying manuals and writing programs in my notebook. Soon I had a notebook full of code that may or may not have worked for lack of a computer on which to try them.
Thankfully a small computer room with two Commodore PET systems was created in the school library. A person could stop by before school and get a pass that would allow them to use the room during study hall. Because there was only two systems available, demand was high. The passes were available on a first-come-first-served basis, so usually as soon as I arrived at school I would rush to the library to try and get one of these coveted passes.
During my 7th grade year I had a problem with habitually arriving late to school, which resulted in several after-school detention sessions. Once these computer room passes became available, I had all the motivation I needed to arrive early. In fact, starting with the 2nd semester of 8th grade it was rare I was ever late again.
My usual routine would be to show up for study hall, hand the study hall teacher my pass to the library and then head off for a half an hour of bliss working on my programs. The school had a strict "no games" policy on their computers. However, an exception was made for students writing their own games as you have to play them to debug them. I spent most of my time writing games. To be honest, writing them was usually much more fun than playing them. When I would finish a game I would play it for a few minutes, but it wouldn't be long until I was designing my next one.
The second computer in the room would usually be occupied. If I was lucky, it would be in use by one of my fellow programming friends who would be heads-down in their own endeavors. The talk would be minimal allowing both of us to be productive. If there was talking, it would be to bounce ideas off each other or demonstrate our latest discovery.
Often times, however, the other computer would be taken up by someone who (probably shouldn't have) signed up for a computer class and is now struggling to figure out their homework. In these cases I inevitably would be asked to help them. I didn't mind that so much as I was young and cocky and enjoyed demonstrating my knowledge.
In other cases I found myself paired up with a person whose only intent was to ignore the school's "no games" policy. I actually disliked this scenario more than the former, as it was only a matter of time until the librarian caught the person, and usually we would both get yelled at. Guilty by association I guess.
It was during this semester that somehow my brother and I managed to scrape together $120 which was now the sale price of a new Atari 2600 game system. This was a significant amount for two kids who generally spent their money impulsively as soon as we received any. I really don't remember how I managed to set aside my half of the money but it probably involved some odd-jobs that I often did around the neighborhood.
I would have rather spent the money on a computer, but I knew I couldn't have saved up the entire amount by myself. My brother wasn't interested in computers outside of gaming, so he couldn't have been convinced to spend our money on one. So an Atari system was a good compromise.
Sears had a version of the Atari that they called their "Tele-Games" system. It was completely identical except for the labeling and maybe some faux wood trim. Normally Atari's system came bundled with the "Combat" cartridge and Sears' came with "Air-Sea Battle." Frankly both of these bundled games weren't too exciting. However, after the Christmas of 1982 Atari had greatly over-estimated the demand for their new Pac Man cartridge, which left them with an abundance of inventory. This was the beginning stages of the "video game crash of 1983." To lure potential system buyers such as my brother and me, they started including two cartridges with their system. The weekly Sears flyer had the system on sale and it now included both Air-Sea Battle and Pac Man. Bonus!
After a little begging and pleading my father gave in to our demands to allow us to spend every last dime we had saved in order to purchase the Atari. After supper one night we hopped in the car and drove downtown to Sears and bought our game system.
I was vibrating with excitement and couldn't wait to get home and try it out. My dad had to make a stop at a hardware store on the way home for an unrelated item. I was so excited I didn't even get out of the freezing cold car while he went inside. I just sat in the seat and drew the Atari symbol in the frost on the window.
Back at home we hooked up our new game system to the TV and played on it until it was time for bed. The next day I invited a friend home after school to play Atari. He didn't have the same fascination with computers and games that I did, so it wasn't long before he lost interest in the two cartridges and we wound up doing something else.
After 8th grade ended, I found myself still with plenty of interest but no access to a computer. I would write programs in the pages of my notebook, but this grew stale without any ability to run them. My brother and I would try to scrape together money whenever we could in order to buy cartridges for the Atari, but they were expensive enough that it didn't happen too often.
One time during that summer we saved up $30 for a new cartridge. $30 would buy one of the older, cheaper titles. The newer and cooler cartridges were around $35 or $40. We went to the store and after a bunch of deliberation we selected the title "Slot Racers." Imagine our disappointment when we got home and after 5 minutes of playing discovered that the game we picked out stunk. I mean it was beyond bad. Several months of savings gone for a game we didn't want to play.
Curiously enough, when I think of "Slot Racers" I also think of the song "Rock of Ages" by Def Leppard. I think because it was popular that same summer and happened to be playing on the radio the night we bought the cartridge from Albertson's supermarket.
Edison Middle School (back then it was Edison Jr. High School) where I attended had a part of the curriculum called "interest areas." This comprised of one class each semester during the 8th and 9th grade years where students could choose from a list of "interest" based classes to attend. These classes weren't as heavy on the academic side of things as the traditional classes such as math and history. Think of it as a younger student's version of liberal arts. In 8th grade I had selected Origami as my fall class, and a general Art class in the spring.
In the fall of 9th grade a computer programming class was offered as an interest area and not surprisingly I selected it. By now I had progressed well beyond what this introductory course covered, but I didn't care; this gave me time behind the keyboard. I was able to quickly knock out our class assignments within a matter of minutes which gave me time to work on my own projects. Thankfully the teacher for this class, Mr. Anderson, recognized this and pretty much allowed me free reign as long as I got my work turned in correctly and didn't distract the other students.
In fact, at one point during the semester Mr. Anderson knew he was going to be absent from class. At the time computers were not a common-use item, and certainly weren't a household item the way they are today. The computer teachers in our schools were really just math teachers who learned enough to allow them to teach some basic programming. As a result, any standard substitute math teacher who came in most likely would be clueless on how to teach a programming class. With Mr. Anderson knowing he was going to be gone, he left instructions for both me and the substitute that I was to teach the class that day and the sub would only have to worry about taking attendance and crowd control.
While this was a great honor and opportunity for me, it didn't do much to quell my already increasing ego. I was a pretty good programmer and I knew it. My dad even heard me make a few outrageous statements about my abilities and tried (unsuccessfully) to bring me back to earth. Nothing quite like a 9th grade nerd boy raging with testosterone with a head so big he could hardly fit it through the computer lab door. In retrospect I'm pretty embarrassed about the way I acted that year. 9th grade was a pretty screwed up year for me socially, and I have nobody to blame but myself. If I could go back and change things I would, but I can't. So history is just that: history.
The computer room was open for 30 minutes both before and after school, so I started arriving to school even earlier. This gave me an additional hour per day of screen time. All I wanted to do was program the computers. It seemed like every waking minute I would be either working on a program or trying to solve algorithms in my head.
I still didn't have a computer of my own. We had the Atari, of course, but you couldn't program that. As the Christmas of 1983 approached, all I wanted was a computer. I had decided that a Commodore VIC-20 was the model I wanted. I had selected this computer for two reasons:
First, I had primarily worked on Commodore equipment up to this point so that was the brand I was familiar with. These days there are pretty much PCs or Macs to choose from, and both of them are similar to work on. Back in the early 80s, though, it was the wild, wild west of computers. Every manufacturer had their own system that was completely proprietary to themselves. IBM had introduced the PC by then, but very few clones yet existed. While I would have happily accepted a different brand of computer, I would have had to re-learn quite a bit. By staying with Commodore I would only have to learn the differences between the PET and VIC models.
Second and more important, the VIC-20 was the most affordable computer available. As had stated before our family, while not dirt poor, didn't have a whole lot of money floating around. While I would have loved to have the recently introduced Commodore 64, it was priced at $600. By late 1983 the VIC-20 had dropped below the $100 mark and on sale could be found for about $79. I saw no hope in wishing for the C-64 so I decided that the VIC-20 would do. By way of comparison, an IBM PC at this time would still cost more than $5000 so the Commodore equipment was really a bargain.
On Christmas morning we opened our presents. My stack was noticeably smaller than my brother's, but I didn't care because as I unwrapped a small box I discovered a picture of a VIC-20. My father had gone to purchase one on sale, but they had sold out by the time he got to the store. He got a rain-check so for Christmas that year I got a promise of a computer as soon as they came back in stock. While I would have loved to have the system on that day, this was the next best thing.
For the next month I drove my dad nuts (well, more nuts than usual.) It was January and rather than walking home in sub-zero temperatures (which I always had done in years past) I opted to wait until he got off work. He would pass right by the school on his way home so he would stop and pick me up. I could stay in the computer lab until 4:00, and my dad would arrive at 4:45 so I had forty-five minutes to kill every day. Looking back I should have used that time productively by doing homework, but most of the time I just opted to screw around in the hallway.
Anyway, every day I would get in the car and ask if the computer had come back in stock. Every day my dad would say "no" and the balloon in my soul would pop. I'm sure my dad was sick of me asking the question and I was sick of hearing the answer. For some reason that computer was out of stock for a long time.
Until one day when I got in the car and went through the same routine. I asked about the computer and my dad said "no." We drove home and upon getting out of the car my dad asked me to help with something he had in the trunk. As soon as he said that, I knew he'd been messing with me that day. Sure enough he opened the trunk and there was a brand new VIC-20. He had replied "no" probably half out of habit and half out of amusement. I do the same kinds of thing to my son. We fathers are twisted that way.
After what seemed like an eternity, I now had my beloved VIC-20. It used an RF Modulator, which means rather than a dedicated TV monitor I could just use a regular TV set to channel 3. I set the whole shebang up in my room. Back then TVs (even "portable" ones) were much larger than they are today. The "portable" one I used probably weighed more than 60 pounds. Really, back then the only significant difference between portable TVs and non-portable ones was that one had a handle on the top. This TV was placed up on my desk which meant there was no room for anything else, hence the need to place the computer elsewhere. So my VIC was set on a TV tray in front of the desk.
The TV I used was an old 20" black and white model from the early 70s that took (quite literally) hours to warm up. Until it came up to operating temperature the screen would constantly rotate vertically, regardless of how much I twisted the "vertical" knob. To our current generation, what I just said is completely foreign to you, but back in the day it was common to have to futz with the "vertical" and "horizontal" knobs. The modern solid state televisions made since the 80s did away with the need for those knobs and as a result few people under the age of 40 would remember them let alone know what they were used for. Anyway, rather than wait for the TV to warm up every time I wanted to use it, I just left it turned on and lowered the brightness knob all the way. (The brightness knob is also an antiquated feature; apparently people used to want to reduce how bright their TV displayed.) Of course, these old televisions also emitted a constant ultra-high frequency that was still barely in the audible range, so by not turning off the TV that sound was eternally present in my bedroom. Now that I think about it that may explain a few things about me.
Initially I had no storage mechanism. The VIC had two options for storing programs: a floppy drive and the Datasette. Floppy drives were ideal, as they were relatively fast to read and write data. Unfortunately, they were very expensive costing over $200. Conversely, the Datasette was painfully slow but much more economical costing about $60. The Datasette was a fancy cassette tape recorder that had a special connection into the back of the computer.
My dad bought the VIC on sale for $79 which I'm sure was a huge stretch to his Christmas budget. There was no way he could also spring for the Datasette. What this meant was the programs I would spend hours creating would exist as long as I left the computer turned on, but as soon as I powered the system down my work was gone forever.
Another limitation of VIC-20 (and all computers of the same era) compared to today's computers was that memory was extremely limited. The VIC had 3.5 kilobytes of memory available to store a program. That's roughly 3,500 characters. To put this limited storage in perspective, so far in this article I've typed about 22,000 characters. Modern computers often have 8,000,000,000 or more characters worth of memory storage available with the ability to "swap" memory to the hard drive should that not be enough space. So with this limited storage in the VIC there was only enough room in memory to hold one program at a time. With no ability to store more than one program, it meant if I wanted to work on a different project I had to be willing to let whatever I was currently working on be deleted. Definitely not an ideal situation.
Because of this I immediately started saving my money to purchase a Datasette. I finally got the $60 together about four months later with my parents chipping in half as a birthday present. The Datasette was painfully slow to load and save programs, taking probably 3 minutes for each operation. However, three minutes was a small price to pay for the benefit of not having hours of work lost for all eternity. I could now "shelve" a project by saving it to tape, then work on something else for a while and come back to the original project at a later time. It was wonderful.
Even with the ability to store and recall programs using the Datasette, I still had many limitations with the VIC. As mentioned I was limited to 3.5 K of available memory, which isn't much. When writing a complex program that small amount of space quickly disappeared.
As a result, I learned a bunch of tricks to conserve memory. For example, in the early versions of BASIC all program statements started with a line number. Often these numbers would start at 100 and increment by 10. However, given the limited memory few VIC programs were more than 100 lines long, and the line numbers were stored as characters. This meant using line number 100 takes up three characters of space. Using line number 1 only takes one character. Starting the line numbers at 1 and incrementing by 1 could save nearly 100 bytes of memory on a longer program. The trade-off was that not leaving gaps in the numbering meant that going back and trying to insert a new line in the program between two existing lines meant you had to re-number everything after the new line. And "find and replace" functionality was just a dream, so it was all manual typing. But hey, at least I wasn't having to punch holes in cards like the real old-school guys!
There were other tricks too that make for bad practices in today's world, but provided valuable memory savings 30 years ago. Comments (informational and explanatory lines in a program that don't contain commands) just took up space so those were the first to go. Using more than a single character for a variable name made your code a lot easier to understand, but used more space so those were also avoided. Spaces between commands improved readability, but took up space so none of those were used. Using the colon a person could concatenate multiple commands on a single line saving the bytes of using an additional line number.
These were just some of the tricks employed. I couldn't imagine trying to go back and maintain some of the beastly code I wrote back then, but it's what we had to do in order to most efficiently squeeze as much processing into such a limited amount of memory.
While I was definitely learning a ton in the world of computers and computer programming, it was taking a toll in the rest of my academic life. I had never been a model student, but my grades had slipped even further from normal in every class. It was no wonder; I was spending nearly every waking minute either sitting at a computer or thinking about what I will do the next time I sit down at a computer.
As a result, my parents made the decision to ground me from all computer activities. I couldn't use my computer at home, I couldn't use the computer lab before or after school, and I couldn't skip my study hall to use the computers in the library. I was devastated, but looking back it was the right thing for them to do. They informed the teachers at school of my restrictions, so there wasn't any way I could "cheat" and still use the equipment without them knowing.
Not being able to use any computers gave me the time, if not the motivation to focus on my studies and try and get caught up in my classes. After a month my grades had improved, but not enough to convince my parents that I should be allowed to resume my previous levels of computer activity. If anything, it probably demonstrated to them that keeping me away from computers was a good thing.
It was during this time that the school system announced there would be a city-wide programming contest. Students would assemble teams of two to three people, and be given several hours to write programs that would solve a collection of challenges.
Had I not been allowed to participate in this contest, I would have been devastated. Thankfully my parents realized this, and also saw what a great opportunity it was for me to assess my abilities compared to the other students in the city. They agreed that I could participate.
With the approval part out of the way, the next hurdle was the question of the teams. As I mentioned, the contest was designed for teams of two to three people. I've never been real good at working on teams. Usually with teams things don't happen at as fast of a pace as I would like them to, and I wind up frustrated. I reasoned a team would just slow me down, so I went and talked to Mr. Christensen, the teacher overseeing the contest, and asked if it was OK if I entered the contest solo. He was reluctant, but he wound up giving me permission.
I entered and received a packet of sample challenge questions I could use to practice. My parents agreed I could spend a little time in the computer lab after school as long as I was just practicing for the test. Mr. Christensen was the head of the computer lab and he kept an eye on me to make sure that's what I was really doing.
The day of the contest came. It was on a Saturday morning and I walked over to the school. I received my packet of challenges and was assigned a computer sitting on a cart over in the detention room. Unfortunately, I was given a Commodore 64. Having never worked on one of these before, some of the slight differences from that to which I was accustomed slowed me down a bit.
The contest was designed with more challenges than one could solve in the allotted three hours. The idea was that each team could choose to solve a couple tough challenges worth more points, or a bunch of small ones worth fewer points each, or any combination they felt would give them the best score. I went through as many as I could within the time frame. We were to print out our program solutions for each question and put them in the envelope which was turned back in at the end of the contest.
Overall I felt pretty good about my progress. I was pretty sure that the questions I was able to complete were correct. The biggest unknown was how many questions I was able to answer within the time limit as compared to the other teams.
About a week later during homeroom announcements the principal read the results of the contest over the loudspeaker. I don't remember the exact number of teams that entered but was probably in the 10-12 range. They started announcing the total number of points each team received, starting with the lowest. I kept waiting for my name to be called and finally it did. I came in 2nd. Not perfect, but not bad.
I was pretty happy to hear where I placed in the contest. That is until I heard a bunch of guys in the back of the room making fun of me for even entering. I tried to blow it off but that's the kind of thing that sticks with a person for a while. More than 30 years later I still clearly remember the pain of having my accomplishment ridiculed.
At the end of 9th grade I happily left Edison Middle School. We had to sign up for high-school classes, so I travelled downtown to Washington High School to register. It was the traditional-style course registration where you figure out what classes you need to take, compare that to when they were offered and then stand in line in hopes that that particular class isn't full causing you to re-arrange everything.
One of the classes I wanted to sign up for was Computer Programming II. Reading the course descriptions, I saw that I was well beyond the first Computer Programming I class so rather than wasting my time I figured I'd skip it. When I tried to register, Mrs. Johnson the computer teacher wouldn't let me because I hadn't taken the first class. I protested and explained my thought process, but she resisted.
Finally after I wouldn't relent she pulled out the final exam from the first class and told me if I took it and passed with at least a C that she would let me skip the intro class. I sat down at a table right in the middle of the gym where registration was being held and spent about 10 minutes on the test. When I handed it back to her, me being my typical cocky self of the time, I informed her that I'd aced it. She quickly corrected it and agreed, so she kept her end of the bargain and let me skip the class. Over the next couple years I would get to know her better and she wound up becoming one of my favorite teachers from high school.
Having passed all my semester classes and with the school year coming to an end I got my computer back. I spent a bit of time over the summer writing programs for it, especially during the first month. With summer, though, came many other distractions as well, so I slowly started to focus on other activities. Bicycle riding, hanging out with friends, a family vacation, going to the swimming pool, starting a lawn mowing business, summer camp and building plastic models also consumed my time that summer. In fact by the end of the summer my computer obsession had calmed to a more reasonable interest, replaced by music and dance as my new obsession. Music remains an interest to this day. Thankfully for the good of all humanity my interest in dance waned after a couple years.
At the summer's end it was time for school to start again, only now I was in high school. Starting a new school is usually nerve wracking, but for some reason I don't remember being overly nervous about the process. I think because overall 9th grade was such a rotten year for me socially. Looking back I can clearly see that much of that was self-inflicted. In any event, a new school was like a fresh start. Most of the kids at Edison were also at Washington, but in addition there were kids from three other middle schools attending. The 10th grade class at Washington had more students than all three grades of Edison combined. I was now a small fish in a very large pond, which was better than being a small fish in a small pond because the bigger fish had a lot more small fish to pick on. Odds were better that it wouldn't always be me.
One interesting thing of note regarding the bullying to which I was accustomed to receiving in Jr. High was that in the previous 10 months I had grown about 10 inches. No lie. This turned out to be a game changer. I was pretty much a "late bloomer" physically, but once my body decided it was ready it wasted no time. In November of 9th grade I was 5 feet tall. By September I was 5'10". My parents couldn't keep me in pants that would fit because no sooner would they buy a pair and I would grow out of them. There were many inches of white sock visible between the top of my shoe and the bottom of my pant legs, which gave the bullies yet another excuse to taunt me. However now that I had grown some of the kids that were taller than me at the end of 9th grade found themselves looking up at me when school reconvened.
My first semester's schedule included the Computer Programming II class for which I had fought to sign up. It was a smaller class with probably only 10 students. As expected, all of the other guys (back then the computer classes were nearly always made up of guys) were 11th and 12th graders. I was the young punk, but I fully intended to make a statement.
The computer lab was divided into two sections facing away from each other. One section had about 12-15 computers sitting on tables, and another section that had desks and resembled a more traditional classroom. We always started class sitting in the desks and talking about the day's topic, then would move to go sit at the computers and work on our lab assignments.
As with most advanced level classes, it starts with a review of some of what was learned in the previous class. Our first homework assignment was to write a program to display our name centered both horizontally and vertically on the screen. Really? That's our first assignment for a 2nd level class? I was rather disappointed that it didn't look like I was going to be challenged much in this class either.
When class met on the 2nd day I was ready with my program. I was surprised to discover that the remaining students not only didn't have their programs finished, they were requesting help during class time to figure it out. Mrs. Johnson started to talk through the solution on the chalkboard when I raised my hand. I stated that I had my homework complete and asked if it would be OK if I went back to the computers and entered my program in so I could debug it while everyone else was sitting through the lecture.
Everyone seemed surprised including Mrs. Johnson, but she agreed and allowed me to go to work. I entered my program. When I ran it, the whole class turned around because rather than just displaying my name centered in the screen I had it scroll out to the center and then pulse, complete with sound. I enjoyed interrupting the class and making a statement that I was going to be the programmer to beat this year. It was really a strange nerd version of the whole alpha-male thing. Like I said, I was young and cocky and proud of it.
I easily finished up the semester with an A+ in this class. In fact, compared to my previous year's grades I had a very successful first semester of 10th grade getting mostly A's and B's. In the past parent-teacher conferences had always been a major source of stress for me because I knew as soon as my mom came home from them I would get in trouble for bad grades resulting from my lack of effort. After this year's conferences, though, my mom came home incredulous. I remember her walking in the door and suspiciously saying, "Boy, do you have your teachers snowed!"
At the end of my sophomore year it was time to sign up for the junior year classes. When I received my course catalog I was excited to see that they had added two additional new programming classes: Computer Programming III and Pascal. At the time I hadn't used Pascal before, so it was exciting that I was going to get to learn a new language. I eagerly signed up for both classes. Computer Programming III was in the fall and Pascal was in the spring.
Unfortunately when fall came I was informed that not enough students had signed up for Pascal in the spring so the class was cancelled. I had to select a different class instead. I picked "Introductions to the Mass Media" which turned out to be a joke of a class. If an 11th grader hasn't been introduced to the mass media then I don't know who has. A typical assignment in this class was to watch a TV show and write a one page summary of it. I was going to watch TV anyway, so it was a piece of cake to take 10 minutes and summarize what happened.
Back to the fall semester, I remember my Computer Programming III class being fun. There were only six of us who signed up for it and these were the guys in the school who really knew their stuff. Again, Mrs. Johnson was the teacher. Being such a small class it was a much less formal environment than most of my other classes. We all had a great time.
One class period Mrs. Johnson brought in a guest speaker. It was some guy who worked in IT somewhere. I really don't remember much about the lecture, but what I do remember was that he brought in a 10 megabyte hard disk drive. I had never seen a hard drive before, as all of the Commodore equipment used 5 1/4" floppy disks that held 128k. This hard drive was the size of a small suitcase. I remember thinking, "Who on earth would ever need something like this?"
Around the same time frame Bill Gates made the notorious statement, "512k of memory should be enough for anyone." It wasn't just me. It was hard to picture what would happen in the future, just as today we can't fathom what technology will look like in the next 30 years.
At some point this semester I had been browsing around the electronics section at K-Mart when I came across a cartridge for my VIC-20 called "HESMON". This cartridge allowed an easier interface to program in assembly language. Assembly language (sometimes called "Assembler" or "Machine Language") is the raw low-level instructions that a computer understands. Before I had done most of my programming in BASIC, which was a high-level language that is easy for humans to understand. A single BASIC command would be the equivalent of tens or hundreds of Assembly language commands because the Assembly code would be doing such little work with each single step. A typical Assembly command would take single a byte from one register and move it to another, where as a typical BASIC command would result in numerous bytes being moved around memory in various ways.
The advantage of writing Assembly code was that it was fast. When my VIC ran a BASIC program, it had to read the line, translate it into the equivalent machine code and then execute it. This translation was slow and took a lot of time. Also the translation wasn't always as efficient as it could be. By writing directly in machine code a program could easily execute a program ten or more times faster.
I think the cartridge cost me $12. I'm not sure why K-Mart would have carried a cartridge like this, but I didn't care. I bought it and proceeded to start learning Assembler. It was a tough, cryptic language to learn, but it was cool because it was fast and I didn't personally know anyone else who could write Assembly language.
For my final project in Computer Programming III we were to write some sort of animated cartoon sequence of our choosing. Mine was a space ship flying through a cave, until it came to a clearing where it would land. A little alien hopped out of the ship and raised a flag, supposedly claiming the planet in the name of whatever species to which the creature belonged. At this point lightning struck the flag pole and zapped the alien. An ambulance drove up, and two EMT workers proceeded to load the alien into the vehicle. The ambulance then raced off but accidentally drove off a cliff. Yes, I've always had a warped sense of humor.
Anyway, this animation sequence written in BASIC would have been slow and choppy (which is what most everyone else's final projects wound up looking like.) To overcome this I wrote my project in assembly language which made the graphics flow fast and smooth. In fact, I had to write delay subroutines to slow it down otherwise the whole thing moved too quickly to look natural.
Mrs. Johnson didn't know Assembly language. When I turned in my project she couldn't really evaluate my code printout. She just had to run the program and note that it did exactly what the final project's requirements stated. I do remember her asking if I really did write the program myself, then grilling me to explain what some of the various Assembler statements did. In the end, she was satisfied and I got another A+ in that class.
After that class though, I kind of fell away from computers for a few years. In the spring semester of my junior year my VIC died, I suspect due to static or overheating because I had been using it while sitting in my bed, the blankets covering up the vent holes on the bottom of the system. The VICs were no longer available, so a direct replacement wasn't feasible. By this time my interests had pretty much shifted over completely to music and cars, with my part-time job at a nearby hospital providing the funding.
This happened in early 1986. I didn't really mess with a computer again until late 1990. After I had unsuccessfully attended my first year of college and blown a really good scholarship (which is a story for another day) I went to work for Hutchinson Technology Incorporated (HTI) which was a manufacturing facility that had just built a factory in Sioux Falls. They built suspension assemblies for hard disk drives. However, I started on the production line and while I made computer parts, the work really had little to do with computers.
After almost two years working at HTI I had worked my way up into a production lead role, which meant that I was in charge of a manufacturing line and the employees working on the line. There was a new computerized system that was slated to be installed, so an IBM compatible PC was set up by my desk. The PC was set up, but it was still going to be months before anything would be installed and the system put to use. Because the computer was just sitting there tempting me, during my slow times at work I used the opportunity to teach myself DOS. I then found that it had "GW BASIC" (no joke, the GW stands for Gee Whiz) installed, so I started using that application to re-acquaint myself with programming.
I wound up writing a program that I started to use to track quality data about the manufacturing line. The program worked well for my line and my supervisor was very happy with my results. Word got around to the other supervisors and soon the request was made that that program be installed on every manufacturing line's computer.
Well, at the time I didn't know much about implementation of an application for multiple users on a manufacturing floor, so the IT department was brought in to evaluate the application and determine what it would take to release the program company-wide. The first thing they determined was that it should probably be re-written to store data centrally in a database, and be built on a better platform than GW BASIC. Looking back at this decision I can agree that they were absolutely correct.
The IT department was small and didn't have the resources to dedicate someone 100% to the re-write. They wanted me to be transferred temporarily into the IT department to help out. However, the manufacturing floor also needed me for my regular responsibilities running the production line.
A compromise was made: at this point in time I was working nights on the manufacturing floor, from 11 PM until 7 AM in the morning. It was agreed that the company would pay me overtime for a few months and allow me to stay until 11 AM. I would work my regular 8 hour shift and then go over to the IT department to work on this project for four more hours.
It made for some long days, but at least it was broken up by doing two different jobs. The overtime also allowed me to pay off some bills I had accumulated and one of my student loans. The IT experience was valuable, as I learned SQL (structured query language) to interact with databases and learned how to build a client/server application.
We built the new version of my program using a now defunct language called Applications Manager. AM was a weird language that never really caught on. HTI used it until about 1994 when it was phased out in favor of Visual Basic.
After we re-wrote and deployed my system my overtime came to an end and I once again was only a production lead with no IT responsibilities. I would be utilized occasionally to help fix a computer problem here and there, seeing as I was still working on the night shift and there wasn't an IT person staffed at night at that time.
However, I had tasted freedom from my production lead responsibilities and I liked the flavor. I wasn't enjoying my position any longer out on the manufacturing floor. My temporary stint in IT had given me a new goal to seek out a position in that department.
It wouldn't happen for a year, though. The IT department was small and turnover was low which meant openings rarely became available. Finally a position was posted on the company bulletin board for a PC Technician. It wasn't a programming job but this would do to get my foot in the door. The only catch was that this was a six month temporary posting. I interviewed for the job and was offered the position. It helped immensely that I had already worked with everyone in the department so they knew me and I knew them.
I went and had a chat with my HR representative to get a better understanding of how this might work should I seek out this temporary PC Tech position. Basically what would happen would be if I were to take the position, my current production lead position would be posted and filled. The replacement posting for my current job, though, would not be temporary. At the end of the six month stint when the PC Tech position ended if there happened to be another production lead position open I could apply and interview for it, but I would not be guaranteed a job.
So I had a dilemma. Do I stay where I wasn't really happy, but keep the assurance of a job? Or do I accept the PC Tech position and do what I enjoy but not be sure of the future? I finally decided that I could always find another manufacturing job if one wasn't available at HTI, but without any formal schooling I may not have another shot at an IT job. I accepted the position.
I went into this PC Tech job with one goal: to prove to the company that I was so valuable that they wouldn't have any choice but to make the position permanent. I worked my tail off those next six months and learned a ton. At the end of the six months I accomplished my goal. In fact, I had done it well enough that they decided they could use three additional techs so between the four of us we could support the facility 24/7 by working 12 hour shifts on alternating days and nights.
This was a huge break for me and an extreme blessing. In retrospect I can see now how my IT career was spawned simply because HTI gave me the opportunity. I am extremely grateful to that company for their philosophy of promoting from within which allowed me to work into the IT field before I had any formal schooling for it.
I worked as a tech for three years. During this time I returned to college part-time to work towards my computer degree, which I would finally obtain in 2001. After I had been in my PC Tech position for three years, in 1995 HTI announced that they were opening a new manufacturing facility in Eau Claire, WI. My boss had decided to move and be the IT supervisor at this new plant.
Without any formal posting or interview process, my boss's manager called me into his office and offered me the position of the IT supervisor. I immediately accepted. This came with an odd side effect of a decrease in gross pay, as when I was a PC Tech I was paid hourly and had lots of overtime opportunities. The new position would entail roughly the same number of hours but be salaried so I wouldn't get the OT. It was the right move career-wise, but a tough move financially.
The IT department of the Sioux Falls HTI plant was still small, with about 10 people total. Because of this my IT Supervisor position also had to handle the programming responsibilities. This was the part of the job I really wanted. The supervisor stuff was something I could do, but not the part of the position I enjoyed. I wanted to be a programmer.
I worked in that position for twelve more years. I had always hoped that the job would be split into two positions so that I could just be a dedicated programmer. Alas, it never happened and in 2006 after I had been with the company for more than 18 years I found myself in a career rut. I really wasn't enjoying the supervisory responsibilities and by now I realized that the company was in a decline and therefore the job separation for which I was hoping was likely never going to happen.
About this time I received a call from a "headhunter" looking to fill a programming position for another local company. She asked if I would be interested in making a job change. I had come to the point in my career with HTI where I decided it was time to make a move.
I interviewed with a local company called Omnitech, and was offered a position of a software engineer. After some salary negotiations, where once again I accepted a pay cut compared to what I had been receiving in my current position I agreed to leave HTI. I really have to get better at salary negotiations as I seem to be pretty effective at holding out for less money.
Omnitech is a company that provides software solutions and resources for other businesses. In an amusing turn of events, the first thing HTI did when I told them I was leaving was to hire me through Omnitech to keep doing the programming portion of my job. I didn't mind though, as this was the part of my position I still enjoyed. So for my first six months at Omnitech I still worked for HTI.
My timing to leave HTI was fortuitous as a little more than a year after I left, HTI announced it was closing the doors of the Sioux Falls manufacturing plant. The market had dwindled and they had lost one of their major customers. A plant that once employed nearly 2000 people would soon be closed for good. HTI gave me more than 18 years of employment and as I mentioned earlier, I am extremely grateful for the opportunities that were afforded through their company. Overall it was a pretty good place to work.
At the time of this writing all of this happened more than nine years ago. I am still working for Omnitech which proved to be a good move for me. My passion for technology has waned, but I still enjoy it enough to stay in the industry. I no longer have the obsession that I did in my younger days, but that's probably a healthy thing. Computers are an enjoyable way to make a living, but they aren't life. Now that I'm older I can see that.
This page last updated on 07/11/2018