I think degrees are remaining a requirement because a hiring manager and recruiter at a large company are risk averse.
There's an old saying: "Nobody ever got fired for buying IBM."
It basically means that, if you use IBM for something and it doesn't work out, you can tell your manager "who could've guessed — it's IBM!", and you'll be mostly off the hook. If you were to use some promising new startup, even if it's more likely to do a great job, the fault is squarely on you if it goes wrong.
Similarly, when hiring an engineer, the recruiter and hiring manager can explain away a bad hire to upper management by saying "what a fluke, they have a degree from Harvard!", while they would be in a tougher situation if they made a bad hire and that person had no degree.
I agree completely. We just can't imagine doing things differently.
Fun anecdote: when I was 16 (with a couple years of experience as a developer) I was working for a company on some PHP codebase and they hired someone with a master's degree in computer science to work on it with me.
10 minutes after the first meeting he set his Skype status to "HELP: can anyone teach me PHP programming"
There's an old saying: "Nobody ever got fired for buying IBM."
It basically means that, if you use IBM for something and it doesn't work out, you can tell your manager "who could've guessed — it's IBM!", and you'll be mostly off the hook. If you were to use some promising new startup, even if it's more likely to do a great job, the fault is squarely on you if it goes wrong.
Similarly, when hiring an engineer, the recruiter and hiring manager can explain away a bad hire to upper management by saying "what a fluke, they have a degree from Harvard!", while they would be in a tougher situation if they made a bad hire and that person had no degree.