Мне всё видится несколько иначе: в ВУЗах переизбыток систематичности. Но это другая совсем тема, не буду в неё углубляться.
Эту тему не удастся не затронуть в подобном обсуждении. Особо не углубляясь, стоит отметить, что систематичность не только в ВУЗах, но и в ВУЗовских учебниках. Сложился определенный средний уровень необходимой систематичности. Если лектор или учебник сильно превышают этот уровень, это, возможно, и плохо. Но факт, что каждый выпускник отвечает этому сложившемуся среднему уровню. А вот школьник, даже талантливый, обычно не отвечает. Сужу по упомянутым выше соревнованиям Интела, в которых участвовал. Там не было ограничений на школьников. Были обширные обсуждения, из которых было видно, что ряд задач вызывает особые затруднения у школьников, прежде всего, из-за недостаточной математической подготовки.
К концу десятого класса я знал и умел кодить
Очень подходящее слово "кодить". Не вызывает сомнения, что этому можно научиться довольно легко и быстро. И в алгоритме быстрой сортировки можно разобраться. Но осознанно выбрать нужный алгоритм сортировки для не совсем тривиального случая гораздо сложнее. А что, например, сказать про алгоритмы умножения с высокой точностью через FFT (второй том Кнута)? В преобразовании Фурье школьнику возможно разобраться? Для чего люди по 5 лет на ВУЗы тратят?
умный, но не гениальный школьник, может быть посильно полезен в команде, которая профессионально разрабатывает продукт, годный для продаж
Согласен: может быть, и может, зависит от продукта. Если требуется, например, проделать рутинную работу, то, может, и не надо тратить время настоящего профессионала. Но в целом, судя по слышанным мной отзывам: дешевле сделать самим, чем "детский сад" устраивать. Цель ведь не только в том, чтобы код заработал, но и в том, чтобы его было нетрудно поддерживать. Нужны навыки документирования, понимание хорошего стиля программирования, учет человеческого фактора и т.д.
Но я не вижу причин, почему школьник не может что-нибудь сделать и продавать
Никаких проблем. Слышал о таких случаях. Но по сути это ничего не меняет. Например, школьник может скопировать из книги листинг несложной логической игры, сделать забавный интерфейс и обратиться к одному из кучи посредников, продающих shareware. Возможно, на эту программу будет устойчивый спрос, но не факт, что из десяти таких школьников удастся создать бригаду для написания серьезного программного продукта. Возможно, что одного-двух таких школьников можно использовать как подмастерий (лаборантов) в бригаде профессионалов. Но и только. Со школьника ведь и спросить толком ничего нельзя: если в программе возникает ошибка деления на ноль, то как винить школьника? А вот если профессионал не поставил проверки на равенство нулю, то необходимо спрашивать по всей строгости.