Computer science and software development have long lent themselves to untraditional forms of education. With low barriers to entry (have an internet connection?), and the spirit of finding better and faster ways to share information built into the very subject matter, programming feels more agile than something like law or medicine. It's become almost clichÃ© for a tech luminary to have a history of rejecting conventional training in favor of his or her own customized pursuit.
The results from Stack Overflow's 2017 Developer Survey support this notion, as 90% of respondents reported relying on self-teaching to hone their skills, and nearly half of respondents have taken an online course:
This, of course, is welcome news to Stack Overflow, a question-answer forum built on the premise that developers are both resourceful and generous, willing to query the programming community if they don't understand something and provide guidance if they do.
In fact, 80% of respondents cited Stack Overflow as a primary resource for self-education:
But one should hesitate to characterize the entire industry as a bunch of self-taught dropouts who together illuminate the futility of a high-priced formal education. In fact, educational background was one of the least clear-cut areas of the entire survey. A full quarter of respondents had attained a master's or doctoral degree, but another 30% had completed at most a high-school level education.
These divergent approaches were reflected in participants' opinion on how important formal eduction really was, where every level of agreement from "not at all important" to "very important" received at least 10% of the vote:
Clearly there's more than one way to learn how to code, and it's likely that respondents favored whatever path they happened to have taken. Plus, the nature of your job is also an important factor, as some roles, like data scientist, appear to value formal education more than others, such as graphic designer:
Of course, traditional classroom learning and Googling the error message aren't mutually exclusive. Often the interaction between both approaches makes for the most effective learning strategy.
So regardless of whether you're attending lectures or grinding through problem sets, shared online resources appear to be important, which is why the folks at Stack Overflow (and here at dev.to!) will keep on asking you guys to make each other better developers.