Some good points there, but I would also say it’s a bit more complex than that. I am a self-taught programmer, and while in the very beginning I tended to have a chaotic learning experience, I quickly realised I needed structure and decided on a path and tried to get familiar with its best practices. I work with many college-graduate programmers, and I would not say they’ve got more structure in their learning than most. What academia teaches is the science behind programming, something which some people are born with, while others develop this logical approach that’s so important in programming and development. One thing I agree with is passion for code. Self-taught engineers tend to be much more passionate about it, and that is because they never had to deal with all the other general stuff Universities teach and the sometimes unrealistic deadlines they impose, which frankly would kill most people’s passion for programming.