ASRC Federal
Senior Backend Software Engineer (supporting NOAA)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior backend-инженер в ASRC Federal для поддержки NOAA. Проектирование и оптимизация ETL-пайплайнов, ORM-слоя доступа к данным и производительности реляционных БД на Java.
Задачи
- Проектировать, разрабатывать и поддерживать ETL-процессы на Java для извлечения, трансформации, валидации и загрузки данных из БД, API, файлов и других источников
- Реализовывать очистку, трансформацию, дедупликацию и сверку данных
- Разрабатывать процессы инкрементальной загрузки, батчинга, ретраев и восстановления без дублей
- Создавать и поддерживать ORM-слой доступа к данным на JPA/Hibernate: маппинги сущностей, связи, управление транзакциями
- Разрабатывать и оптимизировать SQL-запросы, анализировать планы выполнения и устранять узкие места
- Улучшать производительность БД через индексы, реструктуризацию запросов, батчинг, пагинацию и стратегии загрузки связей
- Проектировать и поддерживать реляционные схемы, ограничения, индексы и версионируемые миграции
- Реализовывать и оптимизировать запросы, фильтры и агрегации в OpenSearch/Elasticsearch
- Мониторить надёжность пайплайнов, качество данных, пропускную способность и время отклика запросов
- Писать автотесты для логики трансформации, взаимодействия с БД, целостности данных и восстановления
- Разрабатывать и поддерживать GraphQL API и резолверы
- Оптимизировать интеграции с Amazon Aurora в Amazon RDS в AWS
- Взаимодействовать с инженерами и стейкхолдерами: сбор требований, документирование маппингов данных, ревью дизайна БД и пайплайнов
Требования
- Сильный опыт разработки на Java в production backend-приложениях
- Опыт проектирования, разработки и поддержки ETL-пайплайнов и интеграции данных
- Практический опыт с Java Spring ORM и фреймворками персистентности JPA/Hibernate
- Опыт написания и оптимизации JPQL и SQL, включая отладку ORM-генерируемого SQL
- Сильное владение SQL: сложные join, CTE, оконные функции, агрегации, set-based обработка
- Опыт анализа планов выполнения и оптимизации запросов через индексы и изменение запросов
- Опыт реляционного моделирования данных, миграций схем, связей сущностей и управления транзакциями
- Понимание уровней изоляции, блокировок и конкурентности в БД
- Опыт валидации данных, инкрементальной обработки, обработки ошибок и восстановимых процессов
- Опыт работы с системами контроля версий, код-ревью, автотестами и практиками деплоя
- Умение подтверждать улучшения производительности измеренными результатами
- Степень BS/BA или эквивалент и 8–10 лет опыта в смежной области
Условия
- Удалённая работа, полная занятость
- Поддержка NOAA
- Предпочтительно: опыт оркестрации workflow, планирования задач, CDC и мониторинга пайплайнов
- Предпочтительно: опыт диагностики проблем производительности ORM (N+1, неэффективная загрузка связей)
- Предпочтительно: опыт обработки больших наборов данных в заданные сроки
- Предпочтительно: знакомство с Apache Spark для ETL и распределённой обработки данных
Навыки
- Java
- ETL
- SQL
- JPQL
- JPA
- Hibernate
- Spring
- ORM
- GraphQL
- OpenSearch
- Elasticsearch
- Amazon Aurora
- Amazon RDS
- AWS
- Apache Spark
- реляционные базы данных