Can they be as good as who has CS degree?
I was self-taught and then went to university for CS. I think a blend like this was helpful because it keeps me grounded in practicality. I've often found that many that only learned coding through CS tend to not really like coding and are very academic. To me this means they are not good at getting stuff done.
Being self-taught is great because it demonstrates some major motivations. But it also means you could be doing things the wrong or inefficient way as they are some techniques taught in CS that are certainly useful.
So even if you are self-taught take the time to get at least some CS background. I think it will also help.
Development methods used in school often get outdated before people even get a chance to experience them in the real world. Think about it, what programming habits have you changed in the past 4 years? Do you do anything now that you did 4 years ago?
It depends on the discipline. Frontend web developers are a relatively new thing. For the longest time there were only self taught frontend developers.
Modern educators frequently don't teach the basics of frontend development instead opting to make people use bootstrap and [insert framework name here].
I see most of the responses to this question are positive. I've never seen the inside of a public (or private) school, let alone college or university. My parents believed in home-schooling, and that's how they brought me up. I started being passionate about web development at a late age (21 years old - when people are halfway through uni already), and it's been a year since. I'm driven by passion alone, and I love what I learn.
The responses to this question are pretty interesting and super encouraging :)
Can they be as good as who has CS degree?
Yes. Next question? ;)
CS degrees provide a structured and comprehensive way to learn, with plenty of time to get through it over a few years. But there are some tradeoffs and caveats:
Being self taught doesn't guarantee you avoid those pitfalls either, but it's pretty neutral. You can certainly learn development on your own, it's become much easier over the years with an abundance of online courses (free and paid). One thing you can know though, is if someone had the passion and drive to teach themselves they're pretty motivated.
I think short, intensive training has become popular because it sits somewhere in between - you're not on your own, but you also aren't paying for an entire degree.
I've hired plenty of self-taught people over the years, and some of the absolute best I've worked with didn't have any relevant university qualification at all. Some others did. YMMV, naturally.
As good as? Many times, better. I'm self-taught, so I have a bias.
Honestly, though, I've hired both in the last 20 years. It's a mixed bag. To be honest, I've had better success with self-taught ones.
I think what's largely missing from those with a CS degree is passion. For many, it's just a job. They're book smart. But that's it. Have them try a new language with no one else to teach them and see what happens.
To me, programming is an art form. The computer is a canvas. It's really hard to teach the ART of programming. You can teach algorithms. You can teach syntax. But you can't teach someone how to string it all together to make something fantastic. That's a talent, a gift. Some with a CS degree have the gift, but, really, I find that more in the self-taught crowd.
I prefer dealing with the self taught. 20 years ago I was handling hiring for a company making accounting software, and EVERY fresh out of college kid I interviewed couldn't handle the simplest of questions. Worse when we did hire them we had to waste a year de-programming them from the manure the career educators had packed them full of.
I had encountered the same thing on the hardware side hiring for a mom and pop whitebox builder a few years before that, and again when I was running my own shop. The simplest of questions, like "how do you add a second drive to a PC compatible" you'd get a blank stare.
When at the time (early '90's) the correct answer would have been 'MFM, IDE, or SCSI?'
In my experience all coursework does is at BEST teach how to play "bullshit bingo" spewing marketspeak double-talk, and at worst teach you "programming paradigms" that result in nothing more than trying to shoe-horn the taught programming models (such as MVC) into places they don't fit (like PHP).
Seriously, half the time I deal with the "college educated" IT crowd I'm tempted to yell out "BINGO!"
But that could be related to my college education being in aeronautical engineering. Yeah, that worked out. NOBODY I know actually works in the field they went to college for.
The past fifteen to twenty years of dealing with web stuff? Same deal where the self-taught have more drive, useful knowledge, and are less prone to meaningless rhetoric.
It also speaks well of their work ethic; people go to school because it's expected by their parents or society as a whole, and because they think it will be a one-stop-shop for their "career". Someone who is self taught had the drive and interest to stay on track not because of getting a good grade, but because they wanted to actually learn!
I was gonna make a joke here, but deleted it as too political and offensive to the white collar criminal ivy league crowd.
In an industry that is always changing someone self-taught has the skills to keep up.
In an industry where 3 years is obsolete, 5 years is the scrapheap, what good is a 4 year learning program?
As Clemens wrote, "I never let my education get in the way of my learning."
Someone interested in learning it themselves can be truly competent in a year, a master in three or four. Someone who went to college "because" often takes two to 8 years of school just to get fudge packed with BS, and then another four to six years to unlearn all the trash they were saddled with to even start to approach competent.
To make a simile, it's like how people who actually know how networking works cannot pass the MSCE's networking section. The book and what educators say has dick-all to do with how things really work.
YMMV, but that's what my experience over the past 40 years says. Of course when I went to school there was no such thing as a degree in IT fields apart from two or three places my grades were nowhere good enough to get into. Said low grades being out of boredom from already knowing the material.
Some thoughts...
I only did a CS minor myself. I do miss some academic knowledge sometime, especially type system stuff recently. Although universities teach that, it's not a standard part.
Dudus Ray
Computer Science Student
Why not? CS is just a syllabus.