Senior C# Developer (BIM)
НанософтОписание
Нанософт разработка создаёт отечественную САПР-платформу nanoCAD инструмент проектирования, который помогает российским компаниям обеспечить независимость от зарубежных решений в критичных сферах: BIM, САПР и ERP.
Мы делаем то, что ещё несколько лет назад казалось невозможным: создаём российский BIM-инструмент, реальный продукт, которым пользуются компании по всей стране - от небольших проектных бюро до крупных холдингов.
Мы в поиске сильного инженера-программиста , для которого работа - это про глубину. Про то, как устроены данные, как синхронизировать и передавать изменения, как не перегрузить систему и пользователя, когда у тебя сотни тысяч объектов в модели.
Сотрудника ищем исключительно в Новосибирске , так как команда находится в этом городе, и мы предпочитаем работать в офисе (удаленки нет, гибрид доступен после испытательного). В сложной архитектуре очные сессии часто экономят нам дни разработки.
Основной стек
- C# / .NET 6
- C++ для интеграции с CAD платформой
- WPF
- nUnit
- CI/CD на Teamcity
- Mercurial(HG) для версионирования исходников
Чем предстоит заниматься (после периода адаптации и изучения кодовой базы)
- Определять технические решения: модели данных, стратегии синхронизации, подходы к кешированию и управлению памятью.
- Вести критические участки к продакшену: от технических эскизов и экспериментов до стабильной поставки.
- Задавать инженерные стандарты (профилирование, тестируемость, перфоманс-бюджеты ), разбирать сложные инциденты.
- Менторить мидлов, постепенно формировать вокруг себя сильную группу (управленческая часть - по желанию и по готовности).
Что мы ожидаем увидеть через год
- Вы - один из архитектурных якорей по 1-2 подсистемам.
- Есть осязаемые победы в производительности и памяти, закреплённые в метриках и стандартах команды.
- Команда использует предложенные вами паттерны синхронизации/кеширования/etc как базовые кирпичи .
- Вокруг вас выросли люди: мидлы ускорились, сложные задачи стали предсказуемо приземляться в релизы.
Подробнее про техническую команду
- У нас царит зрелая инженерная культура , включая Code Inspections - оформления, статический анализ кода, Codereview для всех изменений с минимум двумя одобрениями, Unit тесты с контролем покрытия. У нас открытое и уважительное общение внутри команды.
- У нас есть четкое видение того, какую проблему мы решаем, и мы контролируем качество продукта тестируем в ветках, только после этого код попадает в основную ветку разработки. Сборка дистрибутива проходит автоматически по кнопке или по расписанию на тестирование уходит полностью собранный дистрибутив продукта (такой же как для пользователей).
- Мы работаем на рынке с явной конкуренцией, где отрасль требует постоянного совершенствования и оттачивания имеющихся навыков, поэтому мы готовы выделять время и ресурсы на обучение и развитие наших сотрудников.
Этапы отбора
Нам важно понять границы компетенций : где вы уверенно решаете задачи самостоятельно, где вам нужна поддержка и какие зоны хотите усилить.
Для этого мы используем два формата - практическое тестовое задание или углубленное техническое интервью. Формат выбираем вместе с кандидатом. Так, по желанию кандидата можем добавить короткое тестовое, чтобы снизить риск не попасть в волну на очном интервью.
Мы нормально относимся к использованию ИИ при выполнении тестового задания. На интервью попросим объяснить решения, внести правки на лету , разобрать trade-off ы - так мы убеждаемся, что за результатом стоит ваша экспертиза.
Вместо заключения :)
Работа на этом проекте - это шанс заложить фундамент российского BIM для проектирования инженерных сетей в гражданском и промышленном строительстве следующего поколения: история изменений (включая ветвления), высоконагруженные алгоритмы, параллельные вычисления, работа с большими моделями. Тут выигрывают не шириной кластера, а качеством архитектуры и точностью инженерных решений.
Откликайтесь, давайте пообщаемся и обсудим лично!