Можно пробовать искать проекты на свободном рынке, конкурируя с фрилансерами. На мой взгляд, идея не жизнеспособна. Качество и скорость разработки вряд ли устроит заказчика. Возникают серьезные сложности с мотивацией взрослых специалистов, которых должны привлекать стажеры.
Довеском идет проблема с профессиональным дизайном. Если его не будет, продукту на рынке ничего не светит. Услуги профессионального дизайнера стоят немалых денег. Для взаимодействия с ним тоже нужен немалый опыт.
Из всего вышесказанного вытекает, что задача массовой стажировки начинающих программистов-школьников привычными способами не решается. Найти задачи для нескольких десятков наиболее продвинутых школьников возможно. Для десятков тысяч будущих программистов нужно придумывать что-то другое. Предложу свою модель.
Идея проста и почти очевидна: нужно постановку практических задач для будущих программистов унифицировать и поставить на конвейер. В рамках такого конвейера:
каждая задача – это модуль-расширение некоторой цифровой платформы;
для такого модуля-расширения имеются четко прописанные форматы, механизмы и интерфейсы взаимодействия с ядром платформы (API платформы);
в ядре платформы реализованы все сложные программные компоненты, недоступные для начинающих программистов;
для программирования модуля-расширения достаточно базовых знаний, готовности и умения осваивать новые знания с помощью консультантов или своих же товарищей-стажеров;
постановка, авторский контроль, дизайнерские решения предельно унифицированы;
в качестве постановщиков можно привлекать тех программистов из ИТ-компаний, которые хотят пробовать себя в качестве руководителей проектов и бизнес-аналитиков.
В качестве идеи для такой платформы предложу тезисно концепцию «волнового игрового программирования».
Первая волна программирования – разработка маленьких игр в стиле puzzle. Таких игр на рынке тысячи. Каждая игра разрабатывается как отдельное расширение платформы. Все самое сложное платформа берет на себя.
Особенностью таких игр на платформе является возможность подключать внешний алгоритм игры. Для этого игра имеет специальные интерфейсы.
Вторая волна программирования – написание алгоритмов (интеллектов) игры для конкретных расширений. Пишутся они, например, на JavaScript. Любой желающий может выбрать игру, написать для нее свой алгоритм и «стравить» его с алгоритмами других программистов.
Сделал Иван расширение для игры в покер. Ничего сложного, если платформа берет на себя типовые дизайнерские решения, взаимодействие с базой данных и др. Потом сотни желающих начинают писать свои алгоритмы игры в покер. Вызывать на дуэли других разработчиков, участвовать в турнирах.