Не спорю.
Про скатывание фундаментального к прикладному и т.п. - да, в точку, увы.

В идеале педагогическая задача тут очень непроста.

Но если говорить о после-школьном возрасте, когда всё же приходится как-то условно "сортировать", в кого что вкладывать, а уж с той же мотивацией и типом личности работать "как есть"...

а) Талантливый самоучка - не бардак, а всё же хаос, мыслить любит и умеет. Читать тоже любит, не только гугло-выдачу, а и книжки. Тут как раз и нужно "причесать" как в целом картину проф. деятельности, так и конкретные методы программирования (объяснить критерии выбора того-другого, научить принятию проектных решений, научить делать "надежный код" и т.п.).

б) "Типа-Звезда" с бардаком и понтами, думает, что думает. (Читать не любит, разумеется). Ничего особо сделать нельзя уже в после-школьном возрасте.

в) Человек, который всё же не хочет вставать на путь "высшей лиги", а хочет эдак спокойно что-то делать в ИТ-шной сфере, т.е. "кормиться" не самым тупым образом. Но становиться мастером экстра-класса не будет, т.к. не готов вкладывать столько сверх-усилий. Тут я и говорю о быстрой подготовке середнячка. Нужны же люди, которые будут делать "ещё одну подобную систему для очередного заказчика". Таланты на этом сохнут - да и стрельба из пушки по воробьям...

г) Человек типа а), но пришедший в информатику "с чистого листа". Тут ещё поинтереснее, чем в п. а). Вот живой пример у меня:http://www.inr.ac.ru/~info21/primery/1tarasovorel.htm
Дальнейший профессиональный рост у парня пошел тоже дай Бог каждому.