Обязанности:
FlexiLigner ищет Unity .NET Software Engineer / Unity Tools Developer уровня Middle / Middle+ в команду разработки 3D-продукта для цифровой ортодонтии. FlexiLigner — российская технологическая компания в сфере цифровой ортодонтии. Более 14 лет мы развиваем продукты на стыке медицины, 3D-технологий и производства. Мы создаем элайнеры — прозрачные капы для выравнивания зубов, которые производятся на собственном высокоточном оборудовании и применяются врачами по всей России. Сегодня FlexiLigner — это более 250 специалистов, собственные R&D-центры, цифровые сервисы для врачей и пациентов, собственное производство, международные проекты и статус резидента инновационного центра «Сколково». Технологическое направление развивается совместно с SoftSmile — healthtech-компанией в сфере цифровой ортодонтии. Команда работает над продуктами для международного рынка, включая США; решения используются клиниками и производителями элайнеров за рубежом и соответствуют требованиям FDA. Вакансия открыта в команду продукта Vision — desktop-приложения для ортодонтов. Продукт используется для планирования выравнивания зубов и проектирования элайнеров. Приложение работает на Windows и macOS. Чем предстоит заниматься: разрабатывать функциональность Unity-приложения для работы с 3D-моделями зубов; реализовывать требования бизнес-аналитиков в виде рабочего, тестируемого кода; развивать инструменты 3D-взаимодействия: визуализация, выделение, перемещение, измерения, работа с геометрией; работать с системами координат, матрицами, векторами, кватернионами и преобразованиями; интегрироваться с .NET-библиотеками и геометрическим ядром; участвовать в обсуждении технических решений с senior-командой; писать поддерживаемый C#-код, покрывать важную логику тестами; разбираться с производительностью, асинхронностью, памятью и качеством 3D-инструментов. Наш стек: Unity, C#, UniTask; UnityWeld, MVVM; Autofac, Dependency Injection; .NET: netstandard2.1, net9.0; geometry3Sharp, frame3Sharp, SkiaSharp; C++ для mesh-алгоритмов; Rust для SDF; HLSL, Unity Shader Graph; xUnit, NUnit, FluentAssertions, Moq; GitLab CI/CD; Git, rebase/merge flow; AWS, GCP legacy. Что важно: коммерческий опыт разработки на Unity от 3 лет; уверенный C#: async/await, Task/ValueTask, generics, LINQ, делегаты, события; понимание GC, аллокаций, value/reference types, class/struct, ref/in/out; опыт разработки на чистом .NET, включая backend/library-код; практический опыт с архитектурой: MVVM, MVC, MVP, DI, SOLID; понимание GoF-паттернов и умение объяснять trade-off решений; сильная база по 3D-математике: векторы, матрицы, базисы, проекции, пересечения, тригонометрия, кватернионы; опыт с асинхронностью и многопоточностью: deadlock, race conditions, synchronization context; опыт написания unit-тестов: xUnit / NUnit; уверенная работа с Git: rebase-flow, конфликты, merge/rebase. Будет плюсом: опыт разработки CAD-like приложений, 3D-редакторов, Unity tools, VR/AR или 3D-конфигураторов; опыт с mesh, геометрическими алгоритмами, сегментацией, инструментами редактирования геометрии; опыт в medical software, dental software или продуктах с 3D-визуализацией; понимание HLSL / ShaderLab и rendering pipeline в Unity; опыт профилирования Unity: Profiler, Frame Debugger, Memory Profiler; опыт работы с большими репозиториями, Git LFS, monorepo; опыт с CI/CD. Какой кандидат нам подойдет: Лучше всего подойдут инженеры из Unity tools, 3D editors, CAD-like приложений, VR/AR, 3D-конфигураторов или gamedev с сильной 3D-математикой и опытом разработки инструментов. В команде важно уметь аргументировать технические решения, спокойно обсуждать спорные подходы и проявлять инициативу. Продукт сложный, команда сильная, поэтому мы ждем самостоятельного инженера, который умеет разбираться в задаче и доводить функциональность до результата. Условия: удаленная работа; полная занятость, гибкий формат; оплата: от 300 000 ₽, финально обсуждается по опыту кандидата; формат сотрудничества: предпочтительно ИП, налоги компенсируются в составе оплаты; официальное трудоустройство можно обсудить индивидуально; фиксированная оплата, без KPI; испытательный срок: 3 месяца; работа в продуктовой команде с опытными senior-инженерами; участие в healthtech-продукте с реальной 3D-геометрией, medical device контекстом и международным рынком. Этапы отбора: уточнение в чате ключевых моментов по опыту знаниям Короткое интервью с рекрутером. Техническое интервью с командой. Финальная встреча с руководителем.Похожие вакансии