Having a degree in computer science does not necessarily mean someone can program, so you have to test their skills. Being self taught does not necessarily imply someone is better, but it might imply their interest took hold at an age where being taught to program was less of an option. These days kids are learning to program to a degree, but even someone in their 20s now is less likely to have been programming as a child. So someone who has been programming since childhood, but didn't have a degree, might (or, maybe likely is?) a better programmer than someone with a computer science degree and little to no experience.
Not necessarily, but Computer Science is one of those fields that you can easily be self taught without many physical resources. In fact you mostly only need a computer and the internet, which most people do have.
It's different from a kid learning to become a mechanic. They'd need far more resources for that.
Good developers are self learners (autodidactics). You don’t get to be good by skating by on whatever you learned in school - you need to be continually learning.
I have a degree but I taught myself after my first programming class. My wife’s dad got her started on a little computer and she took it from there.
Certifications in programming seem like a way to separate people from their money. It might even mark you as an amateur as I’ve never met a real developer (to my knowledge) with a certificate with the exception one software P.E. [1]
Certifications are pretty useless. But self-taught developers are awesome (if they have some evidence that they're capable; past projects are a good indicator). They're typically self-motivated and fast learners, which are great qualities in an employee.
I would chose the person who convinced me they were most talented / qualified. How they got their education and what pieces of paper they have is mostly irrelevant.
Having a degree is a signal, of something, but I'd argue that it's a pretty weak signal of "is competent at programming". Likewise for industry certifications... they are a signal, but a weak signal.
Note also that this whole setup is a false dichotomy... plenty of programmers are a mix of college educated and self-taught, and may also have one or more industry certifications.
Looking at myself as an example... I have three college degrees (although I never finished my C.S. bachelors), but I consider myself more self-taught than formally educated. I also have 2 of the old Sun era Java certifications. And I have found that this sort of combination isn't uncommon. shrug
I care about people who can get the job done. Having a degree doesn't prove to me that you can. Showing me a catalogue of open-source contributions is a much more powerful suggestion that you can work on software and document it for others for consumption.
There is a hybrid response here. Those who are self-taught may not be aware of various algorithms or techniques for handling certain scenarios.
Self taught may have fundamental skill sets, but there is benefit in having some sort of educational background which introduces one to some of the more complicated aspects of application design and implementation.
It is that, or being a voracious reader of technical books and being a conference goer, ... ie, basically somehow being able to keep track of and understand the goings-on of current paradigms.
self-taught candidates are typically self-motivated and have strong interests, graduates may have those qualities as well, or they may have had it beat out of them in the course of their studies