These Past Three Years
Jul 4, 01:59 PM by Eric Allen
Whew, it’s over! A little over a month ago, I graduated with a B.S. in Computer & Systems Engineering from Rensselaer Polytechnic Institute. Since I finished my time at Peninsula School, I’ve spent only six years in intensive formal education, and that’s enough! Some people look back on high school or college as the best years of their life, but I’ll be damned if I can’t do better over the next, what, 80 years?
I went off to college a bit prematurely, which I knew would affect my admissions prospects at top schools. I found myself at RPI, a well-respected engineering school in upstate New York. I opted to steer clear of CompSci and instead declared my major as Computer & Systems Engineering. I wanted to gain experience with every aspect of computing, all the way down to how the circuits inside the chips work. Over the past three years, I’ve definitely gotten that.
I was struck yesterday by some kudos from my 45-year-old coworker who was apparently telling his wife how this kid at work (me) had actually put his education to good use. We had been discussing computer stuff at lunch, and my Computer.Build project had come up. I have actually worked with basically every level of computing, and I understand how computers do their job at a pretty intimate level. A lot of this I learned on my own, but there are details you’re just not going to get outside of school. If that’s the only thing I wanted from college, then I’ve certainly succeeded.
Have you ever wondered why bridges, buildings, cars, and most other engineered things tend to work, while software always tends to fail? I certainly have. Many in the software industry have, too, and there are a number of books on the subject. My theory was that engineers had some secret methodology that we software people just never figured out. So, I went to an engineering school to see if I could learn this secret. Now? I’m not so sure. Engineers certainly take a lot more time on things that we software people just whip through. If we were as careful with software as we are with hardware, things would probably be less buggy. However, the current software industry is based on software being cheap to produce, and applying more engineering practices to it will take a lot more time. Engineers also don’t even think about working until they have a full specification in front of them. We software guys often fly blind, with the business people making up the spec as we go along. In software, we can get away with this, but it certainly leads to bugs and inconsistencies. Engineers don’t have the luxury of 24-hour release cycles like we web companies can pull off. It’s a trade-off we make, and I think we’re making the right choice. All-in-all, I think the software industry has something to learn from engineering, but I’m not going to call myself a Software Engineer. We have yet to figure out how to do it right consistently enough to call ourselves engineers.
Was college worth it? Probably. The elders I talk to tell me I’ll come to recognize the value of my education later on. For now, I keep wondering if I’d have better off capitalizing on my early experience with Ruby on Rails by dropping out of high school and starting a Web 2.0 company back when that was cool. What twenty-something programmer wouldn’t wonder that? I took the conservative path (albeit accelerated), and it’s worked out pretty well. What’s a few years here and there when you’ve got decades to go? I feel blessed to be surrounded by great people, to love what people pay me to do, and to have a wonderful family. Life is good.