The same could be said for any profession as you can teach yourself pretty much anything you want these days.
The difference with a degree is that employers know that you've learned the right stuff. Somebody who has been self-learning for 2 years may be able to write code but could lack knowledge of the theory behind what the code actually does and other non-coding things like the software development process, lifecycles, documentation, testing, etc.
There's also the fact that most developer jobs have a degree qualification as a requirement. You could be the best coder of all the applicants but you won't get the job if you don't even get an interview because you're not degree qualified.
That's not the case in a lot of organisations. HR/recruiters/manager with half a brain know that experience trumps degrees. Few finish a degree ready for the real world of IT unless they've been working in IT already during the course or while working passionately on their own projects too.
Some of the best people I've worked with in IT don't have a degree. A couple of them bailed out on their degrees as they said they weren't learning anything new. Hence, the best developers are passionate and started developing at a young age, not someone as a mature student who suddenly decides they want to get into IT and programming.
I don't have a degree. I've landed positions where the job spec stated a degree but on discussing the role etc, I;ve ended up being suitable - I just sent my CV in anyway.
I don't think it's a case of self-learning vs a degree. But maybe some self-learning first and then start applying for junior roles, trainee roles etc and then trying to learn from the best! It's quite easy for people to start in testing for example and then move into development roles, or analysis (business analysis, systems analysis etc) and then project management if they want to.
Degrees can help but I think people have been a bit brainwashed into the "must have degree" thinking. I think it was on OCUK recently where I read someone wanted to change jobs so was thinking about going back to uni again, when IMO, they'd be better off trying to get into the career they desire.
I got into IT easily, as someone showing passion for it, while also willing to sacrifice the salary to begin with. I've never considered myself as the most gifted however. As time went buy I obviously reached the same level degree educated folks reached. A lot of people in IT don't even have IT degrees either. Worked with many ex-teachers, many with psychology degrees, biology etc. No more useful than not having a degree to be honest.
A lot of people around me have degrees and assume I do too. Sometime I tell them, other times I just keep quiet and grin to myself while thinking "if I had a degree I'd want to be much further ahead than this ****"
. Basically if I spent 3-4 years at uni I'd have my sights set on working with the best companies on AI, robotics etc, not writing some "just another noddy web app" but this is where most end up
.
Most professions could be better learned on the job - something I'm a believer in, or at least companies giving a % of their positions to people taking this route. Medical stuff is a bit different though.