В Emlid мы создаем современное профессиональное геодезическое оборудование для высокоточных измерений. Мы разрабатываем как аппаратное, так и программное обеспечение самостоятельно и постоянно общаемся с нашими пользователями, чтобы получать отзывы, которые вдохновляют нас на улучшение наших продуктов.
Нашу команду объединяет общий интерес к исследованиям, глубокая вовлеченность в задачи и коллективное стремление к совершенству — и мы приветствуем тех, кто разделяет наши ценности и подход к работе.
Сейчас мы ищем нового Cloud Backend Developer в нашу команду.
В этой роли вы будете:
- Полностью отвечать за бэкенд-сервисы — от модели данных до поведения в продакшене;
- Проектировать модели данных для новых функций в наших документо-ориентированных базах данных и развивать существующие по мере роста использования;
- Разрабатывать взаимодействие между сервисами, клиентскими приложениями и сторонними API;
- Отлаживать и устранять проблемы в продакшене;
- Писать и поддерживать модульные и интеграционные тесты.
Наш технологический стек:
Python (FastAPI), Kotlin (Ktor), DigitalOcean, Kubernetes, Couchbase, MongoDB, Redis, RabbitMQ, Grafana, Prometheus и OpenTelemetry.
Примеры задач:
- Разработать модель данных для новой функции (например, совместного использования проектов между организациями) и мигрировать существующие данные без простоев;
- Заменить синхронную стороннюю интеграцию на поток на основе очереди — повторные попытки, идемпотентность, обработка сбоев;
- Разработать механизм распространения обновлений проекта от устройства в облако и далее в приложения других пользователей, включая разрешение конфликтов;
- Потоково передавать положение приемника в реальном времени из мобильного приложения через облако в веб-приложение, чтобы коллега мог наблюдать его перемещение на карте в реальном времени;
- Расширить биллинговый модуль для поддержки нового платежного провайдера.
Требования:
- Свободное владение Python;
- 5+ лет коммерческого опыта проектирования отказоустойчивых бэкенд-сервисов и API, а также работы с распределенными системами;
- Практический опыт работы с Docker и уверенное использование сервисов в Kubernetes;