Обязанности и достижения:
Технологический стек: Go, NodeJs, Python, MongoDB, AWS (S3, DynamoDB, EC2, Lambda, IoT, SM), Terraform, Docker, Kubernetes, Prometheus, Jaeger (OpenTracing), Kafka.
Обязанности:
- разработка высокопроизводительных, надежных и масштабируемых сетевых сервисов
- разработка и оптимизация алгоритмов
- исследование и прототипирование
Выдающиеся достижения:
- улучшение алгоритма поиска маршрутов по карте, выделение соответствующей части системы в отдельный сервис, приведшее к росту производительности этого участка системы в 1000 (тысячу) раз;
- создание сетевого сервиса (прокси) позволившего уменьшить задержки передачи сравнительно больших объемов данных (десятки мегабайт) почти до теоретического минимума (задержка упала с 8-10 секунд до 90-140 миллисекунд);
- полный редизайн сервиса, отвечающего за общение роботов с ядром системы (работает в облаке), что позволило уменьшить лаг с 1,5-2,5 секунд до 0,3 секунд, а также позволило одному экземпляру сервиса обслуживать не 40 роботов (максимум), а 500 (800 максимум), с теоретическим максимум в 800 тысяч по всему миру;
- переделка сервиса генерации внутренних карт с повышением производительности в 60 раз, что позволило уменьшить время подключения новых областей для обслуживания с месяца до 2-3 дней;
- создание масштабируемого сервиса для обеспечения автоматической замены батареи у робота;
- создание протокола автоматической балансировки потоков работы между экземплярами сервиса с учетом динамического изменения количества таких экземпляров;
- значительный вклад в уменьшение себестоимости доставки (в т. ч. с помощью машинного обучения);
- управление проектами, надо выполнением которых работало несколько команд (2-3).