Sonwil
Backend Software Developer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Backend-разработчик для поддержки и развития серверных приложений платформы автоматизации складов FourSquare Solutions. Работа в среде Microsoft с акцентом на надёжность, производительность и сопровождение промышленных сервисов.
Задачи
- Поддерживать, улучшать и расширять существующие backend-приложения платформы FourSquare и связанных логистических решений
- Разрабатывать надёжное серверное ПО, рассчитанное на непрерывную работу без сопровождения в production
- Проектировать, разрабатывать, тестировать, отлаживать и сопровождать сервисы приложений, бизнес-логику, системные процессы и интеграции
- Диагностировать и устранять дефекты ПО, проблемы производительности, сбои обработки и другие production-инциденты
- Разрабатывать ПО с акцентом на надёжность, сопровождаемость, восстанавливаемость, логирование, мониторинг и обработку ошибок
- Работать с Microsoft SQL Server: проектировать и поддерживать взаимодействие с БД, запросы, хранимые процедуры и доступ к данным
- Участвовать в DevOps-процессах: контроль версий, code review, сборка, тестирование, деплой и управление релизами
- Поддерживать и улучшать логику pathing и routing платформы FourSquare
- Разрабатывать и поддерживать интерфейсы между приложениями FourSquare и другими внутренними, клиентскими, автоматизационными и сторонними системами
- Совместно с командой веб-разработки определять и поддерживать сервисы и данные для визуализации системы и пользовательских приложений
- Работать с операционным и техническим персоналом, чтобы понимать складские процессы и переводить реальные логистические требования в поведение приложения
- Разрабатывать автоматические тесты и техническую документацию
- Участвовать в принятии решений по архитектуре и техническому дизайну приложений
- Поддерживать production-внедрения и troubleshooting, включая occasional командировки на проектные и клиентские площадки
- Постоянно искать возможности улучшения производительности, масштабируемости, надёжности и практик разработки
Требования
- Степень в Computer Science, Software Engineering, Information Systems или смежной технической дисциплине (предпочтительно) либо эквивалентный практический опыт
- Профессиональный опыт разработки backend или серверных приложений на технологиях Microsoft
- Уверенное владение C#, VB и средой разработки .NET
- Опыт разработки приложений и сервисов, рассчитанных на надёжную работу без сопровождения
- Хорошее знание Microsoft SQL Server, реляционных БД, SQL и технологий доступа к данным
- Опыт современных практик разработки и DevOps: контроль версий, автоматические сборки, тестирование, деплой и релизы
- Понимание объектно-ориентированной разработки, архитектуры приложений, отладки и принципов проектирования ПО
- Опыт разработки и отладки интеграций, API, сервисов и межсистемных коммуникаций
- Опыт с A*, графовыми алгоритмами, pathfinding, routing, оптимизацией или похожими алгоритмическими задачами (плюс)
- Опыт многопоточных, асинхронных, событийно-ориентированных или высокодоступных приложений (плюс)
- Опыт в логистике, управлении складом, складской автоматизации, material handling, робототехнике или управлении запасами (сильно предпочтительно)
- Сильные аналитические навыки и умение понимать как поведение ПО, так и реальные процессы, которыми оно управляет
- Способность работать самостоятельно и эффективно взаимодействовать с разработчиками, техническими специалистами и операционным персоналом
- Внимание к качеству ПО, надёжности, сопровождаемости и документации
- Готовность и способность ездить в командировки на площадки компании, проектов и клиентов при необходимости
Условия
- Удалённая работа возможна при готовности к командировкам
- График: понедельник–пятница, 8:00–16:30
- Без прямых подчинённых
- Работа в команде с внутренними разработчиками, веб-командой, автоматизаторами и операционным персоналом
Навыки
- C#
- VB
- .NET
- Microsoft SQL Server
- SQL
- DevOps
- A*
- graph algorithms
- pathfinding
- routing
- multithreading
- asynchronous programming
- event-driven architecture
- APIs
- integrations