Коротко: в портфолио кладут не сертификаты, а ссылки на код: телеграм-бот, игра на Pygame, небольшой сервис с базой данных. Три законченных проекта на GitHub весят больше, чем список пройденных тем.
Портфолио программиста — это не папка с сертификатами, а ссылка на код, который можно открыть и посмотреть. В ступени «Python Pro: до портфолио» для 14–18 лет этому подчинена вся структура: почти каждая крупная тема заканчивается работой, которую не стыдно показать.
Почему именно GitHub, а не сертификат
Сертификат говорит, что человек посещал занятия. Репозиторий показывает, как он пишет код: разделены ли функции, есть ли обработка ошибок, понятны ли имена переменных, есть ли тесты. Это разные уровни доказательства.
В программе есть отдельная тема про Git и GitHub — ветки, pull request, деплой, переменные окружения. То есть работа с репозиторием не остаётся теорией: подросток пользуется теми же инструментами, что и команды разработчиков.
Какие работы даёт программа
Ступень из 156 занятий устроена так, что пригодные для портфолио проекты появляются из нескольких разных тем.
Telegram-бот с базой данных. Тема соединяет aiogram и SQLite: регистрация пользователей, профили, админ-панель, диалоги на машине состояний. Это уже не «бот, который отвечает привет», а приложение с хранением данных.
Веб-API на Flask. Роутинг, GET/POST, шаблоны Jinja2, JSON API и аутентификация. Такой сервис можно открыть в браузере — и именно его потом деплоят на Railway или Render.
Автоматизация и анализ данных. pandas и openpyxl: чтение Excel, статистика, автогенерация отчётов. Самая недооценённая часть портфолио — скрипт, экономящий кому-то час рутины, производит более сильное впечатление, чем очередная игра.
Машинное обучение. scikit-learn, numpy, matplotlib — линейная регрессия, классификаторы, визуализация. Дальше простая нейросеть на TensorFlow/Keras с распознаванием рукописных цифр на наборе MNIST.
Работа с LLM. Подключение модели к собственному приложению, prompt engineering, RAG-системы. Тема свежая, и работы отсюда выглядят современно.
Сколько работ нужно на самом деле
Меньше, чем кажется. Три-пять проектов, доведённых до рабочего состояния, весят больше двадцати недоделанных папок. Тот, кто смотрит портфолио, откроет два-три верхних — дальше не пойдёт.
Поэтому порядок важнее количества. Сверху ставим самое сильное, а не самое свежее. Остальное можно оставить в репозиториях, но не выносить на виду: учебные упражнения с первого года ничего не добавляют, когда рядом лежит работающий сервис.
README: страница, которую читают первой
Это первый — а часто и единственный — текст, который увидит человек, открывший проект. Код читают далеко не всегда; описание читают всегда.
Достаточно четырёх вещей: что делает программа, как её запустить, какой стек использован, снимок экрана или короткое видео. Без этого даже хороший проект выглядит как папка с файлами, в которой надо разбираться самому.
Подростки эту часть не любят — писать текст после написанного кода кажется лишним. Мы настаиваем, и аргумент простой: проект без описания откроют и закроют, не запустив.
Чего в портфолио лучше не класть
Повторённый за видеоуроком проект — в том виде, как в видео. Не потому, что это стыдно, а потому, что такие работы узнаются мгновенно: их в сети тысячи одинаковых.
Тот же проект становится своим, как только к нему добавляется что-то, чего в видео не было: другие данные, вторая функция, свой интерфейс. Тогда о нём можно рассказать — а рассказывать о своей работе подростку придётся, и на собеседовании, и на поступлении.
Ещё лучше убрать с виду пустые репозитории, созданные «на будущее». Десять папок с одним README и ни единой строкой кода портят впечатление сильнее, чем их отсутствие.
Что делает проект «пригодным для портфолио»
Разница между учебным упражнением и работой для портфолио — не в сложности, а в завершённости. Три признака, которые видны сразу:
Проект запускается в чужих руках. Поэтому в программе есть деплой и переменные окружения: код, работающий только на компьютере автора, показать трудно.
Код выдерживает чтение. Тема про тестирование и качество кода — pytest, unittest, mock, линтеры flake8 и black — именно об этом. Одинаково отформатированный код с тестами читается иначе, чем файл на 500 строк без структуры.
Понятно, зачем это. Проект с объяснением задачи выигрывает у проекта без него, даже если код тот же.
Сколько работ должно быть в портфолио?
Лучше три доведённые до конца, чем десять начатых. Финальный проект ступени — полноценный AI-продукт с деплоем — обычно становится главным, а остальные показывают разные навыки.
Хватит ли портфолио, чтобы получить работу в 17 лет?
Портфолио — необходимое условие, но не гарантия. Оно открывает разговор: без кода подростка часто даже не приглашают. Обещать трудоустройство по факту обучения мы не беремся.
Что делать, если ребёнок стесняется показывать свой код?
Это нормально и проходит с опытом. Помогает одна мысль: в публичных репозиториях опытных разработчиков тоже полно несовершенного кода — просто они перестали этого бояться раньше.
Нужен ли собственный сайт-визитка
До восемнадцати лет — не обязательно. Страница профиля на GitHub уже выполняет эту роль: там имя, короткое описание, закреплённые проекты и ссылки. Отдельный сайт имеет смысл тогда, когда есть что показывать визуально, — тому, кто пишет скрипты и ботов, он мало что добавляет.
Если делать, то простым: одна страница, несколько абзацев о себе, три проекта с описаниями и способами связи. Заодно получается ещё один пункт в портфолио — сайт, который подросток поднял и выложил сам, а на старшей ступени он уже умеет деплоить.
Как портфолио смотрят с той стороны
Быстро. Первый взгляд — на страницу профиля: сколько работ, когда последняя, есть ли описания. Второй — на один проект, выбранный почти наугад. Третий, если он вообще будет, — на код внутри.
Отсюда выходят простые выводы, к которым мы подводим подростка заранее. Профиль должен быть заполнен. Последний коммит — не двухлетней давности. Названия репозиториев — осмысленные, а не project1 и test2. Это мелочи, но они решают, дойдёт ли человек до самого кода.
Что делать с недописанным проектом
Не удалять. Написать в описании честно: что сделано, что нет, почему остановилось. Незаконченная работа с таким описанием выглядит лучше её отсутствия — она показывает, что подросток способен оценить собственное положение дел.
Худший вариант — выдать недоделанное за готовое. Тот, кто откроет и попробует запустить, разберётся за минуту, и это уже вопрос доверия, а не навыков.
Отдельный случай — проект, который надоел. Такое бывает у каждого, и мы не заставляем доводить его до конца силой. Чаще полезнее закрыть его описанием и взяться за новое, чем месяц мучить то, что уже не интересно.
С чего начинается путь к этой ступени
Python Pro рассчитан на 14–18 лет и не требует обязательного прохождения предыдущих ступеней, хотя базовые навыки нужны. Сравнение всех трёх уровней есть в отдельном разборе: чем ступени курса Python отличаются между собой. Полная программа — на странице курса Python Pro.