I went to Japan as an exchange student when I was 16. I had never studied Japanese at all. The thing that surprised me the most was how hard it was for foreign students to unlearn the bad things they learned inside their American classrooms by listening to their friends.
Most of them picked up bad pronunciations, bad grammar practices. Even if they were diligent (which is being generous for the high students they sent over with me), they would hear other students speaking in ways that made sense to them from their perspective of how English works. They would hear and repeat Japanese words in the bad pronunciation style their friends in class did, and those ways make sense. But, none of those practices were what Japanese people did.
I often remark on how fortunate I felt to have only learned Japanese in a setting where I only heard correct pronunciation and heard statements made by natives. In three months I was ahead of others who had studied back in the US for two or three years or more.
I would really love to see if anyone has studied this effect inside the world of software engineering. We pride ourselves in the hacker culture where self-directed learners are glamorized, but I wonder whether having good teachers and getting good feedback early on would make a large or small difference long term. This could be a startling alternative to the "naturally brilliant prodigy" stories we always hear.