Quote (Tuna_BeIIy @ May 8 2017 06:19pm)
I know fuck all about programming but it would make sense to learn trial and error vs textbooks (which will most likely be outdated information)
Basically if the method you learned from a book changes in the slightest you will struggle to adapt
It's not really like that. You don't really learn things that are that specific, except for maybe some sorting and search algorithms (which are unlikely to be replaced any time soon anyway).
I don't know if it's a good analogy, but think of something like a chef school. It's like saying "if someone invents a new cake recipe, your chef training is going to be obsolete." But learning to be a chef isn't just memorizing as many recipes as you can, just like learning to be a developer isn't just memorizing some specific ways of writing software.
Also, a degree certainly isn't necessary to learn and to become a good developer, but it does help with finding a job. Many places have a strict corporate policy that they won't even consider your resume if you don't have post-secondary education. Doesn't matter how good you are, they won't invite you for an interview to even find out. A degree also tends to make developers that have a broader understanding and knowledge base. Self-taught people usually know how to solve the problems they've run into, but they often don't bother researching stuff that's maybe somewhat relevant but doesn't impact them directly. They often don't know hardware fundamentals, for example, and may not understand why a particular solution works much better than another due to hardware nuances. Since they didn't have to learn extra stuff (unlike someone who had to take a course on it to get their degree), they probably didn't even know it was worth learning about.
Source: I have a BSc in software engineering and years of work experience.