Wait... You Were a Computer Engineer?
Indeed! It seems like a lifetime ago, but my first profession was that of a computer engineer.
I began programming on a MITS/Pertec Altair 8800 sometime in the late 1970s. That computer didn't have a keyboard so I had to program it in machine code from the switches in front. The next computer I learned to cut my teeth on was a two-floppy disk Pertec PCC-2000 running CP/M. The 2000 was hilarious since it would have a tendency to unseat chips slowly via the constant warming and cooling cycles it experienced through everyday use. Eventually, I would have to unseat each board and then re-seat it. If that didn't work, I had to go through all of the socket-mounted chips and re-seat them. Usually, the latter did the trick when the former failed.
A Commodore VIC-20 was the first computer I could call my very own (interestingly, I never owned a Commodore 64 like many of my peers). I soon added the VIC-1211 Super Expander cartridge so that I could cut my teeth on graphics coding. My experiences programming the 8800 and VIC-20 probably taught me a lot about the "clear and concise" mantra I attempt to follow in my writing today. As one early VIC-20 programmer observed about the limitations of 3.5K's worth of programming space: "a program is finished when the memory runs out...this helps keep programs small and to-the-point." It's also apparently very masculine to write this way, given the opinion by one of the early members of the VIC-20 hardware team who said: "You had to be a man to write code in 3.5K." Around 1984 I moved up to an IBM XT clone running one entire megabyte of ram and a ten megabyte hard drive! I moved up to an AMD 486DX in 1991 and then a Pentium in 1996.
In the early 1980s, I became interested in BBSing. BBSes (Bulletin Board Systems) were the thing that most people used from their homes before everyone was wired up to the internet. I began wardialing around the same time and eventually got into a little [non-legal] trouble thanks to that. Eventually, in order to legitimize myself, I soon set up a BBS and joined FidoNet in 1988 (as a sub-node; full node capacity in 1989) as 1:104.215, The Galaxy Express 999 after one of my favorite anime movies (I started on anime in the early '80s since my family in Japan began sending us tapes). As far as I know, mine was the first anime-oriented BBS in the U.S Here's my node entry:
,215,Galaxy_Express_999,Broomfield_CO,Bruce_Arnold,1-303-469-3221,2400,CM,XA).
My BBS initially ran on QuickBBS (programmed by a fellow Coloradan) until I switched to RemoteAccess. I always used FrontDoor as a net interface and mail handler and employed a 2400 baud Hayes Smartmodem to connect to the larger world (I will always be thankful to Jim Bucks for loaning it to me). While running the GE999, I was a member of the Denver area sysop organization (whatever it was called) and was lucky enough to be associated with pioneers of the field such as Claude Warren and Jason Steck. In the end, I, along with Steck, co-founded MetroNET, a FidoNet alternative.
After completing three degrees in computer science (these degrees would be called "computer engineering" now, and these were never, ever "information systems," "information technology," or any of their icky ken :) ) between 1990 and 1998, I worked in a variety of companies and coded/engineered on many projects including web development, real-time systems, human-computer interactivity, database design/development, and networking. I had a great time learning about computing at some fine institutions like Salt Lake Community College and the University of Nevada, Reno. In graduate school at the University of Tulsa I specialized in graphics (including human-computer interaction), object-oriented programming, and operating systems. Some of my favorite assignments helped me understand specific algorithms (particularly greedy ones) such as the radiosity algorithm and how to use applied object-oriented programming to simulate a gas injection system commonly used in oil wells.
Probably one of the best jobs I had was working as a support engineer for Prevue Networks. The product I was responsible for was Sneak Prevue, a barker service that previewed pay-per-view movies (I was responsible for The Barker, as well, but I didn't work on it very much). I had secondary responsibilities supporting the Prevue Network, which anyone from the '80s and '90s should remember with fondness. Another of my projects I found interesting was Komatsu's Autonomous Haulage System.
Eventually, what was an interesting and technical field gave way to bean counters and pencil pushers who couldn't and wouldn't understand that software design and programming was an engineering exercise. Also the field and practice of computer science/engineering started to dumb down pretty badly. I knew I had made the right decision when my last supervisor (and a customer or two) made several comments that summed up most of my issues with the industry:
It was a fun ride, computer engineering! Maybe if you would have stayed a science/engineering discipline, we'd still be hanging out!
However, the skills I learned will hopefully pay off now that the field is more of a hobby for me rather than a job. I'm currently designing (as of 2015-16) an analog synthesizer. I have begun the circuit design process, which you can see here:
I began programming on a MITS/Pertec Altair 8800 sometime in the late 1970s. That computer didn't have a keyboard so I had to program it in machine code from the switches in front. The next computer I learned to cut my teeth on was a two-floppy disk Pertec PCC-2000 running CP/M. The 2000 was hilarious since it would have a tendency to unseat chips slowly via the constant warming and cooling cycles it experienced through everyday use. Eventually, I would have to unseat each board and then re-seat it. If that didn't work, I had to go through all of the socket-mounted chips and re-seat them. Usually, the latter did the trick when the former failed.
A Commodore VIC-20 was the first computer I could call my very own (interestingly, I never owned a Commodore 64 like many of my peers). I soon added the VIC-1211 Super Expander cartridge so that I could cut my teeth on graphics coding. My experiences programming the 8800 and VIC-20 probably taught me a lot about the "clear and concise" mantra I attempt to follow in my writing today. As one early VIC-20 programmer observed about the limitations of 3.5K's worth of programming space: "a program is finished when the memory runs out...this helps keep programs small and to-the-point." It's also apparently very masculine to write this way, given the opinion by one of the early members of the VIC-20 hardware team who said: "You had to be a man to write code in 3.5K." Around 1984 I moved up to an IBM XT clone running one entire megabyte of ram and a ten megabyte hard drive! I moved up to an AMD 486DX in 1991 and then a Pentium in 1996.
In the early 1980s, I became interested in BBSing. BBSes (Bulletin Board Systems) were the thing that most people used from their homes before everyone was wired up to the internet. I began wardialing around the same time and eventually got into a little [non-legal] trouble thanks to that. Eventually, in order to legitimize myself, I soon set up a BBS and joined FidoNet in 1988 (as a sub-node; full node capacity in 1989) as 1:104.215, The Galaxy Express 999 after one of my favorite anime movies (I started on anime in the early '80s since my family in Japan began sending us tapes). As far as I know, mine was the first anime-oriented BBS in the U.S Here's my node entry:
,215,Galaxy_Express_999,Broomfield_CO,Bruce_Arnold,1-303-469-3221,2400,CM,XA).
My BBS initially ran on QuickBBS (programmed by a fellow Coloradan) until I switched to RemoteAccess. I always used FrontDoor as a net interface and mail handler and employed a 2400 baud Hayes Smartmodem to connect to the larger world (I will always be thankful to Jim Bucks for loaning it to me). While running the GE999, I was a member of the Denver area sysop organization (whatever it was called) and was lucky enough to be associated with pioneers of the field such as Claude Warren and Jason Steck. In the end, I, along with Steck, co-founded MetroNET, a FidoNet alternative.
After completing three degrees in computer science (these degrees would be called "computer engineering" now, and these were never, ever "information systems," "information technology," or any of their icky ken :) ) between 1990 and 1998, I worked in a variety of companies and coded/engineered on many projects including web development, real-time systems, human-computer interactivity, database design/development, and networking. I had a great time learning about computing at some fine institutions like Salt Lake Community College and the University of Nevada, Reno. In graduate school at the University of Tulsa I specialized in graphics (including human-computer interaction), object-oriented programming, and operating systems. Some of my favorite assignments helped me understand specific algorithms (particularly greedy ones) such as the radiosity algorithm and how to use applied object-oriented programming to simulate a gas injection system commonly used in oil wells.
Probably one of the best jobs I had was working as a support engineer for Prevue Networks. The product I was responsible for was Sneak Prevue, a barker service that previewed pay-per-view movies (I was responsible for The Barker, as well, but I didn't work on it very much). I had secondary responsibilities supporting the Prevue Network, which anyone from the '80s and '90s should remember with fondness. Another of my projects I found interesting was Komatsu's Autonomous Haulage System.
Eventually, what was an interesting and technical field gave way to bean counters and pencil pushers who couldn't and wouldn't understand that software design and programming was an engineering exercise. Also the field and practice of computer science/engineering started to dumb down pretty badly. I knew I had made the right decision when my last supervisor (and a customer or two) made several comments that summed up most of my issues with the industry:
- My last boss, the "Vice President of Software Development," told me that my constant efforts to organize software engineers into a team was "novel" and "interesting" but we had customers--all of whom had custom software compiles--"waiting for their 'code.'" This person stuck to that even after I was emergency hired to fill in for a programmer who up and left, leaving them completely in the lurch.
- The same engineering guru couldn't understand (after several visits to my office) why I couldn't get a remote customer online because their IT tech didn't know how to replace a crashed hard drive. Finally, exasperated, she shouted, "So, this? This Is this a hard drive?" as she pounded on a box of tissues on my desk. At that moment I finally realized that the person chosen to supervise a software "division" of this company didn't even know that a hard drive was a physical object.
- When I said that our customers would eventually lose respect for us if we continued to crank out shoddy, half-baked products, my boss's reply was "We don't want their respect! We want their money!" (Isn't that the slogan of Street Walkers United?)
- One of my contacts--an old-timer IT technician--insisted that I communicate behind their firewall (this was in 2005, mind you) with PC Anywhere because using a secured, tunneling virtual private network connection was "going in the wrong direction."
It was a fun ride, computer engineering! Maybe if you would have stayed a science/engineering discipline, we'd still be hanging out!
However, the skills I learned will hopefully pay off now that the field is more of a hobby for me rather than a job. I'm currently designing (as of 2015-16) an analog synthesizer. I have begun the circuit design process, which you can see here:
Update: January 2016 - It worked!