Коротко: у портфоліо кладуть не сертифікати, а посилання на код: телеграм-бот, гра на 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.