I graduated about 15 years ago. In that time, I’ve formed the opposite opinion. My degree - the piece of paper - has been mostly useless. But the ways of thinking I learned at university have been invaluable. That and the friends I made along the way.
I’ve worked with plenty of self taught programmers over the years. Lots of smart people. But there’s always blind spots in how they approach problems. Many fixate on tools and approaches without really seeing how those tools fit into a wider ecosystem. Some just have no idea how to make software reliable.
I’m sure this stuff can be learned. But there is a certain kind of deep, slow understanding you just don’t get from watching back-to-back 15 minute YouTube videos on a topic.
>I’ve worked with plenty of self taught programmers over the years. Lots of smart people. But there’s always blind spots in how they approach problems.
I've worked with PhDs on projects (I'm self-taught), and those guys absolutely have blind spots in how they approach problems, plenty of them. Everyone does. What we produce together is better because our blind spots don't typically overlap. I know their weaknesses, and they know mine. I've also worked with college grads that overthink everything to the point they made an over-abstracted mess. YMMV.
>you just don’t get from watching back-to-back 15 minute YouTube videos on a topic.
This is not "self taught". I mean maybe it's one kind of modern-ish concept of "self taught" in an internet comment forum, but it really isn't. I watch a ton of sailing videos all day long, but I've never been on a sailboat, nor do I think I know how to sail. Everyone competent has to pay their dues and learn hard lessons the hard way before they get good at anything, even the PhDs.
I think it depends on how they were self taught. If they just went through a few tutorials on YouTube and learned how to make a CRUD app using the shiny tool of the week, then sure. (I acknowledge this is a reduction in self-teaching — I myself am self-taught).
But if they actually spent time trying to learn architecture and how to build stuff well, either by reading books or via good mentorship on the job, then they can often be better than the folks who went to school. Sometimes even they don't know how to make software reliable.
I'm firmly in the middle. Out of the 6 engineers I work with on a daily basis (including my CTO), only one of us has a degree in CS, and he's not the one in an architecture role.
I do agree that learning how to think and learn is its own valuable skill set, and many folks learn how to do that in different ways.