Обязанности:
О проекте Мы создаём систему планирования лечения для контактной лучевой терапии — сложный и социально значимый продукт на стыке медицины, математики и визуализации. Это не просто веб-приложение, а полноценная цифровая платформа, которая помогает врачам принимать точные решения и буквально влияет на качество лечения пациентов. Продукт не имеет прямых аналогов в России и объединяет: продвинутые алгоритмы расчётов, 3D-визуализацию медицинских данных, интеграцию с диагностическим оборудованием по протоколу DICOM. Сейчас проект в активной фазе разработки — это значит, что у тебя будет реальное влияние на архитектуру, подходы и конечный результат. Чем предстоит заниматься Разрабатывать и оптимизировать алгоритмы (включая матричные операции) Работать с 3D-визуализацией и графикой Писать и настраивать шейдеры Решать задачи низкоуровневого взаимодействия (Web Workers, работа с GPU и памятью) Верстать интерфейсы по макетам Создавать собственные компоненты Технологический стек: Back: .NET, PostgreSQL Front: ReactJS, Typescript, Styled-Components Кого мы ищем: Тебе будет комфортно у нас, если ты: Глубоко понимаешь React (хуки, кастомные хуки, контексты и их подводные камни) Уверенно работаешь с TypeScript (дженерики, интерфейсы, типизация сложных структур) Хорошо знаешь JavaScript (асинхронность, работа с IndexedDB) Понимаешь REST-подход Работал с локализацией приложений Умеешь проектировать архитектуру сложных frontend-приложений Имеешь опыт с Webpack (у нас пока v4) или Rollup Проводил code review и умеешь читать чужой код без боли Декомпозируешь задачи и оцениваешь их Уверенно работаешь со Styled Components и современной версткой Можешь сверстать адаптивный интерфейс по макету Работаешь с Git и понимаешь gitflow Публиковал пакеты в npm Пишешь unit-тесты (и получаешь от этого удовольствие) + e2e Имеешь опыт работы в распределённой команде и монорепозиториях Что предлагаем: мы предоставляем официальное оформление, «белую» заработную плату; мы лояльно относимся к гибкому графику работы, если он не снижает эффективность всей команды; компания и сотрудники всегда имеют возможность договориться. Придерживаемся принципа: если тебе чего-то не хватает — скажи об этом. Вместе мы обязательно найдем решение, чтобы каждый остался в позиции win-win.Похожие вакансии