Давайте підсумуємо сказане Андрієм. Звичайно ж, ти знайомий з більшістю згаданих у лекції технологій. Однак дещо могло забутися.
Оформлення Readme Github
Грамотно оформлене Readme на Github суттєво допоможе рекрутеру розгледіти в тобі цікаву людину в команду. І зробити це можна за допомогою Markdown.
Markdown — це полегшена мова розмітки, і вона перетворює текст на структурований HTML. Ця мова настільки проста, що ти міг її швидко вивчити і так само швидко забути.
Для Python-проєкту критично важливо вказати в README, як запустити проєкт. Обов'язково опиши кроки: створення віртуального оточення (venv), встановлення залежностей (pip install -r requirements.txt або poetry install) та запуск сервера. Це правило хорошого тону.
Якщо тобі хочеться зробити Readme швидше, можна скористатися рекомендованим лектором сайтом для генерації профайлу: GPRM
Як підготувати проєкти: головні тези
Зрозуміло, найважливіше — підготувати проєкти. Кожен проєкт повинен мати Readme, в якому мають бути наступні відомості:
- Тема і суть проєкту.
- Як проєкт запускати і збирати локально (Docker compose up або python manage.py runserver).
- Найголовніше в проєкті (класи або модулі, які можуть показати кодинг-скіли, наприклад, складна бізнес-логіка або асинхронна обробка).
- Посилання на демо на хмарному репозиторії (у випадку веб-проєкту).
Популярні веб-репозиторії: Fly.io, Heroku, Google Cloud, AWS, Microsoft Azure, DigitalOcean
Які проєкти викладати на Github?
У відеолекції Андрій згадав, що потрібно викладати на своєму «офіційному» Github і на що варто звернути увагу. Додай усі проєкти від Python-університету. А якщо не хочеш їх показувати, можна написати 2-3 невеликих проєкти, що демонструють твої скіли.
1. Невеликий пет-проєкт, що демонструє розуміння кількох важливих тем:
- Чистий код (PEP8, лінтери Flake8/Black);
- SOLID принципи;
- Тестування (Pytest);
- CI/CD (GitHub Actions).
2. CRUD-проєкт на Django або FastAPI повинен розкривати такі теми:
- Робота з фреймворком (ORM, Serializers/Pydantic);
- REST API;
- Навички роботи з Базами Даних (PostgreSQL);
- Тестування (Pytest, FactoryBoy);
- Авторизація та аутентифікація (JWT, OAuth2).
3. Проєкт, побудований на мікросервісній архітектурі (або з використанням асинхронності). Повинен враховувати наступні топіки:
- API (FastAPI);
- Комунікацію між сервісами (REST або RabbitMQ);
- Контейнеризація (Docker, Docker Compose);
- Асинхронна обробка завдань (Celery/Redis).
І ще: обов'язково зверніть увагу на логічність та своєчасність ваших комітів та історію проєкту.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ