Должностная инструкция: Разработчик категории III#

1. Общие положения#

Должность: Разработчик категории III Грейд: 4 (Middle I) Подчиненность: Руководитель отдела разработки / Тимлид команды

2. Квалификационные требования#

Источник истины: Полная матрица компетенций с маркерами критичности ([Критичный], [Nice-to-have]) находится в competency-developers.md. Данный раздел содержит упрощённый список требований для должностной инструкции.

Образование: Высшее (IT-направления)

Опыт работы: Коммерческая разработка на C# от 1.5 лет

Технические навыки:

  • Глубокое знание C#, .NET Framework/Core (generics, LINQ, delegates, events)
  • Асинхронное программирование (Task, async/await, ConfigureAwait)
  • Многопоточность (Thread, ThreadPool, lock, Monitor, thread safety)
  • Алгоритмы и структуры данных, O-нотация
  • Работа с nanoCAD API (объектная модель, чтение/запись данных)
  • Понимание инженерных сетей (1-2 раздела)
  • SOLID принципы, паттерны проектирования
  • Unit-тесты (NUnit/xUnit), моки (Moq/NSubstitute)
  • Mercurial, CI/CD

3. Должностные обязанности#

3.1. Разработка программного обеспечения для автоматизированных систем проектирования инженерных сетей в соответствии с техническими заданиями, спецификациями и установленными стандартами качества.

3.2. Проектирование архитектуры программных модулей и компонентов с учетом требований расширяемости, производительности и тестируемости.

3.3. Интеграция разрабатываемого программного обеспечения с платформой проектирования и внешними системами.

3.4. Обеспечение качества программного кода путем написания автоматизированных тестов, проведения экспертизы кода коллег, рефакторинга существующих решений.

3.5. Оптимизация производительности программного обеспечения путем профилирования, анализа узких мест и применения эффективных алгоритмов и структур данных.

3.6. Наставничество младших специалистов и стажеров, проведение экспертизы программного кода, оказание методической и консультационной помощи по техническим вопросам.

3.7. Участие в оценке трудозатрат, планировании разработки и декомпозиции задач.

3.8. Документирование принятых технических решений, разработанных алгоритмов и архитектуры программных компонентов.

3.9. Выполнение иных поручений непосредственного руководителя в рамках своей компетенции.

3.6. Типовые задачи#

  • Разработка новых модулей (1-3 недели)
    • Пример: Модуль автоматической трассировки трубопроводов с учетом препятствий
  • Интеграция с nanoCAD API (3-10 дней)
    • Пример: Асинхронное чтение больших чертежей без блокировки UI
  • Оптимизация производительности (2-7 дней)
    • Пример: Оптимизация алгоритма поиска пересечений O(n²) → O(n log n)
  • Рефакторинг (3-10 дней)
    • Пример: Выделение общей логики валидации в переиспользуемый компонент
  • Исправление сложных багов (1-5 дней)
    • Пример: Исправление race condition в многопоточной обработке

3.7. Уровень самостоятельности#

  • Полная самостоятельность в типовых задачах
  • Еженедельные check-in с руководителем
  • Задачи от нескольких дней до 2-3 недель
  • Самостоятельное принятие технических решений

4. Ответственность#

Сотрудник несет ответственность за:

  • Качество кода в соответствии с coding standards
  • Своевременное выполнение задач
  • Покрытие кода unit-тестами (70%+ для критичной логики)
  • Соблюдение SOLID, DRY, KISS
  • Документирование сложных решений
  • Полный ownership за свои фичи (от проектирования до деплоя)
  • Качественное проведение code review для младших коллег

5. Критерии оценки#

  • Технические навыки: Способность проектировать и реализовывать модули средней сложности, качество кода
  • Автономность: Уровень самостоятельности, проактивность в решении проблем
  • Влияние: Качество менторинга, вклад в технические обсуждения, качество code review
  • Бизнес-impact: Реализация фич с ценностью для пользователей, понимание потребностей инженеров-проектировщиков

Оценка: Руководителем раз в 3-6 месяцев по competency matrix (грейд 4).

6. Карьерный рост#

Следующий шаг: Разработчик категории II (грейд 4-5) через 6-12 месяцев

Требования:

  • Стабильная демонстрация компетенций грейда 4
  • Начало проявления компетенций грейда 5
  • Экспертное знание C#, понимание .NET (GC, память, JIT)
  • Работа с C++ для nanoCAD интеграции
  • Экспертиза в 2-3 разделах инженерных сетей

Версия: 1.0 Дата: 2025-01-24