Apple
Staff Software Engineer, ASE Storage team
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер в команду ASE Storage в Apple: проектирование и развитие крупномасштабных распределённых систем хранения и key-value хранилищ, лежащих в основе облачной инфраструктуры Apple.
Задачи
- Проектировать, разрабатывать и поддерживать сервисы и инфраструктуру внутреннего облака Apple, повышая функциональность, доступность, масштабируемость и безопасность
- Разрабатывать и реализовывать функции распределённого key-value хранилища: автоматическое восстановление, шард-сплиты и ребалансировку
- Работать над строго консистентной распределённой упорядоченной key-value базой данных на кастомном transaction log поверх Raft/ZAB с RocksDB в качестве storage engine
- Обеспечивать баланс между доступностью и производительностью с приоритетом долговечности данных
- Взаимодействовать с внутренними командами, включая команды-заказчики и команду storage reliability engineering
- Писать тестируемый и поддерживаемый код, выстраивать масштабируемые процессы в команде
Требования
- 10 лет профессионального опыта разработки программного обеспечения или инфраструктурных систем
- 5 лет опыта построения и эксплуатации распределённых систем
- Сильные аналитические навыки и навыки решения задач, внимание к деталям
- Опыт программирования на одном или нескольких языках: Rust, C++, Java или C#
- Степень бакалавра в области Computer Science, инженерии или эквивалентный практический опыт
Условия
- Работа над системами масштаба 2000+ хостов и 5M+ транзакций в секунду
- Возможность влиять на направление развития backend множества критичных интернет-сервисов Apple
- Дружная, коллаборативная и высокомотивированная команда
Навыки
- Rust
- C++
- Java
- C#
- Raft
- ZAB
- RocksDB
- distributed systems
- key-value store
- distributed storage
- non-blocking programming
- thread safe programming