Как то немного ушли от первоначальных утверждений. Например про то, что программисту не нужен техническо/инженерный уклон в образовании.
Не "не нужен", а не должен быть единственным и решающим, но сильно зависит от будущей сферы деятельности.
Тип задач и заинтересованность преподавателей - это уже частность внутри направления. В целом готовые ребята получаются из тех, кто уже подрабатывает со 2/3 курсов по специальности +-.
Да, подработка на старших курсах - это большой плюс при поступлении на работу,по крайней мере, я так считаю при рассмотрении резюме кандидатов, и то если это коммерческая структура, а не гос. НИИ или бывший гос.завод. Но к профессиональным качествам подобный опыт обычно добавляет немного - подобного рода парт-тайм студенты используются обычно для малоквалифицированного монотонного труда. В личном плане это большой плюс, в профессиональном - обычно ноль.
Про год стажировки до автономности в задачах - это вообще какой то ужастик мне непонятный, если честно.
Абисняю. Вхождение в проект по сопровождению и развитию финансовой корпоративной системы занимает у квалифицированного программиста примерно полгода - необходимо получить приблизительное представление об основных бизнес-процессах, изучить основные понятия и терминологию предметной области (в моем случае - страхования жизни) и получить представление об основных сущностях ER-модели БД. Для новоиспеченного выпускника хорошего ВУЗ-а к этому еще добавляется изучение PL/SQL (в моем случае) на достаточно высоком, совсем не институтском уровне, и средств разработки на уровне свободного владения. У хорошего, талантливого выпускника хорошего ВУЗ-а это занимает минимум год, прежде чем он сможет самостоятельно выполнять не очень сложные заявки пользователей и не очень сложные, обычно типовые, самостоятельные разработки
без получения по конкретных указаний что и как делать от старших коллег по каждой задаче. До самостоятельного, творческого проектирования ему потребуется примерно пять-семь лет опыта решения все более и более сложных задач, тогда, при всех благоприятных условиях, из него получается хороший программист.
Но это модель работы "на земле", т.е. в составе внутреннего ИТ-подразделения какой-либо компании. В софтовых "живопырках", пафосно именующих себя "системными интеграторами", процесс сильно отличается, причем, по моему искреннему мнению, в неблагоприятную для выпускника сторону. Кто "на земле" не работал - тот не программист.
