Verra Mobility
Mesa, Соединенные Штаты27 дней назад
Заголовок: Sr. Database Engineer Местоположение: AZ_Mesa_HQ
Обзор должности Мы ищем опытного старшего инженера баз данных, который будет отвечать за проектирование, производительность и операционную целостность реляционной платформы данных, лежащей в основе наших продуктов для мобильности. Это практическая роль старшего индивидуального контрибьютора, ответственного за архитектуру схемы, безопасность миграции, производительность запросов и долговечность данных в многопользовательской транзакционной платформе большого объема, работающей на Amazon Web Services (AWS). Вы будете работать вместе с инженерами-программистами, инженерами платформы и DevOps, а также архитекторами, тесно сотрудничая с отделами Product, QE и Information Security для поддержки сотен микросервисов, которые читают и записывают общие операционные хранилища данных. Успех в этой роли измеряется производительностью запросов и транзакций, безопасностью и скоростью изменения схемы, долговечностью данных относительно целей восстановления и отказом от паттернов доступа к данным, которые ограничивают масштабируемость платформы. Основные обязанности Проектирование схемы и управление изменениями Отвечать за реляционную схему основной операционной платформы — моделирование сущностей и доменов, решения по нормализации, проектирование ограничений и индексов, а также справочные и начальные данные, управляемые как версионированные артефакты, подлежащие проверке. Создавать и проверять миграции баз данных в виде кода, применяя совместимые с обратной совместимостью паттерны изменений с нулевым временем простоя (expand/contract, dual-write, backfill-then-cut), чтобы выпуски схемы были отделены от выпусков приложений. Вести историю миграций как авторитетный реестр примененного состояния во всех средах и для всех клиентов, включая обнаружение дрейфа и сверку случаев расхождения сред. Определять и обеспечивать соблюдение стандартов для ограничений, внешних ключей, возможности NULL и уникальности, чтобы целостность данных гарантировалась базой данных, а не соглашениями приложений. Инженерия производительности и оптимизация запросов Профилировать и настраивать высокопроизводительные OLTP-нагрузки: анализ планов выполнения, стратегия индексирования, секционирование, статистика и поведение планировщика, пулинг соединений, а также настройка vacuum и autovacuum. Диагностировать и устранять задержки и сбои таймаутов от начала до конца, включая случаи, когда база данных является симптомом, а не причиной — неправильная конфигурация таймаутов на стороне клиента, штормы повторных попыток, паттерны доступа N+1, а также повторная генерация планов. Устанавливать бюджеты производительности запросов и обнаруживать регрессии, чтобы производительность проверялась перед выпуском, а не обнаруживалась в продакшене. Проверять границы транзакций, уровни изоляции и стратегию блокировки для обеспечения корректности при параллельном доступе — включая явное блокирование на уровне строк, где гонки read-then-write в противном случае допускали бы дублирующуюся или противоречивую обработку. Архитектура данных и модернизация платформы Возглавлять консолидацию доступа к данным из сгенерированных уровней API и ad-hoc SQL, встроенных в код приложения, в сторону типизированных, повторно используемых доменных сервисов с четкими границами ответственности. Уменьшить зависимости от сторонних уровней данных и связанный с ними лицензионный риск, поэтапно заменяя их на стыке инфраструктуры, среда за средой, без изменения поведения приложений. Поддерживать миграцию клиентских данных из устаревших платформ, включая сопоставление, преобразование, загрузку и формальную сверку с исходными записями по количеству и балансам. Сотрудничать с отделом архитектуры при разделении транзакционных и аналитических нагрузок, реплик репортинга и нижестоящих каналов данных для хранилищ данных. Надежность, резервное копирование и аварийное восстановление Отвечать за конфигурацию резервного копирования, восстановления на определенный момент времени, репликации и отработки отказа, а также проверять ее с помощью реальных упражнений по восстановлению, а не предполагаемых возможностей. Обеспечить, чтобы конфигурация восстановления соответствовала контрактным обязательствам по RPO и RTO, и предоставлять доказательства, демонстрирующие соответствие. Создавать средства наблюдения за базой данных — события ожидания, захват медленных запросов, задержка репликации, насыщение соединений, а также запас пропускной способности хранилища и IOPS — и определять SLI для уровня данных. Участвовать в очередных дежурствах и действовать как ответственный за инциденты для событий на уровне данных, способствуя анализу первопричин и отслеживая корректирующие действия до их завершения. Безопасность, конфиденциальность и соответствие требованиям Реализовать шифрование при хранении и передаче, управление ключами и доступ к базе данных по принципу наименьших привилегий; заменить общие и долгоживущие учетные данные управляемыми удостоверениями и краткосрочными токенами. Защищать регулируемые и личные данные — включая данные о транспортных средствах, зарегистрированных владельцах и платежные данные — посредством контроля доступа, маскирования в непроизводственных средах, а также обоснованных процессов хранения и удаления. Межфункциональное сотрудничество Сотрудничать с отделом разработки программного обеспечения, чтобы новые сервисы с самого начала использовали утвержденные паттерны доступа к данным, инструментарий миграции и проверку производительности, а не дорабатывали их позже. Проверять доступ к данным приложений при ревью кода и консультировать инженеров по построению запросов, влиянию на индексирование и области транзакций. Документировать владение схемами, словари данных, руководства по эксплуатации и процедуры восстановления, чтобы платформа не зависела от знаний какого-либо одного человека. Реагировать на системные проблемы, участвовать в звонках по инцидентам высокой приоритетности и поддерживать экстренные мероприятия вне стандартных часов работы по мере необходимости. Требуемая квалификация Степень бакалавра в области компьютерных наук, инженерии или смежной области, или эквивалентный профессиональный опыт. 6+ лет опыта в области инженерии баз данных, инженерии платформ данных или администрирования производственных баз данных, включая 3+ года работы с PostgreSQL в производственном масштабе. Глубокие, демонстрируемые знания PostgreSQL: анализ планов выполнения, стратегия индексирования и секционирования, управление autovacuum и bloat, пулинг соединений, диагностика блокировок и взаимоблокировок. Опыт работы с управляемыми облачными базами данных (предпочтительно Amazon Aurora PostgreSQL или RDS) в производственной среде, включая резервное копирование и восстановление на определенный момент времени, реплики чтения и тестирование отработки отказа. Практический опыт работы с инструментами миграции схем, интегрированными в CI/CD (Flyway, Liquibase, Alembic, Sqitch или аналогичные), и с паттернами изменений схем с нулевым временем простоя. Уверенное владение семантикой транзакций — уровнями изоляции, блокировками и корректностью параллельного доступа — и способность рассуждать о условиях гонки в коде приложения, а не только в базе данных. Продвинутый SQL, плюс знание хотя бы одного из: Python, TypeScript/JavaScript, Go или Bash для создания инструментов и автоматизации. Опыт работы с предоставлением и изменением инфраструктуры баз данных в виде кода (CloudFormation, Terraform или аналогичные). Опыт работы с инструментами наблюдения и диагностики баз данных (Performance Insights, pg_stat_statements, CloudWatch, Datadog или аналогичные APM). Четкая, лаконичная письменная и устная коммуникация, включая способность объяснять компромиссы на уровне данных инженерам и нетехническим заинтересованным сторонам. Предпочтительная квалификация Опыт работы в сферах мобильности, транспорта, оплаты дорожных сборов, парковки, платежей или других регулируемых высокообъемных транзакционных средах. Опыт работы с уровнями доступа к данным GraphQL (Hasura, PostGraphile или аналогичные) и миграции приложений с уровня сгенерированного API на типизированные сервисные интерфейсы. Многопользовательская архитектура данных в масштабе, включая изоляцию счетов или баз данных для каждого клиента и связанные с этим операционные накладные расходы. Потоковая передача событий и захват изменений данных (Apache Kafka / Amazon MSK, Debezium, паттерны transactional outbox) и связанные с этим гарантии согласованности. Масштабная миграция данных из устаревших платформ с формальной сверкой и планированием перехода. Опыт работы с режимами соответствия, такими как SOX, SOC 2, PCI-DSS или ISO 27001. Аналитические платформы и хранилища данных (Redshift, Snowflake, dbt) и репликация транзакционных данных в аналитические. Рабочее знакомство с Oracle или SQL Server для совместимости с устаревшими системами. Соответствующие сертификаты: AWS Certified Database — Specialty, AWS Solutions Architect или сертификат PostgreSQL. Как выглядит успех в первые 9 месяцев В течение 90 дней: освоить основную схему, конвейер миграции и топологию среды; отвечать за процесс ревью миграций и иметь приоритетный базовый уровень наиболее затратных запросов платформы. В течение 6 месяцев: добиться измеримого снижения задержки для управляемых рабочих нагрузок; проверить резервное копирование и восстановление в соответствии с заявленными целями с помощью реального упражнения по восстановлению; активно участвовать в дежурствах по вызову. В течение 9 месяцев: быть признанным владельцем архитектуры данных платформы; отказаться от как минимум одного значительного ограничения — зависимости от устаревшего доступа к данным, лицензионного риска или повторяющегося класса сбоев производительности; наставлять инженеров и устанавливать стандарты, которым следует команда. Ценности Verra Mobility Идеальный кандидат для этой роли естественно работает в соответствии с основными ценностями Verra Mobility: Own It (Бери ответственность). Мы нацелены на высокую производительность и стремимся к выдающимся результатам. Наши сотрудники обеспечивают подотчетность, оптимизируют и согласовывают работу, ориентируются на клиента и развивают инновации. Do What’s Right (Делай правильно). Мы отстаиваем честность и хороший характер. Члены нашей команды демонстрируют этичное поведение, проявляют здравый смысл и мужество. Choose Courage Over Comfort (Выбирай мужество вместо комфорта). Мы участвуем в разговорах, принимаем решения и предпринимаем действия, которые продвигают бизнес вперед, даже когда это вызывает дискомфорт. Мы ставим под сомнение предположения, решаем проблемы на ранних стадиях и отдаем приоритет прогрессу над легкостью. Win Together (Побеждаем вместе). Мы верим в совместный рост и вдохновение людей. Мы ищем людей, которые сотрудничают, ценят различия, думают и действуют глобально, создают стимулирующую рабочую среду и признают и развивают других. С вашего явного согласия, предоставленного в рамках процесса подачи заявления, мы будем хранить персональные данные кандидата исключительно для деловых целей, для которых они были собраны. Ни при каких обстоятельствах мы не будем хранить такие данные более двух (2) лет после завершения процесса набора персонала, связанного с должностью, на которую вы подали заявление, или в случае возникновения других связанных вакансий в компании. Уведомление о конфиденциальности для кандидатов Verra Mobility Verra Mobility является работодателем, предоставляющим равные возможности. Квалифицированные кандидаты будут рассмотрены для трудоустройства без учета расы, цвета кожи, религии, пола, национального происхождения, сексуальной ориентации, гендерной идентичности, инвалидности или статуса ветерана, охраняемого законом. .
Оценка RocketHunt по реальным зарплатам
Грейд
Senior
Опыт работы
от 6 лет
Уровень английского
B2 - Выше среднего
ИИ напишет его по твоему резюме, останется только отправить