Проект работает на устройстве разработчика, но падает в CI; нет структурированных логов, метрик или трейсинга; деплой приходится делать вручную.
Почему это критично?Работодатели оценивают не только код, но и то, как программист умеет работать в команде и готовить проект к реальной эксплуатации. Отсутствие базовой инженерной дисциплины сигнализирует, что новичок не готов поддерживать сервис в продакшене и создавать стабильные рабочие процессы.
Базовый минимум для инженерной среды- Модули и версии: аккуратный go.mod, lock версий, осознанные апдейты.
- Сборка/запуск: Makefile/Taskfile, Dockerfile (multi-stage), переменные окружения, конфигурация через файлы/ENV.
- CI: линтеры, тесты, сборка артефактов, проверка безопасности зависимостей.
- Observability: структурные логи с корреляцией, метрики (RPS, латентность, ошибки, saturation), трейсинг «сквозняком».
- Готовность к продакшену: healthchecks, graceful shutdown, ограничения по памяти/CPU, лимиты соединений.
Как показать это в портфолио: один клик (или одна команда) поднимает проект; есть dashboard с ключевыми SLI и alert-правилами.