Files
resume/legend/LEGEND.md

78 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Легенда соискателя
Единый источник истины о том, «где и зачем» применялась каждая технология из резюме. Все кейсы и ответы на вопросы должны быть непротиворечивы этому документу. См. правила проработки кейсов в [../AI_GUIDELINES.md](../AI_GUIDELINES.md).
Живой нарратив поверх этой таблицы (проект отдела, распорядок дня, разбор инцидента, версионирование дашбордов) — в [STORY.md](STORY.md). Стек отдела целиком, включая инструменты без личной строки в резюме, — в [DEPT_STACK.md](DEPT_STACK.md). Есть три резюме под три направления (мониторинг, DevOps, системное администрирование) с одними и теми же фактами из этого файла, но разной расстановкой акцентов — какое резюме соответствует какому направлению и как вести себя на собеседовании в зависимости от него, см. [PROFILES.md](PROFILES.md).
## Таймлайн
| Период | Компания | Роль | Основной стек |
|---|---|---|---|
| Март 2022 — Сентябрь 2023 (1 г. 7 мес.) | ОКБ СУХОЙ | Инженер-тестировщик | CentOS, Selenium, GitLab, C/C++, Python |
| Сентябрь 2023 — н.в. (2 г. 11 мес.) | АО ТНИИС | Инженер по сопровождению | Astra Linux, Grafana, Prometheus, Mimir, Docker, Ansible, Nginx, ELK, Jira, Gitea, Bash, Java, SQL |
Общий опыт — 4 года 5 месяцев. Логика перехода: от тестирования встроенного ПО (проверка качества готового продукта) — к сопровождению и эксплуатации инфраструктуры (обеспечение стабильности продукта в проде). Естественное развитие: тестировщик, который глубоко разбирался в стендах и автоматизации тестов, вырос в инженера, отвечающего за автоматизацию инфраструктуры и мониторинг.
## ОКБ СУХОЙ — инженер-тестировщик (2022—2023)
Контекст роли: верификация встроенного программного обеспечения на платформе CentOS — тестовые стенды интеграционного и приёмочного тестирования. Место работы — таганрогская площадка кооперации ОАК, не головной офис в Москве (снимает вопрос о совмещении с очной магистратурой ЮФУ в Таганроге, см. [STORY.md](STORY.md) → «Бытовые детали»).
- **CentOS** — рабочая ОС тестовых стендов: развёртывание окружения, работа с сервисами и логами через консоль.
- **Selenium** — автоматизация функциональных проверок там, где у ПО был веб/UI-интерфейс для управления стендом; писал тестовые сценарии и автотесты.
- **GitLab** — хранение тестовых скриптов и сценариев, отслеживание версий тестовой документации, базовое знакомство с CI до глубокого погружения в TeamCity на следующей позиции.
- **C/C++** — контекст тестируемого встроенного ПО: чтение и понимание кода на C/C++ требовалось, чтобы грамотно ставить тестовые сценарии, писать баг-репорты с точной локализацией проблемы и общаться с разработчиками на их языке.
- **Python** — вспомогательные скрипты для автоматизации рутины тестировщика (подготовка тестовых данных, парсинг логов стендов, обвязка вокруг Selenium-тестов).
## АО ТНИИС — инженер по сопровождению (2023 — н.в.)
Контекст роли: сопровождение и эксплуатация инфраструктуры, мониторинг, автоматизация деплоя и конфигурирования.
- **Astra Linux** — базовая ОС серверного парка отдела, администрирование и сопровождение сервисов.
- **Grafana + Prometheus + Mimir** — стек мониторинга: сбор метрик (Prometheus), построение дашбордов (Grafana), масштабирование хранения метрик на несколько инстансов (Mimir).
- **Docker** — контейнеризация сервисов мониторинга и вспомогательных инструментов, локальное воспроизведение окружений; включая сборку кастомных образов под специфичные задачи CI (см. строку Gitea выше и [../stack/docker/CASE.md](../stack/docker/CASE.md)).
- **Ansible** — автоматизация установки/настройки серверов и конфигурирования сервисов, роли и плейбуки для деплоя.
- **Nginx** — маршрутизация и балансировка нагрузки перед сервисами (в частности перед компонентами мониторинга и внутренними веб-интерфейсами).
- **ELK (Elastic Stack)** — централизованный сбор и анализ логов в дополнение к метрикам из Prometheus.
- **Jira** — планирование спринтов, ведение задач в Agile-процессе отдела.
- **Gitea** — внутренний git-хостинг для хранения Ansible-ролей, конфигов, скриптов; встроенная Wiki используется под инструкции и постмортемы инцидентов (см. [STORY.md](STORY.md) → «Как решается инцидент»). Помимо хранения кода — администрирование самого инстанса (Docker Compose: Gitea + Postgres, nginx reverse proxy перед ним) и CI-раннеров Gitea Actions: основной раннер плюс отдельный **cross-builder** — кастомный Docker-образ (Debian + `arm-linux-gnueabihf-gcc` и статические armhf-библиотеки, собираемые на этапе сборки образа) под CI кросс-сборки встроенного C-кода для ARM-плат (проект отдела на базе SDR-платформы Pluto — см. [../stack/docker/CASE.md](../stack/docker/CASE.md) → «Реальный кейс: self-hosted CI-раннеры Gitea Actions»). Практический опыт: восстановление раннера из restart-loop (протухшая регистрация), маршрутизация job'ов по меткам между раннерами, проверка целевой архитектуры собранных бинарей в pipeline.
- **TeamCity + Molecule** — CI-конвейер для тестирования Ansible-ролей перед выкладкой.
- **Bash** — повседневная автоматизация на серверах: обвязка вокруг Ansible/Docker, скрипты обслуживания.
- **Java** — часть стека сопровождаемых сервисов отдела (эксплуатация/поддержка Java-приложений, чтение логов и стектрейсов при инцидентах), не основной инструмент разработки.
- **SQL** — запросы к базам данных сопровождаемых сервисов и/или к хранилищам метрик/логов при разборе инцидентов и подготовке отчётности.
## Технологии без прямого кейса в опыте работы
Указаны в разделе «Навыки» резюме, в легенду вписаны как сквозные инструменты внутри уже описанных задач (не отдельная линия опыта):
- **Python** — автоматизация в обеих ролях (см. выше).
- **SQL** — работа с данными сопровождаемых сервисов в АО ТНИИС (см. выше).
- **C/C++** — чтение кода тестируемого ПО в ОКБ СУХОЙ (см. выше).
## Домашняя лаборатория / pet-проект
Разбор реальных собеседований ([../interview/real-interviews.md](../interview/real-interviews.md)) показал: Kubernetes, PostgreSQL, сетевая база, Kafka и Vault спрашивают часто, но их **нет** в рабочем стеке ни АО ТНИИС, ни ОКБ СУХОЙ. Вместо того чтобы дописывать их в опыт компаний (что нарушило бы правило честности кейсов из [../AI_GUIDELINES.md](../AI_GUIDELINES.md)), они выделены в отдельную честную категорию — домашнюю лабораторию, аналогично тому, как на собеседовании в ВТБ упоминание pet-проекта сработало в плюс (см. разбор в [../interview/real-interviews.md](../interview/real-interviews.md)).
| Технология | Кейс | Статус |
|---|---|---|
| Kubernetes | [../stack/kubernetes/CASE.md](../stack/kubernetes/CASE.md) | pet, поверх рабочего Docker/Ansible |
| PostgreSQL | [../stack/databases/CASE.md](../stack/databases/CASE.md) | pet, поверх рабочего SQL |
| Сети | [../stack/networking/CASE.md](../stack/networking/CASE.md) | pet, поверх рабочего Linux-администрирования |
| Kafka | [../stack/kafka/CASE.md](../stack/kafka/CASE.md) | pet, самостоятельно |
| Vault | [../stack/vault/CASE.md](../stack/vault/CASE.md) | pet, поверх рабочего ansible-vault |
**Как это позиционируется на собеседовании:** честно и прямо — «в рабочем стеке этого не было, но интересно было разобраться, поэтому поднял себе дома». Не выдаётся за продовый опыт, не привязывается к конкретным задачам АО ТНИИС/ОКБ СУХОЙ. Цифры нагрузки для pet-кейсов — только лабные замеры и публичные ориентиры, без утверждений о продовых масштабах (правило и таблица цифр — [../legend/CAPACITY.md](../legend/CAPACITY.md)).
## Инструменты отдела без личной строки в резюме
Полный стек отдела АО ТНИИС — в [DEPT_STACK.md](DEPT_STACK.md). Часть инструментов туда попадает по логике окружения (то, чем пользуется отдел или что стоит рядом с моими задачами), но в резюме отдельной строкой не идёт, потому что я с ними не работал напрямую как с основным инструментом — только на уровне «знаю, зачем стоит, могу поддержать разговор»: **MinIO** (объектное хранилище под блоки Mimir), **Nexus** (внутреннее хранилище артефактов/бинарей), **Alertmanager** (маршрутизация алертов из Prometheus), **Postgres Exporter** (снимает метрики с БД, которые ведут разработчики/администраторы БД), **Filebeat** (агент доставки логов в ELK). При вопросе про них на собеседовании — честный формат из [../AI_GUIDELINES.md](../AI_GUIDELINES.md): рассказываю, для чего инструмент нужен и как он встроен в наш стек, не выдавая это за уровень «настраивал сам с нуля».
## Правило непротиворечивости
При добавлении нового кейса в `stack/*/CASE.md`:
1. Сверить, что компания/период/стек совпадают с таблицей выше.
2. Если кейс раскрывает технологию по-новому — обновить соответствующий пункт здесь же.
3. Не добавлять технологии, которых нет ни в одном из трёх резюме ([../RESUME.md](../RESUME.md), [../RESUME_DEVOPS.md](../RESUME_DEVOPS.md), [../RESUME_SYSADMIN.md](../RESUME_SYSADMIN.md)), ни в этом файле.
4. Pet-технологии (раздел выше) никогда не переносятся в блоки опыта компаний — только в раздел «Навыки» резюме и в раздел «Домашняя лаборатория» здесь.
5. Новые истории и детали быта/процессов сверять с [STORY.md](STORY.md), стек отдела — с [DEPT_STACK.md](DEPT_STACK.md), чтобы не появлялось противоречий между документами.
6. Факты (компании, даты, должности в опыте, цифры) должны быть идентичны во всех трёх резюме — различаться может только расстановка акцентов и порядок подачи, см. [PROFILES.md](PROFILES.md).