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