О команде
В Affirm мы существуем для тех моментов, которые имеют значение — предоставляя людям ясный, предсказуемый способ оплаты с течением времени, без скрытых комиссий, без сюрпризов и без компромиссов в том, что действительно важно.
Команда Data and Storage Services отвечает за инфраструктуру данных Affirm в системах OLTP и OLAP, охватывая критически важные онлайн-базы данных для оформления заказов, пакетную оркестрацию, потоковую инфраструктуру, событийно-ориентированные фреймворки, BI, аналитические инструменты, масштабные платформы данных и агентские инструменты работы с данными, такие как семантические слои и внутренние платформенные приложения для данных. Наша миссия — предоставлять надежные, интуитивно понятные и экономически эффективные решения для сотрудников Affirm, чтобы безопасно хранить, анализировать и преобразовывать данные в исключительных масштабах.
Команда Online Storage предоставляет набор управляемых баз данных в качестве платформы, используемой для сохранения данных всех сервисов Affirm. Наша платформа обеспечивает самообслуживание доступа к системам хранения OLTP, включая реляционные базы данных (MySQL), KV (DynamoDB), распределённые SQL (TiDB) и кэш (Redis). Как команда, мы отвечаем за различные шаблоны данных и доступа, включая, но не ограничиваясь, критически важными финансовыми транзакционными данными, моделями для науки о данных и любыми новыми случаями использования хранения. Эти обязанности требуют от нас изучения и глубокого освоения различных систем баз данных.
Мы ищем талантливого старшего инженера-программиста, который сможет проектировать, строить и масштабировать реляционные и распределённые SQL-базы данных, выявляя возможности для улучшения способов построения, внедрения, эксплуатации и совершенствования этой критически важной инфраструктуры, чтобы раскрыть значительную ценность для нашего бизнеса. У вас будет возможность напрямую влиять на дорожную карту вашей команды в тесном сотрудничестве с коллегами, делиться своими знаниями и опытом с другими и учиться у лучших в нашей общей миссии — предоставлять честные финансовые продукты, которые улучшают жизнь.
Что вы будете делать
•Вы будете строить и эксплуатировать управляющую плоскость для масштабных распределённых SQL-баз данных, таких как MySQL и TiDB, автоматизируя процесс развертывания, переключения на резерв, резервного копирования и обновлений от начала до конца.
•Вы будете проектировать и выполнять миграции схем и данных с акцентом на надежность в многопользовательских кластерах баз данных с нулевым временем простоя для продуктов, которые от них зависят.
•Вы будете владеть стеком сетевых технологий, который соединяет сервисы с хранилищем на Kubernetes, включая прокси-соединения, такие как ProxySQL, и настраивать его для минимальной задержки, устойчивости и переключения на резерв.
•Вы будете отвечать за постановку и достижение квартальных целей вашей команды, вести инженеров вашей команды через неопределённость для решения открытых задач и обеспечивать поддержку каждого на протяжении всего процесса выполнения.
•Вы будете поддерживать своих коллег и заинтересованных лиц в жизненном цикле разработки продукта, сотрудничая с менеджментом продукта, дизайном и аналитикой, участвуя в генерации идей, формулируя технические ограничения и сотрудничая в принятии решений, которые учитывают риски и компромиссы.
•Вы будете проактивно выявлять проблемы в проектах, процессах, технологиях или бизнесе, выступать их адвокатом и вести процесс их решения.
•Вы будете поддерживать операции и доступность артефактов вашей команды, создавая и отслеживая метрики, эскалируя вопросы при необходимости и поддерживая усилия по «поддержанию работы» и дежурству.
•Вы будете способствовать культуре качества и ответственности в вашей команде, устанавливая или улучшая стандарты обзора кода и проектирования для вашей команды, а также продвигая их за её пределами через ваши статьи и технические доклады.
•Вы будете помогать развивать таланты в вашей команде, предоставляя обратную связь и руководство, а также показывая пример.
Что мы ищем
•У вас есть общий опыт работы инженером-программистом не менее 5 лет.
•Вы имеете опыт проектирования, разработки и запуска масштабируемых бэкенд-систем с использованием технологий, таких как Python, Kotlin, AWS, MySQL, Terraform и Kubernetes.
•У вас есть глубокий практический опыт развертывания масштабных баз данных в производственной среде.
•Вы обладаете экспертизой в распределённых базах данных и технологиях баз данных, таких как MySQL (предпочтительно), TiDB (предпочтительно), Postgres, Spanner, Vitess, CockroachDB и др.
•У вас есть солидное понимание архитектуры распределённых баз данных, моделирования данных и оптимизации производительности. Особенно — экспертиза в настройке SQL и техниках оптимизации производительности.
•Вы обладаете опытом в бенчмаркинге баз данных, нагрузочном тестировании и планировании ёмкости.
•Вы знакомы с пулерами соединений и прокси, такими как ProxySQL, RDS Proxy, Pg Bouncer, PgDog и др.
•Вы создавали управляющие плоскости или инструменты автоматизации для баз данных, такие как развертывание, переключение на резерв, обновления или миграции схем, желательно на Kubernetes.
•Вы выполняли миграции с нулевым временем простоя и крупные обновления версий на производственных базах данных, а также создавали CLI-инструменты или инструкции для повторяемости этих процедур.
•Вы хорошо понимаете сетевые технологии Kubernetes, обнаружение сервисов и TLS, чтобы отлаживать проблемы соединения и переключения на резерв между сервисами и базами данных.
•У вас есть опыт определения технического плана для реализации значительной функции или компонента системы с элегантным, простым и расширяемым дизайном. Вы пишете качественный код, который легко понимается и используется другими.
•Вы умеете вносить значительные изменения в большой кодовой базе и разработали набор инструментов и практик, которые позволяют вам и вашей команде делать это безопасно.
•Ваш опыт показывает, что вы берёте ответственность за своё развитие, проактивно запрашивая обратную связь у команды, менеджера и заинтересованных лиц.
•У вас сильные устные и письменные коммуникативные навыки, поддерживающие эффективное сотрудничество с нашей глобальной инженерной командой.
•Для этой позиции требуется либо эквивалентный практический опыт, либо степень бакалавра в смежной области.
Эта удалённая позиция открыта только для кандидатов, проживающих в Альберте, Британской Колумбии, Манитобе, Нью-Брансуике, Ньюфаундленде и Лабрадоре, Новой Шотландии, Онтарио, Острове Принца Эдуарда или Саскачеване.
Уровень оплаты - N
Уровень акций - 6
Новые сотрудники Affirm обычно начинают с нижней границы диапазона оплаты. Affirm ориентируется на простую и прозрачную структуру оплаты, основанную на различных факторах, включая местоположение, опыт и профессиональные навыки.
Базовая оплата является частью общего пакета компенсаций, который может включать вознаграждения в виде акций, ежемесячные выплаты на здоровье, благополучие и технические расходы, а также льготы (включая 100% субсидированное медицинское страхование, стоматологическое и офтальмологическое обслуживание для вас и ваших иждивенцев).
Диапазон базовой оплаты в Канаде в год: $153,000 - 213,000 CAD.
Удалённая работа с встроенной гибкостью
Affirm гордится тем, что является компанией с приоритетом удалённой работы. Большинство ролей можно выполнять практически из любой точки страны трудоустройства. Некоторые позиции могут время от времени требовать личного присутствия в офисе Affirm, а некоторые — базироваться в офисе из-за специфики работы. Всем новым сотрудникам будет предложено пройти очное введение в должность.
Льготы
•Медицинское страхование без затрат: мы покрываем 100% страховых взносов для сотрудников и их иждивенцев.
•Выплаты на расходы: ежемесячные выплаты поддерживают вашу техническую оснащённость и возможность выбирать варианты здоровья и благополучия, которые подходят именно вам.
•Отпуск для восстановления сил: гибкий отпуск и щедрый календарь праздников помогают вам отдыхать, когда это необходимо.
•Владейте частью того, что создаёте: наша программа покупки акций для сотрудников (ESPP) позволяет покупать акции Affirm со скидкой.