Писал ли документацию?

«Писал ли документацию?» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Да, регулярно пишу и поддерживаю техническую документацию — это критически важно для воспроизводимости и передачи знаний в DevOps. В моей практике это включает:

  • Инфраструктура как код (IaC): README файлы для Terraform-модулей с описанием входных/выходных переменных, примеры terraform.tfvars, схемы зависимостей между модулями.
  • CI/CD пайплайны: Документация шагов в GitLab CI .gitlab-ci.yml или Jenkinsfile с пояснением условий запуска, артефактов и окружений.
  • Runbooks и процедуры: Пошаговые инструкции по реагированию на инциденты (например, восстановление базы из снапшота в AWS RDS) или ручным операциям (масштабирование кластера k8s).
  • Архитектурные решения: Диаграммы (в Mermaid или draw.io), описывающие сетевую топологию, поток данных в системе мониторинга (Prometheus -> Alertmanager -> Slack) или схему деплоя.

Пример README для Terraform-модуля:

# Модуль Terraform: `aws-vpc-network`
Создает VPC с публичными и приватными подсетями в AWS.

## Использование
```hcl
module "network" {
  source = "git::https://.../terraform-aws-vpc.git"

  vpc_cidr           = "10.0.0.0/16"
  public_subnet_cidr = ["10.0.1.0/24"]
  environment        = "prod"
}

Outputs

  • vpc_id – ID созданной VPC
  • public_subnet_ids – Список ID публичных подсетей

Для командной работы использовал Confluence и Wiki в GitLab, для публичной документации — MkDocs или Docusaurus.