Должностная инструкция: Старший разработчик категории I#
1. Общие положения#
Должность: Старший разработчик категории I Грейд: 7 (Senior II) Подчиненность: Руководитель отдела разработки
2. Квалификационные требования#
Источник истины: Полная матрица компетенций с маркерами критичности (
[Критичный],[Nice-to-have]) находится в competency-developers.md. Данный раздел содержит упрощённый список требований для должностной инструкции.
Образование: Высшее (IT-направления), желательна магистратура
Опыт работы: Коммерческая разработка на C# от 5 лет, опыт Senior от 2 лет
Технические навыки:
- Глубокая экспертиза в 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)
- Всестороннее знание инженерных сетей и BIM стандартов (IFC, ISO 19650)
- Глубокое понимание trade-offs архитектурных подходов
- Архитектура тестирования на уровне продукта
- Профилирование (dotTrace, dotMemory, PerfView)
3. Должностные обязанности#
3.1. Архитектурное проектирование высокопроизводительных подсистем продукта: разработка архитектуры сложных программных подсистем, создание технических спецификаций для сложной функциональности, принятие ключевых архитектурных решений, проектирование расширяемых архитектур без нарушения обратной совместимости, разработка стратегий миграции устаревшего программного кода.
3.2. Разработка сложных программных компонентов: реализация критичных алгоритмов с экстремальными требованиями к производительности, разработка lock-free структур данных, оптимизация на уровне памяти, применение SIMD инструкций для ускорения вычислений, глубокая интеграция с платформой проектирования через C++, реализация продвинутых алгоритмов вычислительной геометрии.
3.3. Решение критичных технических проблем: диагностика сложнейших дефектов программного обеспечения, решение проблем производительности и масштабируемости, проведение анализа критичных инцидентов, устранение архитектурных узких мест, оптимизация критически важных путей выполнения кода.
3.4. Техническое лидерство: формирование технической стратегии продукта, установление технических стандартов и лучших практик разработки, проведение архитектурных ревью сложной функциональности, принятие решений об управлении техническим долгом, исследование новых технологий и подходов.
3.5. Наставничество разработчиков: проведение наставничества старших и ведущих разработчиков, участие в технических интервью кандидатов уровня специалист и выше, проведение регулярных технических докладов и распространение знаний, проведение экспертизы критичных компонентов программного кода.
3.6. Выполнение иных поручений непосредственного руководителя в рамках своей компетенции.
3.6. Типовые задачи#
- Архитектурный дизайн подсистем (1-3 месяца)
- Пример: Engine для обработки больших чертежей (>100MB) с загрузкой <3 сек
- Решение критичных проблем производительности (1-3 недели)
- Пример: Оптимизация collision detection для 10000+ объектов в реальном времени
- Внедрение продвинутых техник оптимизации (2-4 недели)
- Пример: SIMD векторизация для ускорения матричных вычислений в 4 раза
- Исследование и внедрение технологий (1-2 месяца)
- Пример: Оценка и внедрение .NET 8 NativeAOT для ускорения startup
- Техническое стратегирование (ongoing)
- Пример: Стратегия миграции с .NET Framework на .NET 8
- Кросс-командные инициативы (2-6 месяцев)
- Пример: Унификация API между продуктами департамента
3.7. Уровень самостоятельности#
- Абсолютная автономность в технических решениях
- Самостоятельное определение подхода и архитектуры
- Синхронизация с руководством раз в 1-2 недели по стратегическим вопросам
4. Ответственность#
Сотрудник несет ответственность за:
- Качество и долгосрочную жизнеспособность архитектурных решений
- Техническое здоровье критичных подсистем продукта
- Производительность критичных компонентов
- Отсутствие performance regressions
- Установление и поддержание высоких технических стандартов
- Качество менторинга Senior и Middle разработчиков
- Технические решения с долгосрочными последствиями
- Технический авторитет команды/департамента
5. Критерии оценки#
- Технические навыки: Качество архитектурных решений, решение сложнейших проблем, оптимизация производительности
- Влияние на продукт: Вклад в успех продукта, реализация стратегических инициатив
- Лидерство: Влияние на техническую культуру, качество менторинга, установление стандартов
- Стратегическое мышление: Формирование технической стратегии, баланс краткосрочных и долгосрочных целей
Оценка: Руководителем департамента раз в 6 месяцев по competency matrix (грейд 7) + 360° feedback.
6. Карьерный рост#
Следующий шаг: Ведущий разработчик (грейд 8, Lead/Staff Engineer) через 2-3 года
Требования:
- Влияние на несколько команд или весь департамент
- Формирование технической культуры
- Стратегическое техническое лидерство
- Развитие других технических лидеров
- Представительство на индустриальном уровне
Версия: 1.0 Дата: 2025-01-24