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