Нужен специалист: C# разработчик с опытом работы NanoCAD
Локация: РФ, удаленно
Срок проекта: проектная занятость, от 6 месяцев
Загрузка: Full-time
Сфера: Промышленность
Формат работы: по договору с ИП (у вас открыто ИП)
Оплата: Почасовка, от 150к рублей до 250к
Требования
Ключевые задачи:
•Проектирование и разработка архитектуры модульного решения с нуля.
•Проектирование и реализация расчетных модулей: разработка математических моделей и алгоритмов обработки данных.
•Разработка объектной модели (ObjectARX-аналог) для NanoCAD: создание кастомных пользовательских объектов (Custom Entities) и средств управления ими.
•Создание пользовательских интерфейсов (палитры инструментов, диалоговые окна, ленты команд) в среде NanoCAD.
•Интеграция с СУБД (MS SQL Server, PostgreSQL) для хранения проектных данных, справочников и результатов расчетов.
•Разработка и поддержка инфраструктуры модульного тестирования (Unit/Integration tests), отработка замечаний по итогам функционального тестирования у Заказчика.
Обязательные навыки:
•Язык программирования: C++ (уверенное владение стандартами C++11/14/17, STL, понимание принципов RAII и управления памятью).
•Базы данных: опыт работы с MS SQL Server или PostgreSQL (проектирование схем, написание оптимизированных запросов, работа с транзакциями).
•Алгоритмы: опыт разработки математических моделей и расчетных алгоритмов (вычислительная геометрия, линейная алгебра, оптимизация).
•САПР-разработка: опыт создания пользовательских объектов (Custom Entities) и интерфейсов в средах САПР (на базе ObjectARX, Teigha или аналогов). Понимание архитектуры графических платформ, работы с графической базой данных (GS) и событиями системы.
•Архитектура ПО: опыт проектирования архитектуры модульных решений (SOLID, Clean Architecture, управление зависимостями).
•Качество кода: опыт написания и поддержки модульных тестов (Google Test, Catch2 или аналоги), владение практиками TDD.
Желательные навыки:
•Опыт коммерческой разработки под AutoCAD или другие САПР-платформы на базе IntelliCAD/Teigha.
•Опыт работы с многопоточным программированием для ускорения расчетных модулей.
•Знание формата DWG/DXF на низком уровне.
•Опыт работы с системами автоматизированной сборки (CMake) и контроля версий (Git).