По сравнению с разработкой меняется предмет: не фича, а машина, на которой она работает, и следы, которые она оставляет.
Сделать сейчас
- Разбираю упавший или медленный сервис по слоям, а не перезагрузкойДохожу от «не работает» до конкретного места: DNS, маршрут, TLS, балансировщик.
- Собираю свой образ и уменьшаю его осознанноМогу объяснить, зачем в образе каждый слой.
- Делаю сборку и выкладку повторяемой не с моего ноутбукаКонвейер собирает проект с нуля на чистой машине.
- Кладу свои скрипты в репозиторий и отдаю их на ревьюСкрипт живёт в репозитории, а не в переписке.
Куда дальше
Вбок из роли
- Бэкенд-разработчик обратно
- Архитектор вглубь
- Данные и машинное обучение вбок
- Тимлид, техлид, engineering manager вбок
Что на ступени спрашивают
Уверенно живу в Linux без графического интерфейса
Могу найти, что съело диск и процессор, не устанавливая ничего лишнего.Разбираю сетевую проблему по слоям, а не перезагрузкой
Умею дойти от «не работает» до конкретного места: DNS, маршрут, TLS, балансировщик.Собираю и запускаю контейнеры осознанно
Понимаю, чем контейнер отличается от виртуалки и почему мой образ весит гигабайт.Строю конвейер сборки и выкладки
У проекта есть повторяемая сборка, которую можно запустить не с моего ноутбука.Пишу код, а не только конфиги
Мои скрипты лежат в репозитории, проходят ревью и имеют тесты.
Обычные ошибки
- Чинить перезагрузкой: причина остаётся и возвращается в худший момент.
- Копить знания в своей голове и личных скриптах: команда начинает зависеть от вашего присутствия.
- Считать конфиги не кодом: без ревью и истории изменение уносит прод молча.
Что учить
- ФундаментОперационные системы
- Языки и парадигмыPython
- Инфраструктура, инструменты и качествоCI/CD, инфраструктура и облакаКомпьютерные сети