Exol
Staff Software Engineer - Algorithms
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер-разработчик в команду Software Engineering компании Symbotic. Разработка распределённых сервисов для систем автоматизации складов и решение задач оптимизации (комбинаторная оптимизация, алгоритмы на графах, bin packing).
Задачи
- Проектировать и разрабатывать распределённое ПО реального времени для систем автоматизации
- Проектировать высокодоступные и масштабируемые программные системы
- Исследовать и внедрять решения NP-сложных задач оптимизации (комбинаторная оптимизация, эвристики, алгоритмы на графах, bin packing, секвенирование)
- Анализировать распределённые компоненты с помощью инструментов профилирования и отладки
- Работать в Agile/Scrum-окружении
- Разрабатывать микросервисные приложения на .NET Core, RabbitMQ, Open API, Kubernetes
- Возможны командировки к заказчикам
Требования
- Степень бакалавра или магистра в Computer Science, Software Engineering или смежной области
- Минимум 8 лет профессиональной разработки на C# и .NET
- Сильное владение ООП, принципами SOLID и паттернами проектирования
- Глубокое понимание алгоритмов, структур данных и анализа вычислительной сложности
- Опыт проектирования масштабируемых отказоустойчивых распределённых систем
- Навыки отладки, траблшутинга и оптимизации производительности
- Опыт работы с реляционными БД и оптимизацией SQL
- Опыт работы с системами контроля версий, например Git
- Опыт работы с SQL Server (PL/SQL)
- Опыт разработки под Windows и Linux
- Опыт написания юнит-тестов и фреймворков тестовой автоматизации
- Опыт асинхронного и многопоточного программирования
- Опыт кросс-платформенной разработки на .NET Core
Условия
- Гибридный формат работы
- Командировки до 10%
- Медицинская, стоматологическая и офтальмологическая страховка, страховка по нетрудоспособности
- Пенсионный план 401K
- Оплачиваемый отпуск (PTO)
- Базовая зарплата $138,074.75 – $211,200.00 в год
Навыки
- C#
- .NET
- .NET Core
- OOP
- SOLID
- Design Patterns
- Algorithms
- Data Structures
- Distributed Systems
- SQL
- SQL Server
- PL/SQL
- Git
- Windows
- Linux
- Unit Testing
- Multithreading
- RabbitMQ
- Open API
- Kubernetes
- Microservices