Описание
Мы ищем Full-Stack разработчика, который будет проектировать, создавать и оптимизировать масштабируемые приложения, лежащие в основе продуктов на базе генеративного ИИ (GenAI). Вы будете отвечать за функциональность на всех уровнях стека - от адаптивных пользовательских интерфейсов до бэкенд-сервисов, конвейеров данных и продакшн инфраструктуры, а также создавать GenAI-решения с нуля в тесном сотрудничестве с ML-инженерами.
Задачи
- проектирование и создание адаптивных, доступных (accessible) пользовательских интерфейсов, переиспользуемых frontend-компонентов, бэкенд-сервисов, API и моделей данных.
- оценка технологий, фреймворков и паттернов проектирования, выбор оптимального подхода под каждую задачу с учётом масштабируемости, поддерживаемости, безопасности и производительности.
- совместная работа с ML-инженерами по интеграции моделей, оркестрации процессов инференса, управлению асинхронными задачами и созданию надёжного пользовательского опыта на базе ИИ.
- создание автоматизированных песочниц для оценки, кастомных правил статического анализа и систем валидации, которые проверяют, что сгенерированный ИИ код корректен, поддерживаем и безопасен.
- написание чистого, типизированного, хорошо документированного кода и поддержка комплексных наборов unit-, интеграционных, контрактных и end-to-end тестов.
- выявление и устранение узких мест на frontend, backend, в базах данных и распределённых системах.
- применение практик безопасной разработки в вопросах аутентификации, авторизации, проектирования API, обработки данных, управления зависимостями и выполнения кода в изолированной среде (sandbox).
- использование структурированного логирования, распределённой трассировки, метрик, APM и инструментов мониторинга ошибок для понимания поведения системы и диагностики проблем в продакшене.
- участие в CI/CD-конвейерах, автоматизации деплоя, конфигурации инфраструктуры и поддержке продакшена.
Требования
- более 5 лет профессионального опыта в разработке ПО, включая значимую зону ответственности за продакшн full-stack приложение.
- уверенное владение TypeScript, JavaScript, HTML и CSS, а также опыт работы с современным фреймворком — React, Next.js, Vue или аналогичным.
- уверенное владение Python 3.10+ и опыт создания продакшн-сервисов на фреймворках FastAPI, Django или Flask.
- опыт проектирования REST, GraphQL, WebSocket или событийно-ориентированных (event-driven) API и работы с реляционными базами данных, системами кэширования, очередями и объектным хранилищем.
- практическое знание асинхронного программирования, обработки фоновых задач и характеристик производительности I/O-bound и CPU-bound нагрузок.
- доказанная способность проектировать масштабируемые системы и обосновывать технические решения в условиях ограничений по производительности, безопасности, ресурсам и срокам.
- опыт работы с инструментами вроде pytest, Vitest или Jest, а также Playwright или Cypress, включая эффективные стратегии мокинга и изоляции тестов.
- опыт создания систем валидации кода, правил статического анализа, конвейеров линтинга, сред для оценки (evaluation) или безопасных песочниц для выполнения кода.
- практический опыт с автоматизированными конвейерами доставки, контейнерами, облачной инфраструктурой и мониторингом продакшена.
- умение эффективно взаимодействовать с продуктовыми, дизайнерскими, инфраструктурными и ML-командами, ясно доносить технические компромиссы (trade-offs).
- Будет плюсом: опыт создания продуктов на базе LLM, агентных сценариев (agent workflows), систем model-serving или других технологий генеративного ИИ.
- Будет плюсом: знакомство с оркестрацией ML-процессов, PyTorch, диффузионными моделями, эмбеддингами или векторными базами данных.
- Будет плюсом: опыт работы с OpenTelemetry, распределённой трассировкой, APM-платформами и системами анализа логов.
- Будет плюсом: опыт проектирования библиотек компонентов, дизайн-систем и доступных (accessible) интерфейсов.
- Будет плюсом: знание производительности браузера, server-side rendering, потоковых (streaming) интерфейсов и паттернов real-time приложений.
- Будет плюсом: опыт профилирования и оптимизации высоконагруженных распределённых систем и конвейеров данных.
- Будет плюсом: знакомство с cloud-native архитектурой, инфраструктурой как кодом (IaC) и Kubernetes или сопоставимыми платформами оркестрации.
Условия
- Возможность работать с современными технологиями и инструментами генерации кода.
- Удалённый формат работы.
- 25 дней отпуска, дополнительные выходные дни и больничный.
- Возможности для профессионального и карьерного роста.
- Конкурентный пакет зарплаты.
- Выездные корпоративы раз в год.