Created by AIImproved by people
Riqli · living documents · updated continuously
Where AI knowledge meets human practice.
Share with friends
1. Общие положения
1.1. Назначение и область применения документа
Настоящий документ определяет систему ключевых показателей эффективности (KPI) для позиции Go-разработчик (Go Developer), устанавливает требования к профессиональной деятельности, порядок взаимодействия, обязанности, права и меру ответственности сотрудника. Документ является основой для оценки результативности труда, принятия управленческих решений, а также для планирования карьерного и профессионального развития.
1.2. Нормативные и методические основания
Настоящий документ разработан на основании Трудового кодекса РФ, внутренних организационно-распорядительных актов Общества, политики в области управления персоналом и систем мотивации, а также с учетом лучших отраслевых практик в области управления продуктивностью и качеством разработки программного обеспечения на языке Go.
1.3. Основные термины, определения и сокращения
В документе применяются следующие термины с соответствующими определениями: KPI (Key Performance Indicators) — ключевые показатели эффективности, количественно измеримые метрики, отражающие вклад сотрудника в достижение целей Общества. Latency — время задержки, затрачиваемое на обработку одного запроса в серверной системе. RPS (Requests Per Second) — количество запросов, обрабатываемых сервисом в секунду. Error Rate — процент ошибочных ответов системы от общего числа запросов. Утилизация ресурсов — степень использования вычислительных ресурсов (CPU, память, сетевой трафик, дисковые операции) в процессе работы микросервисов.
2. Цель и сфера ответственности должности
2.1. Миссия и предназначение роли
Go-разработчик в Обществе обеспечивает проектирование, разработку, оптимизацию и поддержку высоконагруженных распределенных систем и микросервисной архитектуры на языке программирования Go. Основная цель сотрудника — создавать надежные, производительные и масштабируемые бэкенд-решения с низкой Latency, высоким RPS и минимальным уровнем Error Rate.
2.2. Ключевые ожидаемые результаты (Outcomes)
В результате своей деятельности Go-разработчик обеспечивает бесперебойную работу сервисов Общества с высокими показателями доступности (Service Level Agreement, SLA). Он поддерживает и повышает эффективность существующего кода, активно участвует в разработке архитектуры новых компонентов, обеспечивает своевременное и качественное выполнение задач в соответствии с планами спринтов.
3. Подчинение и организационная структура
3.1. Подчиненность
Go-разработчик подчиняется непосредственно Tech Lead / Руководителю группы разработки. В своей работе сотрудник руководствуется задачами, определенными тимлидом и актуальным продуктовым бэклогом.
3.2. Взаимодействие
В процессе работы Go-разработчик активно взаимодействует с командой разработки, инженерами по качеству (QA), системными аналитиками, DevOps-инженерами, менеджером продукта и архитектором для согласования технических решений.
4. Должностные обязанности
4.1. Разработка и проектирование ПО
- Проектирование, написание и рефакторинг высококодного, эффективного и безопасного кода на Go для микросервисов и бэкенд-приложений, следуя принципам чистой архитектуры и паттернам проектирования.
- Интеграция с внешними API, базами данных (
PostgreSQL,ClickHouse,MongoDB), очередями сообщений (Apache Kafka,RabbitMQ) и кэш-хранилищами (Redis).
4.2. Оптимизация производительности и надежности
- Выявление и устранение узких мест в производительности сервисов, оптимизация использования CPU и памяти.
- Снижение Latency запросов и повышение RPS путем профилирования кода, оптимизации работы с сетью и диском, настройки пулов соединений и кэширования.
- Мониторинг Error Rate, анализ логов ошибок и внедрение отказоустойчивых сценариев (retry, fallback, circuit breaker).
4.3. Обеспечение качества и надежности кода
- Написание юнит-тестов с использованием встроенного пакета
testingи фреймворковgomonkey,testifyс покрытием кода не менее 80%. - Написание интеграционных и нагрузочных тестов (с использованием
vegeta,wrk,k6) для подтверждения достижения целевых значений RPS, Latency и Error Rate.
4.4. Участие в DevOps и эксплуатации
- Обеспечение сборки, контейнеризации (Docker) и деплоя сервисов в Kubernetes-кластер с использованием CI/CD пайплайнов (GitLab CI / GitHub Actions).
- Участие в настройке систем мониторинга (
Prometheus+Grafana) и централизованного логирования (ELK Stack/Loki) для отслеживания ключевых метрик.
4.5. Работа с технической документацией и коммуникация
- Актуализация технической документации (README, OpenAPI/Swagger), схем взаимодействия и архитектурных решений.
- Участие в ежедневных стендапах, код-ревью (Code Review), планировании спринтов и ретроспективах.
5. Права сотрудника
5.1. Доступ к информации и инструментам
Go-разработчик имеет право доступа к корпоративной документации, репозиториям кода, системам управления проектами (Jira, Confluence), доступ к логам и метрикам сервисов для выполнения своих должностных обязанностей.
5.2. Право принятия технических решений
Сотрудник имеет право предлагать архитектурные изменения, выбор технологического стека и инструментов в рамках своей компетенции.
5.3. Взаимодействие и инициатива
Сотрудник имеет право запрашивать необходимые ресурсы, информацию и разъяснения у руководителя и смежных команд.
6. Ответственность и подотчетность
6.1. Ответственность за результаты работы
Go-разработчик несет ответственность за своевременность, качество и полноту выполнения поставленных задач, а также за соответствие разработанного кода стандартам качества и требованиям безопасности.
6.2. Производственная и финансовая ответственность
Сотрудник несет ответственность за разглашение конфиденциальной информации, сохранность корпоративного имущества и оборудования, а также за материальный ущерб (включая прямые убытки и упущенную выгоду) в результате нарушений производственных инструкций.
7. Квалификационные требования
7.1. Требования к образованию и опыту
Высшее образование по направлению "Информатика и вычислительная техника" или смежным специальностям. Опыт коммерческой разработки на языке Go от 3 лет.
7.2. Специальные знания и навыки
- Уверенное владение языком программирования Go, знание сетевого стека (HTTP/2, gRPC, WebSocket, TCP/IP).
- Понимание архитектуры высоконагруженных систем, опыт работы с конкурентностью, горутинами и каналами.
- Знание принципов работы с базами данных, оптимизации SQL-запросов, базовых навыков администрирования.
7.3. Дополнительные компетенции и сертификаты
Приветствуется опыт работы в распределенных командах, владение английским языком на уровне Intermediate и выше.
8. Условия труда
8.1. Режим работы
Пятидневная рабочая неделя с двумя выходными днями (суббота, воскресенье). Нормированный рабочий день с 10:00 до 19:00 по московскому времени (по согласованию). Для сотрудника предусмотрен гибкий график начала и окончания рабочего дня.
8.2. Обеспечение ресурсами и безопасность
Рабочее место оснащается современной компьютерной техникой, доступом в интернет, лицензионным ПО и средствами защиты информации.
9. Ключевые показатели эффективности (KPI)
9.1. Продуктивность разработки (Velocity and Delivery)
- Выполнение плана спринта — процент задач, завершенных в рамках запланированного спринта (target ≥ 90%).
- Цикл выполнения задачи — среднее время от начала работы над задачей до ее деплоя на продуктивный стенд (Lead Time).
9.2. Качество и надежность кода (Quality & Reliability)
- Error Rate — процент ошибочных HTTP-ответов (коды 5xx) относительно общего числа запросов к сервису (target ≤ 0.1%).
- Покрытие кода тестами — процент покрытия юнит-тестами (target ≥ 80%).
9.3. Производительность и отзывчивость систем (Performance & Responsiveness)
- Средняя Latency — время обработки запроса (p95 / p99) для критических API-методов (target: ≤ 100ms для p95).
- Пиковый RPS (Requests Per Second) — максимальное количество запросов в секунду, которое выдерживает сервис без деградации Latency (определяется нагрузочным тестированием).
9.4. Утилизация ресурсов (Resource Utilization)
- Эффективность использования CPU — оценка загрузки процессора на пиковых нагрузках (target: средняя утилизация не более 75%).
- Использование памяти — контроль утечек и потребления памяти (Heap in use, GC overhead).
9.5. Инженерная культура и вклад в экосистему (Engineering Excellence)
- Количество и качество код-ревью — участие в проверках кода коллег, количество полезных замечаний.
- Вклад в документацию и инфраструктуру — улучшение внутренних библиотек, инструментов, документации.
10. Бизнес-процессы, чек-листы и сценарии работы
10.1. Процесс разработки и сдачи задачи (Feature Lifecycle)
- Шаг 1. Анализ — изучить задачу в трекере (Jira), уточнить требования у аналитика или менеджера продукта.
- Шаг 2. Проектирование — разработать архитектурное решение, при необходимости создать документацию в Confluence.
- Шаг 3. Разработка — написать код на Go.
- Шаг 4. Тестирование — написать юнит- и интеграционные тесты.
- Шаг 5. Code Review — создать Merge Request, назначить ревьюера.
- Шаг 6. Деплой — выполнить деплой на среду разработки / стейджинг.
- Шаг 7. Мониторинг — проверить метрики (RPS, Latency, Error Rate) в Grafana.
10.2. Чек-лист перед релизом
- Проверка: успешный прогон пайплайна CI/CD.
- Проверка: покрытие тестами не ниже требуемого порога.
- Проверка: документация (API, архитектура) актуализирована.
- Проверка: проведено нагрузочное тестирование (при необходимости).
- Проверка: получен аппрув на релиз от лида.
10.3. Сценарий реагирования на инциденты (Incident Response)
- Обнаружение — получение алерта о росте Error Rate или Latency.
- Диагностика — анализ логов в Kibana / Grafana Loki, проверка состояния инфраструктуры.
- Эскалация — при невозможности быстрого решения, уведомить руководителя и команду дежурных инженеров.
- Решение — применение фикса (code fix, rollback, масштабирование).
- Анализ — написание Root Cause Analysis (5 Whys).
10.4. Работа с системой управления задачами
Работа осуществляется в корпоративной системе управления задачами (Jira/YouTrack) с соблюдением регламента обновления статусов, приоритетов и исполнителей.