Temporal Technologies
Software Engineer II, OSS
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер в команду Open Source Server компании Temporal. Разработка и поддержка ядра распределённой платформы Temporal: надёжность, производительность и удобство для разработчиков.
Задачи
- Проектировать, реализовывать, тестировать и выпускать чётко очерченные фичи и улучшения для сервера Temporal при поддержке команды
- Решать задачи распределённых систем: сопоставление задач, планирование, выполнение workflow, visibility, квоты, throttling, персистентность, примитивы для разработчиков и жизненный цикл workflow
- Принимать взвешенные инженерные решения, балансируя developer experience, производительность и эксплуатационные требования
- Работать совместно с инженерами, продакт-менеджерами, cloud-командами и командами, работающими с клиентами, чтобы понимать требования и поставлять масштабируемые решения
- Повышать надёжность и эксплуатируемость сервера: добавлять тесты, инструментацию, дашборды, алерты, runbook'и и документацию
- Участвовать в обсуждениях дизайна и код-ревью, перенимать лучшие практики и поддерживать высокое качество кодовой базы
- Улучшать developer experience для пользователей open source и enterprise-клиентов через инкрементальные улучшения и исправление багов
- Делиться знаниями с коллегами и поддерживать культуру совместной инженерной работы
Требования
- Опыт создания и эксплуатации production backend-систем (распределённые системы и конкурентность)
- Сильные фундаментальные знания computer science: основы конкурентности, структуры данных, отладка
- Опыт написания production-кода на Go, Java или другом подходящем backend-языке с акцентом на корректность и поддерживаемость
- Понимание ключевых концепций распределённых систем (отказоустойчивость, компромиссы консистентности, репликация, планирование, производительность) и желание углублять эти навыки
- Умение декомпозировать неоднозначные задачи на более мелкие, задавать правильные вопросы и учитывать обратную связь по код-ревью
- Комфортная работа в кросс-командном взаимодействии и ясная коммуникация прогресса, рисков и компромиссов
- Плюс: опыт с практиками тестирования и операционный подход (логирование, метрики, трейсинг, понимание on-call)
- Плюс: опыт работы с open source ПО или сообществами
- Плюс: опыт с AWS, Azure или GCP
- Плюс: знакомство с Elasticsearch, OpenSearch, ClickHouse, Cassandra, PostgreSQL или MySQL
- Плюс: знакомство с Kubernetes или связанным инструментарием (CRDs, KEDA, Argo)
Условия
- Работа над ядром распределённой системы, используемой большим open source сообществом и enterprise-клиентами
- Совместная работа с опытными инженерами и рост в области распределённых систем
- Опыт работы с Temporal не требуется
Навыки
- Go
- Java
- Distributed Systems
- Concurrency
- AWS
- Azure
- GCP
- Elasticsearch
- OpenSearch
- ClickHouse
- Cassandra
- PostgreSQL
- MySQL
- Kubernetes
- CRDs
- KEDA
- Argo