Должностная инструкция: Старший разработчик 1 категории#
1. Общие положения#
Должность: Старший разработчик 1 категории Грейд: 14 Подчиненность: Руководитель отдела разработки
2. Квалификационные требования#
Источник истины: Полная матрица компетенций с маркерами критичности (
[Критичный],[Nice-to-have]) находится в competency-developers.md . Данный раздел содержит упрощённый список требований для должностной инструкции.
Образование: Высшее (IT-направления), желательна магистратура
Опыт работы: Коммерческая разработка на C# от 6 лет, опыт Senior от 2-3 лет
Технические навыки:
- Глубокая экспертиза в C#, .NET (CLR internals, unsafe code, Span
, Memory ) - Продвинутая многопоточность (lock-free алгоритмы, memory barriers, Interlocked, Volatile)
- Оптимизация на уровне памяти и CPU (GC tuning, SIMD, vectorization, cache-friendly code)
- Архитектура высокопроизводительных систем (минимизация аллокаций, object pooling)
- Экспертиза в nanoCAD platform и C++ интеграции (P/Invoke, marshaling, COM interop)
- Всестороннее знание инженерных сетей и BIM стандартов (IFC, ISO 19650)
- Глубокое понимание trade-offs архитектурных подходов
- Архитектура тестирования на уровне продукта
- Профилирование и диагностика (dotTrace, dotMemory, PerfView, WinDbg)
3. Должностные обязанности#
3.1. Архитектурное проектирование высокопроизводительных подсистем продукта: разработка архитектуры сложных программных подсистем, создание технических спецификаций для сложной функциональности, принятие ключевых архитектурных решений, проектирование расширяемых архитектур.
3.2. Разработка сложных программных компонентов: реализация критичных алгоритмов с экстремальными требованиями к производительности, разработка lock-free структур данных, оптимизация на уровне памяти, применение SIMD инструкций, глубокая интеграция с платформой проектирования через C++.
3.3. Решение критичных технических проблем: диагностика сложнейших дефектов программного обеспечения, решение проблем производительности и масштабируемости, устранение архитектурных узких мест.
3.4. Техническое лидерство: формирование технических стандартов команды, проведение архитектурных ревью, принятие решений об управлении техническим долгом, исследование новых технологий и подходов.
3.5. Наставничество разработчиков: менторинг Senior и Middle разработчиков, участие в технических интервью, проведение технических докладов и распространение знаний.
3.6. Кросс-командное влияние: участие в инициативах на уровне нескольких команд, унификация подходов между командами.
3.7. Выполнение иных поручений непосредственного руководителя в рамках своей компетенции.
3.6. Типовые задачи#
- Архитектурный дизайн подсистем (2-4 месяца)
- Пример: Engine для обработки больших чертежей с требованиями по производительности
- Решение критичных проблем производительности (2-4 недели)
- Пример: Оптимизация collision detection для 10000+ объектов в реальном времени
- Внедрение продвинутых техник оптимизации (3-6 недель)
- Пример: SIMD векторизация для ускорения матричных вычислений в 4 раза
- Исследование и внедрение технологий (2-3 месяца)
- Пример: Оценка и внедрение .NET 8 NativeAOT для ускорения startup
- Кросс-командные инициативы (3-6 месяцев)
- Пример: Унификация API между продуктами
- Менторинг Senior разработчиков (ongoing)
- Пример: Развитие Middle до Senior уровня
3.7. Уровень самостоятельности#
- Абсолютная автономность в технических решениях
- Самостоятельное определение подхода и архитектуры
- Влияние на технические решения нескольких команд
- Синхронизация с руководством раз в 1-2 недели по стратегическим вопросам
4. Ответственность#
Сотрудник несет ответственность за:
- Качество и долгосрочную жизнеспособность архитектурных решений
- Техническое здоровье критичных подсистем продукта
- Производительность критичных компонентов
- Отсутствие performance regressions
- Установление и поддержание высоких технических стандартов
- Качество менторинга Senior и Middle разработчиков
- Технические решения с долгосрочными последствиями
- Технический авторитет команды/департамента
5. Критерии оценки#
- Технические навыки: Качество архитектурных решений, решение сложнейших проблем, оптимизация производительности
- Влияние на продукт: Вклад в успех продукта, реализация стратегических инициатив
- Лидерство: Влияние на техническую культуру, качество менторинга, установление стандартов
- Стратегическое мышление: Участие в формировании технической стратегии, баланс краткосрочных и долгосрочных целей
Оценка: Руководителем департамента раз в 6 месяцев + 360° feedback.
Gateway критерий: Для перехода на Staff необходимо: кросс-командное влияние + решение проблем, которые не могут решить другие Senior.
6. Карьерный рост#
Следующий шаг: Ведущий разработчик 4 категории (грейд 15, Staff) через 1-2 года
Требования:
- Влияние на несколько команд или весь департамент
- Формирование технической культуры
- Стратегическое техническое лидерство
- Развитие других технических лидеров
- Решение проблем, которые не могут решить Senior
- Кросс-командные инициативы
Версия: 1.0 Дата: 2025-01-28