Many self-taught developers tend to have a stronger technical understanding of the work and problem solving in general compared to formally educated developers but it’s hard to tell as an outside observer. The reason why self-taught developers may have a technical advantage comes down to theory of practice as opposed to theory in general, which means understanding of how things actually work as opposed to how they should work. That difference tends to frame perspectives in accordance to anchoring bias.
Note: I am a self-taught developer.
But agree with other comments that if you are completely self-taught you will likely miss some fundamental knowledge which is crucial when you go from working on small side-projects to building large systems.
- I doubt I would have figured out automata theory on my own.
Most programming tasks are just fine with those holes.
- Most programmers don't need to know automata theory
Classes assignments included some interesting topics I doubt I wouldn't have come up with on my own.
- I know some others are way more self-directed than I was.
I expect self-taught people are more likely to develop incorrect mental models of how computers work.
In short, it depends on the person and the type of programming.