Not the first time Saxxon has put out a little Twitter survey, not the first time I’ve responded. But I did run into the little issue where 140 characters was nowhere near enough to get into my thoughts. It’s honestly not a terribly well-framed question, in my opinion. But it does get to the question of experience and education, which is a really important one, especially when it comes to hiring. Luckily (for myself and others), I’ve never been responsible for hiring people, but I have heard how tough it can be and had plenty of thoughts about it.
The reason it’s tough is that resumes are worthless. (The reasons for that are so dense as to warrant their own blog post.) So, in order to work a pile of resumes down to one that’s reasonable to handle manually (and thus correctly), hiring managers use filters. College degrees are a pretty easy filter. So, they’re a pretty popular filter.
Basically, the question is about newbies, and what constitutes one versus a “noob”. A newbie is someone insufficiently experienced on doing a job – a guaranteed status for just about anyone being hired, thanks at minimum to lacking internal knowledge – while a noob is inexperienced and ignorant. A newbie will learn; a noob won’t.
The problem is what Saxxon was getting at with his tweet – there are tons of hobbyist programmers, and many are actually good. Some of those are better, on a technical level anyway, than college graduates. A degree doesn’t make one a newbie, a lack of one doesn’t make one a noob. (Or vice versa.) Hiring managers would never know one way or the other if they’re just blindly using their filters. Luckily, I have seen plenty of job listings that say “degree or equivalent experience”; what ‘equivalent’ means is rarely specified, but at least the filter is loosened. The problem is that the filter is still out there.
Ultimately, the question does ask an either-or. And I skipped out on answering it, because I find personality is the important part. Someone is either going to be good to work with, or bad to work with, and a college degree doesn’t designate that. I was actually discussing the topic with my boss earlier today, in the context of outsourced software developers. Most of them have college degrees, and most of them suck to work with. Which doesn’t mean they don’t know what they’re doing, it just means they’re a hassle in one way or another.
On top of that, there’s the question of motivation. Why did a CS graduate go to college for it, and why does the hobbyist develop their material on the side? And why do they use the languages and paradigms and so forth that they do use? Why do they learn? There’s nothing saying a hobbyist can’t be stubborn and arrogant about how they develop and how they learn, but at least they got into it on their own. I’d say that’s worth at least a phone interview.
If you really, really want to press me for an answer? Despite holding a degree, my vote is hobbyist. Or maybe a compromise; someone with an unrelated degree who also learned development on their own. If they can learn without the structure of college, if they can learn out of their own volition, they’re probably more likely to keep on learning. They’re probably at least a little more of a newbie than a noob.