There are those who hold the view that being self-taught is a disadvantage. As an individual of this sort, my views will be inherently biased. Please forgive me for this, and look past it. If you disagree (or agree) with my rationale, add a comment. I will respond to all comments.
The situation is such that there are advantages to both sides. It is my view that self-taught people are more specialized in their chosen areas of practice, at the cost of versatility.
Consider the range of exercises most Computer Science students undertake. Many of these are tasks that illustrate a particular concept, and will likely never be (directly) applied to any future work.
Many self-educated folks will not opt to study areas outside those that interest them (and why would they?). At the same time, they are not wasting the time they save by not learning otherwise dull concepts. Replacing these with things that capture our attention, and hold it is a far more productive use time.
There are those who hold the view that those trained through traditional channels (universities, formal training programs, etc) are being ‘shaped into drones by the system ‘. While I think this is a bit extreme, I agree somewhat, though I think the defining factor is motive, rather than environment. It just happens that most of those outside of traditional training models (the self-taught) share a common motive: Passion. We thirst for knowledge, and it is this that drives us to expand our understanding of a subject. A person who enrolls in a training program, or structured study of a field may share this interest, though it can safely be assumed that not all who take a course do it for the knowledge alone. Many undertake such training to secure positions in a related field.
I believe that one who learns something strictly for the sake of employability is setting themselves up to become a drone. The mindset required to know that ‘I spent four years studying to get this job’ sets the person up for direction. The goal was to get the job, and to fill a specific role.
The self-taught is more often driven by passion for their art. Where a classically trained developer may complete a project to the specification, the passionate developer is more likely to infuse their work with that extra spark that makes it truly exceptional.
Those trained in a traditional sense are often more versatile than the passionate programmer, and stronger in a wider range of tasks, the self-taught developer is often unparalleled in his ability in a select few areas.
The question I would pose is this: If you required critical brain surgery, who would you rather have done it? The surgeon who is very good at a range of operations? Or a neurosurgeon who excels at his chosen field, but only at his chosen field?
Written in response to: