Должностная инструкция: Старший разработчик 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