Roku
Las Vegas Sands Corp.
Principal Fullstack Data Engineer
Description du poste
Aperçu du poste
La responsabilité principale du Principal Fullstack Data Engineer est de diriger la conception et la mise en œuvre de notre architecture de données, de nos pipelines et de notre portail d'analyse pour un système de gestion de casino développé à partir de zéro. Ce rôle exige une expertise technique approfondie et des compétences en leadership pour construire des solutions de données évolutives, fiables et performantes utilisant une architecture moderne de Data Lakehouse Iceberg qui prend en charge le traitement en temps réel, l'analyse et la génération de rapports. Le Principal Fullstack Data Engineer contribuera également au développement pratique d'un portail de reporting et d'analyse React.js/Node.js et collaborera avec des équipes interfonctionnelles pour assurer une intégration et un flux de données transparents entre les différents systèmes.
Toutes les tâches doivent être effectuées conformément aux politiques, pratiques et procédures du département et de Las Vegas Sands Corp.. Tous les membres de l'équipe Las Vegas Sands Corp. doivent se comporter de manière professionnelle en tout temps. Les membres de l'équipe sont tenus d'observer les normes de la Société, les exigences de travail et les règles de conduite.
Responsabilités principales
- Diriger la conception et le développement d'une architecture robuste de Data Lakehouse Iceberg utilisant Apache Iceberg, Starburst/Trino et Lakekeeper, en veillant à ce qu'elle soit évolutive, sécurisée et adaptable aux besoins futurs.
- Concevoir, développer et maintenir des pipelines de données complexes utilisant Python et Apache Kafka pour une ingestion, une transformation et un stockage efficaces des données dans des tables Iceberg, en garantissant une haute disponibilité et une qualité optimale.
- Concevoir et développer des fonctionnalités pour le portail de reporting et d'analyse React.js/Node.js, y compris des tableaux de bord interactifs, des rapports prédéfinis, des analyses en libre-service et des exportations de données planifiées.
- Construire et maintenir des APIs RESTful utilisant Node.js pour servir les données du lakehouse au portail d'analyse, en prenant en charge les formats d'exportation JSON et CSV pour des cas d'utilisation tels que le reporting réglementaire (par exemple, accès DICJ).
- Superviser l'intégration de diverses sources de données (par exemple, systèmes transactionnels, APIs tierces, appareils IoT) via le streaming d'événements Kafka et la fédération de requêtes Starbust pour créer un écosystème de données unifié pour le système de gestion de casino.
- Définir et mettre en œuvre des processus d'ingestion et de transformation de données utilisant une architecture hybride Lambda-Kappa qui prend en charge l'analyse par lots et en temps réel, en optimisant le mouvement et l'efficacité du traitement des données.
- Développer et maintenir des schémas de base de données PostgreSQL et des requêtes pour prendre en charge l'état de l'application, la gestion des métadonnées et la fonctionnalité du portail.
- Établir des politiques de gouvernance des données et des meilleures pratiques en utilisant les capacités de gouvernance de Starburst pour assurer la conformité aux normes réglementaires, à la sécurité des données et aux protocoles de confidentialité.
- Travailler en étroite collaboration avec les analystes de données, les scientifiques des données et les parties prenantes métier pour comprendre les exigences en matière de données et fournir des solutions de haute qualité – y compris des tableaux de bord Metabase intégrés et des fonctionnalités de portail personnalisées – qui permettent une prise de décision basée sur les données.
- Surveiller et optimiser les performances des pipelines de données à l'aide de Prometheus et Grafana, en identifiant les goulots d'étranglement et en mettant en œuvre des améliorations pour assurer un traitement et une récupération rapides des données.
- Fournir un leadership technique et du mentorat aux équipes d'ingénierie de données, en promouvant les meilleures pratiques en matière d'ingénierie de données, de développement front-end et en favorisant une culture d'innovation.
- Maintenir une documentation complète de l'architecture des données, des contrats API, des fonctionnalités du portail, des flux de travail et des processus pour soutenir le développement continu et la maintenance opérationnelle.
- Effectuer les tâches professionnelles de manière sûre.
- Assister au travail selon un horaire régulier et constant.
- Effectuer d'autres tâches connexes assignées.
Qualifications minimales
- Avoir au moins 21 ans.
- Preuve d'autorisation de travailler aux États-Unis.
- Licence ou Master en informatique, ingénierie des données ou domaine connexe.
- Doit être capable d'obtenir et de maintenir toute certification ou licence, tel que requis par la loi ou la politique.
- 8+ années d'expérience en ingénierie des données, dont au moins 3 années dans un rôle principal ou de direction, de préférence dans l'industrie du jeu ou des casinos.
- Expertise avec Apache Kafka pour le streaming d'événements en temps réel et l'orchestration de pipelines de données à grande échelle.
- Expérience pratique avec les formats de table Apache Iceberg, y compris les stratégies de partitionnement, l'évolution des schémas et la gestion des instantanés.
- Expérience avec Starburst/Trino (ou un autre moteur de requête moderne comme StarRocks, Dremio) en tant que moteur de requête SQL distribué pour l'analyse, le reporting et la fédération de requêtes sur des sources de données hétérogènes.
- Expérience pratique avec React.js pour la création de tableaux de bord d'analyse front-end interactifs et d'interfaces de reporting.
- Expérience pratique avec Node.js pour la création de APIs RESTful et de services back-end qui servent des données aux applications web.
- Connaissance approfondie de PostgreSQL (16+) y compris l'optimisation avancée des requêtes, les stratégies d'indexation et la conception de schémas pour les charges de travail applicatives et analytiques.
- Expérience avec la gestion de catalogue Iceberg (par exemple, Lakekeeper) et le stockage d'objets (par exemple, AWS S3, MinIO) pour la gestion des fichiers de données physiques.
- Maîtrise des solutions de données cloud (par exemple, AWS, Azure) avec une expérience de déploiement et de gestion de services de données sur Kubernetes en utilisant des conteneurs Docker.
- Solides compétences en programmation en Python (3.11+) pour le développement de pipelines de données, de frameworks d'ingestion et de flux de travail de traitement de données, avec une familiarité dans des bibliothèques telles que PyIceberg, PyArrow et Pydantic.
- Expertise dans les techniques de modélisation de données (par exemple, schéma en étoile, schéma snowflake) pour prendre en charge des exigences complexes d'analyse et de reporting.
- Expérience démontrée avec des frameworks et des outils de qualité des données pour assurer l'intégrité des données et la conformité aux normes commerciales.
- Solide compréhension des pratiques CI/CD utilisant GitHub Actions pour automatiser les processus de construction, de test et de déploiement.
- Expérience avec des outils de surveillance et d'observabilité (par exemple, Prometheus, Grafana) pour la surveillance de la santé des pipelines et des applications.
- Capacités analytiques et de résolution de problèmes exceptionnelles avec un accent sur la fourniture de solutions de données de haute qualité, tant pour les pipelines back-end que pour l'analyse front-end.
- Capacité avérée à diriger et à encadrer des équipes techniques, en favorisant une culture de partage des connaissances et d'amélioration continue.
- Solides compétences interpersonnelles avec la capacité de communiquer efficacement et d'interagir de manière appropriée avec la direction, les autres membres de l'équipe et les contacts externes de différents horizons et niveaux d'expérience.
Exigences physiques
Doit être capable de :
- Accéder physiquement aux zones de travail assignées avec ou sans aménagement raisonnable.
- Travailler à l'intérieur et être exposé à divers facteurs environnementaux tels que, mais sans s'y limiter, les écrans cathodiques, le bruit et la poussière.
- Utiliser un ordinateur portable et un clavier standard pour effectuer les fonctions essentielles du poste.
