I'd say there are tons of hidden dependencies you have to learn in writing programs. Stuff that the tutorials and books often leave out. And that most developers take a few years to learn these dependencies, because there currently is no widely-known easy way to learn all this "tribal knowledge".
And when universities try to systematize ways to learn this tribal knowledge, they come up with a curriculum that takes most people 4 years to get through. (Yes there are many smart developers who could learn the curriculum faster.)
I'd say there are tons of hidden dependencies you have to learn in writing programs. Stuff that the tutorials and books often leave out. And that most developers take a few years to learn these dependencies, because there currently is no widely-known easy way to learn all this "tribal knowledge".
And when universities try to systematize ways to learn this tribal knowledge, they come up with a curriculum that takes most people 4 years to get through. (Yes there are many smart developers who could learn the curriculum faster.)