Recently an old comment that Elon Musk made about the importance of college degrees popped up again in the media, as they tend to do every now and then for some strange reason. And people once again started talking about whether or not they needed to attend college to work on rockets and such. Well, if you're going to be working on a rocket, then I'm pretty much sure that yes, you do need some type of formal education. In fact, it's fair to say that Elon's heads of everything probably hold prestigious titles and have probably taught at a school or two.
But do programmer's need college degrees is the topic at hand. Unlike rocket engine design, learning to program requires much less overhead and much less material. A few books and online tutorials can do much for a newbie.
From the point of view of someone that has a college degree and that has had to interview people for programming positions, is it important? That's the question that we'll be discussing today in what will hopefully turn out to be a not so serious jab at this thing that we label college.
Most programming jobs require a college degree
Sure, Elon Musk may not require any fancy college degrees as he is allowed to do. But many many many other companies do. In fact, I'd wager most won't look at your resume unless there is an Education section on it somewhere. I know, as I've worked for many of those companies in the past. Large software corporations do in fact have HR departments, and those HR departments do look at every single resume that goes through their inbox and forwards them accordingly. Education is usually a metric in their evaluation process.
This also goes hand in hand with many internship positions. Many internships are acquired through the college system usually. It's where companies go directly in order to find young and free talent for the most part. So from a more societal based take on the whole thing, there's a high chance that you will need a college degree in order to at least start off in the programming field.
Most jobs are not entry level jobs
If you were going to hire a senior level System Administrator with 20 years of Linux under his belt, more than likely, he probably went to college decades ago. He probably had to. He didn't have the Google's to guide him back in those days. And that transfers over to now. Companies that I've worked for in the past always kept a few entry-level jobs open, but for the most part, they were few and far between. Most of the hires that I've had to interview for were for other developers that quit unexpectedly and had to be replaced asap.
This usually boiled down to people that graduated college sometime in the 90's. And back then, college was all the rage. So just based on where we are in the timeline and the demand of skill in the corporate sector, a college degree will probably boast well for you.
The highly mathematical and physics-based programming
You can look at the curriculum of most college Computer Science requirements and they will be chock-full of math and science classes. And not basic math and science, but the more advanced electrical engineering and theoretical calculus-based ones. While back in those days those courses seemed like a total waste of time, in hindsight one can see how the more scientific based approach to teaching computer science an lead you down an entirely different rabbit hole in your career.
These concepts are of the kind that you can't really just pick them up at the workplace or by reading about them online. At least not done so in a way that an employer would find it safe to hire you. If you were going to be writing software for medical equipment for example, then the expectations would be higher on your ability to produce higher quality work.
Experience will always outweigh education however
However, there are always exceptions to the rule. If you have no real world experience, then you must have a college degree. That's pretty much certain just be reading it out loud. You can't walk into a bakery and apply for a job without prior bakery experience or a Le Cordon Bleu degree. Especially when other bakers are going to be applying for this position as well. You're always just one drop in the pond. But if you have no formal degree but have worked for that incredibly fancy bakery in that part of town where you can't afford to shop, then welcome aboard.
As someone who has hired people in the past, you can tell immediately when someone is knowledgeable in their field and it is refreshing to see that they aren't trying to impress anyone. This immediately shifts focus away from the Education section and in fact, you can safely put the resume down and just have a human interaction. These are fewer and far between, however.
Our current paradigm shift
Everything just mentioned, however, is based on a more traditional approach to employment. A very one-way road kind of path really. The mentality being "I work at Company A". Very linear and very little room for exploration. If you look at current trends in software engineering, most programmers probably aren't expected to be at a company more than 1-2 years. And soon after these young programmers go off and start their own companies.
If you look at most new "tech" that is being released today, the complexity has been downgraded by several levels. Even the most junior of developers can explain to you the entire tech stack for a billion dollar website. Usually falling along the lines of Rails or Node. So in a way, we've added an entirely new layer to software engineering that has much more room for people with no formal education. Sure the sysadmin who runs 142 servers probably needs a college degree and several certifications to show that he can handle the workload. But the front-end dev who's splitting PSD's and PNG's can probably do just fine without them.
And in the end, it all comes down to where you want to find yourself in this board game we call life. Do you want to be a part of this new abstract layer, a bit simpler with more room for exploration, or are you more inclined to the complex inner workings of which undoubtedly you will need the guidance of educators? There's no wrong answer really. It should be whichever you enjoy most. And while Elon makes a valid argument to his statement, it is somewhat careless to think that this is the new norm and that everyone should drop their entire class schedule in order to go to Mars.