Workato
Senior Software Engineer (GOlang, Engine)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-инженер в команду Engine платформы Workato. Разработка и модернизация высоконагруженного runtime-движка рецептов на Go: выполнение рецептов, DSL, обработка вебхуков и событий, оптимизация производительности и памяти.
Задачи
- Проектировать и реализовывать распределённые backend-системы на Go с учётом производительности и работы с памятью
- Работать над runtime-компонентами при высокой конкурентности и нагрузке
- Применять знание внутренностей Go (scheduler, memory model, garbage collection) для повышения эффективности системы
- Проектировать и оптимизировать конкурентные workflow с использованием goroutines, channels, примитивов синхронизации и context propagation
- Анализировать и оптимизировать использование слайсов, аллокаций памяти и структур данных на критичных по производительности путях
- Улучшать движок исполнения стороннего кода (изоляция, производительность, расширение функциональности)
- Модернизировать runtime-компоненты с фокусом на модульность, структурированную архитектуру и observability
- Улучшать конфигурацию и исполнение триггеров через вебхуки и polling
- Интегрировать и оптимизировать решения для хранения данных (Postgres, S3, DynamoDB, Kafka, ClickHouse)
- Выявлять узкие места, race conditions, deadlocks и деградацию производительности в распределённых системах
- Вести инициативы end-to-end: от дизайна до rollout и поддержки в продакшене
- Проводить code review с акцентом на корректность, безопасность конкурентности и производительность
Требования
- Сильный опыт построения масштабируемых распределённых backend-приложений (7+ лет)
- Понимание всех строительных блоков крупных веб-приложений: базы данных, балансировщики нагрузки, серверы приложений, брокеры сообщений, кэширование, мониторинг
- Понимание сетевых протоколов и стеков
- Понимание технологий БД: классические базы и современные no-SQL
- Знание базовых структур данных и алгоритмов
- Опыт программирования на нескольких языках (кодовая база в основном на Ruby, с трендом миграции на Go и Rust)
- Отличные навыки отладки, аналитики и решения проблем
- Степень BS/MS в Computer Science, Engineering или смежной области, 7+ лет опыта в индустрии
- Готовность работать удалённо с командами по всему миру и в разных часовых поясах
Условия
- Удалённая работа
- Гибкая культура, ориентированная на доверие и полную ответственность за свою роль
- Найм кандидатов из Германии, Армении, Грузии, Португалии, Польши, Нидерландов, Сербии, Греции и Испании
- Множество бенефитов внутри и вне работы
Навыки
- Go
- Ruby
- Rust
- Postgres
- S3
- DynamoDB
- Kafka
- ClickHouse
- goroutines
- channels
- Docker
- AWS
- Azure
- Google Cloud
- REST APIs