Monday, May 11, I’m joining 15 other students who are graduating from Northeastern State University with a Bachelor of Science in Computer Science. Academia has occupied much of my time, energy and attention the past few years, but I have no regrets.1 Today there are undercurrents that seek to undermine attending a brick-and-mortar university for a four-year computer science degree, which compels me to write upon the matter.
No one disagrees that education is incredibly important. The question is where and how it should occur for people who want to make their living with computers. If you want to become a nurse, a psychologist, or an accountant, you need a degree. There’s not a lot of grey area. In most white-collar professions you legally need a degree, or at a bare minimum you need it to get past the first interview.
Computer science is different. I’m connected on LinkedIn to half a dozen recruiters in Tulsa, Oklahoma who every few months reached out to me during college and tried to see if I was available for a full-time position. The fact that I didn’t have a degree had no bearing. They weren’t doing sloppy HR work either; I’ve interviewed in-person with tech companies and gotten the same vibe. Many of the employers I’ve talked to don’t care if their computer scientists are formally trained or not, so long as they know their skill. On more than one occasion, the person interviewing me had dropped out of college! One of my good software developer friends from OSUIT got a full-time job while still in college. He already knew how to write software, so why not?
Not only this, but the Internet has exploded with a wealth of free or inexpensive websites that can equip someone recently out of high school with all the tools and skills they need to make a living writing software. MIT OpenCourseWare has uploaded its stellar class lectures to YouTube where anyone can watch them for free.
Finally we come to the tech rock stars who all dropped out of college: Bill Gates, Steve Jobs, and Mark Zuckerberg. If they could build multi-billion-dollar companies without a four-year degree, why should anyone else?
If all of these arguments are factually true, why am I so glad I got a BS in computer science?
A couple of reasons. First, because every discipline needs formal standards. The more advanced we get, the less we want things to last. Everything is becoming biodegradable and digitized. The problem is that due to data degradation, all digitized information is slowly rotting away at the same time that all physical products are doing the same.2 We’re no longer building pyramids and etching documents in stone. We’re playing a different game here, and it’ll work as long as at any given point, there are people who can collectively reconstruct the entire system from scratch. In order to do that we need to stay organized with the formal standards of academia. The human brain is itself susceptible to data degradation and biodegration—we’re bottlenecked by our mortality—and it’s incredibly important that we impart our information to the next generation.3
Online resources can make a programmer employable, but it teaches them nothing about the core fundamentals of computer science. And while I’m not pretending a four-year college degree qualifies someone to write an operating system from scratch, it does educate them at a high level and give them a solid knowledge base with which they can then dive into a specific area of expertise.
We need smart people at all levels of the food chain: people who understand the past, present, and future of computer science in all its dimensions. This requires a lifetime of learning but formal academia is the best place for it to start.
Granted, anything taught in a college classroom can be found on the Internet. But watching a YouTube lecture about how the Round Robin algorithm works for a CPU isn’t exciting enough for most people to study on their own. They need a kick in the seat of their pants, and a college classroom gives that. Being surrounded by other students just as confused as them, with their GPA in the balance, forces them to hit the textbooks. I daresay most self-taught Ruby on Rails developers haven’t studied the Shunting Yard Algorithm, Reverse Polish Notation or Huffman Trees. They certainly wouldn’t do well on the ETS Major Field Test for Computer Science. I bet they’d even have a hard time counting in binary from 1 to 10. They might be able to write some code but they’re not computer scientists.
The second reason I’m glad I got my degree this: college is where you grow up. A few months ago, I attended a lecture by “Uncle Bob” Robert Martin and his son Micah Martin. Their company, 8th Light, writes software and takes apprentices. During Q&A I asked Micah if 8th Light had ever taken in a teenager straight out of high school. He said, “Yes, but we don’t really do that any more. 18-year-olds haven’t always quite figured out grownup things like financial management.” His answer rang true. I wasn’t ready for life when I was 18.
A person’s college years are where they go from being a teenager to an adult. Those years are incredibly formative for their occupational future. If an 18-year-old decides to not go to college, they will still become an adult in the next 4 years, but I must ask what they plan on doing in lieu of college that’s so important during those years. If they want to be a computer scientist, they’re making a mistake.
But what about Bill Gates and Steve Jobs? Don’t worry about them. Your job is to outperform them, and that starts with getting a degree they never had. In the words of Nicholas Selby:4
Our mission as students is not to follow in the footsteps of the astronauts, Nobel Prize Laureates, and presidents who graduated before us, but to exceed their footsteps, crush the shoulders of the giants upon whom we stand.
A closing word of caution: we shouldn’t all get degrees in computer science. If you don’t like the idea of spending the majority of your waking hours reading and writing a language that you can never use with another human, there’s nothing wrong with getting a liberal arts degree. Or no degree at all.
But if you’re going to be a computer scientist, go to school and don’t leave until you are done.
- I hustled and got my degree in 3.5 years, mostly because I started late. Before I knew I wanted to be a computer scientist, I was staunchly opposed to postsecondary academia. ↩︎
- We had some Google employees from a data center in Pryor speak at a college club and I remember being surprised to hear that Google’s primary archive system was physical tape. Google takes data degradation very seriously. While tape feels old and clunky, it is still the best long-term archive available from a cost standpoint. ↩︎
- Making a positive impact on the minds of tomorrow is incredibly rewarding for many teachers, despite the all-too-often paltry pay. ↩︎
- If you haven’t seen Nick’s convocation speech, it’s worth the two minutes. ↩︎