ППКС!  А еще преимущества самостоятельного изучения программирования в том, что люди это делают, когда ОЧЕНЬ в этом заинтересованы, когда их это увлекает, когда им для работы это надо. Соответственно, они свои знания начинают применять на практике, соответственно, нарабатывают опыт и вырастают от junior в профессионала.