Рабочий бэкендер живёт не только в коде приложения — вокруг него набор инструментов, без которых на работу не берут даже джуна.
HTTP и сети. Полезно разобраться, как устроен протокол, по которому общаются клиент и сервер: методы запросов (GET, POST и другие), коды ответов (200, 404, 500), заголовки. Важно понимать, что такое порт и почему программа «слушает» его, ожидая соединения, и как имя сайта превращается в адрес сервера через DNS.
Git. Это система контроля версий — она хранит историю изменений кода. Важнее команд понять, зачем она: возвращаться к прежнему состоянию, вести параллельные ветки, работать над проектом вдвоём и не затирать чужие правки. Минимум для старта — коммиты, ветки, слияние, работа с удалённым репозиторием и разбор конфликтов. Официальный сайт —
git-scm.com. Публичный профиль на
GitHub с проектами — часть портфолио, на него смотрят при найме.
Docker. Docker упаковывает программу вместе со всем окружением в контейнер, чтобы она одинаково запускалась и на компьютере разработчика, и на сервере. Это лечит классическую проблему «у меня всё работает, а на сервере нет». Уровень старта — поднять свой сервис и базу в контейнерах одной командой.
Kubernetes и настройка автоматической сборки и выкладки (CI/CD) — следующий горизонт.
Тестирование. Коротко, но обязательно: без тестов код на работе не принимают. Достаточно освоить юнит-тесты на
pytest и усвоить идею, что тест фиксирует ожидаемое поведение кода и ломается, когда что-то случайно сломали.
Готовность к следующему шагу: проект лежит в публичном репозитории с внятной историей коммитов и файлом README, запускается у другого человека одной командой через Docker, а ключевая логика покрыта тестами.