Roblox

Ingénieur logiciel senior, calcul d'infrastructure de données

PythonJavaAWSGCPKubernetesGoTerraform
Traduction automatique. Consultez l’original.

À propos du poste

Chaque jour, des dizaines de millions de personnes viennent sur Roblox pour explorer, créer, jouer, apprendre et se connecter avec des amis dans des expériences numériques immersives en 3D, toutes créées par notre communauté mondiale de développeurs et de créateurs.

Chez Roblox, nous développons les outils et la plateforme qui permettent à notre communauté de donner vie à toute expérience qu'elle peut imaginer. Notre vision est de réinventer la façon dont les gens se rassemblent, depuis n'importe où dans le monde et sur n'importe quel appareil. Nous avons pour mission de connecter un milliard de personnes avec optimisme et civisme, et nous recherchons des talents exceptionnels pour nous aider à y parvenir.

Une carrière chez Roblox signifie que vous travaillerez à façonner l'avenir de l'interaction humaine, à résoudre des défis techniques uniques à grande échelle et à contribuer à créer des expériences partagées plus sûres et plus civiques pour tout le monde.

La plateforme de données de Roblox traite des pétaoctets de données quotidiennement, alimentant l'analytique, le ML et les décisions produit. L'équipe Data Platform Compute gère la couche de calcul sous-jacente : les clusters Kubernetes (EKS) où s'exécutent toutes les charges de travail Spark de Roblox, ainsi que le logiciel qui permet aux ingénieurs, analystes et praticiens ML de soumettre et d'exécuter ce travail de manière fiable et rentable.

En tant qu'ingénieur logiciel senior au sein de cette équipe, vous construirez et exploiterez les systèmes qui se situent entre nos utilisateurs et le cluster. Ceux-ci incluent le service de soumission de tâches Spark, nos bibliothèques Spark internes, le calcul pour notebooks interactifs et l'automatisation du cycle de vie des clusters. Vous aurez une réelle autonomie, vous travaillerez sur des problèmes dont la conception n'est pas encore arrêtée et vous aiderez à décider quelles technologies Roblox adoptera ensuite.

Vos missions

  1. Construire et prendre en charge les services de plateforme de calcul de base : concevoir, construire et exploiter le logiciel derrière la soumission de tâches Spark, y compris les APIs, l'intégration de la planification et les bibliothèques dont dépendent les utilisateurs.
  1. Lancer des Spark interactifs à grande échelle : fournir Spark Connect pour prendre en charge les flux de travail de notebooks, y compris le provisionnement et la gestion du calcul EKS qui les soutient, avec une isolation, des limites de ressources et des contrôles de coûts appropriés.
  1. Gérer un parc de clusters sûr et automatisé : construire une automatisation de gestion de parc pour EKS, telle que des déploiements bleu-vert qui valident les nouvelles AMI et les versions de Kubernetes avant qu'elles n'atteignent les charges de travail de production, avec une perturbation minimale pour les tâches en cours.
  1. Améliorer l'exécution des tâches sans effort pour l'utilisateur : développer notre auto-tuner, qui analyse l'historique et les journaux d'événements de Spark pour recommander ou appliquer des changements de configuration de tâches qui améliorent les performances et réduisent les coûts.
  1. Prendre en charge la planification par lots sur Kubernetes : exploiter et mettre à niveau notre planification basée sur YuniKorn, y compris la conception des files d'attente, les quotas, l'équité entre les locataires et les mises à niveau de version.
  1. Façonner nos futures adoptions technologiques : évaluer les technologies émergentes telles que l'accélération native de Spark (par exemple, Apache Comet). Exécuter des benchmarks rigoureux sur des charges de travail réelles de Roblox et formuler une recommandation claire étayée par des données.
  1. Être garant de la fiabilité et des coûts : définir des SLO et des métriques, construire l'observabilité et réduire le travail manuel, les incidents et les dépenses de calcul sur une plateforme multi-locataire.
  1. Collaborer à travers l'entreprise : travailler avec les équipes d'ingénierie des données, de ML, d'analytique et d'infrastructure pour comprendre leurs besoins, communiquer les changements et migrer les utilisateurs vers de meilleures solutions.

Votre profil

  1. 5 ans et plus d'expérience dans la construction et l'exploitation de systèmes distribués ou de plateformes d'infrastructure de qualité production.
  1. Spark sur Kubernetes : expérience pratique de l'exécution d'Apache Spark sur Kubernetes (EKS, GKE ou auto-géré) en tant que plateforme, y compris le comportement de l'exécuteur et du pilote, le réglage des ressources et le dépannage des tâches échouées ou lentes. Nous recherchons des bâtisseurs de plateforme, pas seulement des utilisateurs de Spark.
  1. Maîtrise de Kubernetes : solide expérience dans l'exploitation de clusters Kubernetes de production à grande échelle, telle que les mises à niveau, le cycle de vie des nœuds, l'autoscaling et les opérateurs ou contrôleurs.
  1. Fondations en ingénierie : solide maîtrise d'au moins un des langages suivants : Go, Java, Scala ou Clojure, avec une expérience avérée dans l'écriture de code backend propre, bien testé et maintenable. Python est un plus, car une grande partie de nos outils de réglage et d'analyse l'utilise.
  1. Maîtrise du cloud : expérience avec AWS (EKS, EC2, IAM, S3) ou équivalents GCP, et l'infrastructure en tant que code.
  1. Responsabilité opérationnelle : expérience dans la conduite d'un système de la conception à l'exploitation en production, y compris l'astreinte, la réponse aux incidents et l'observabilité.
  1. Leadership technique : capacité à influencer les décisions de conception entre les équipes, à encadrer les ingénieurs et à favoriser l'alignement sur les changements transversaux.
  1. Licence (B.S.) en informatique ou expérience pratique équivalente.

Atouts supplémentaires

  1. Expérience avec YuniKorn, Volcano, Kueue ou d'autres planificateurs de tâches par lots sur Kubernetes.
  1. Expérience avec Spark Connect, Livy, Kyuubi ou d'autres couches interactives et de passerelle pour Spark.
  1. Expérience avec l'opérateur Spark, Karpenter, Helm, Terraform ou Argo.
  1. Expérience dans la construction d'outils utilisant les journaux d'événements ou les métriques de Spark pour le réglage, l'attribution des coûts ou la détection d'anomalies.
  1. Expérience dans la maintenance de builds Spark internes ou la conduite de mises à niveau de version de Spark.
  1. Familiarité avec les moteurs d'exécution natifs (Comet, Gluten, Velox) ou le réglage des performances de la JVM.
  1. Expérience dans la migration de charges de travail de YARN/Hadoop vers Kubernetes.
  1. Contributions à des projets open-source dans l'écosystème des données ou de Kubernetes.
  1. Expérience dans l'exploitation à l'échelle de l'Internet grand public (100 millions d'utilisateurs et plus).

Fourchette de salaire annuel

Pour les postes basés à notre siège social à San Mateo, CA : le salaire de base de départ pour ce poste est indiqué ci-dessous. Le salaire de base réel dépend de divers facteurs liés au poste tels que le parcours professionnel, la formation, l'expérience professionnelle, le lieu, les besoins de l'entreprise et la demande du marché. Par conséquent, dans certaines circonstances, le salaire réel pourrait se situer en dehors de cette fourchette prévue. Cette fourchette de rémunération est sujette à changement et peut être modifiée à l'avenir. Tous les employés à temps plein sont également éligibles à une rémunération en actions et aux avantages sociaux décrits sur cette page.

243,290 $ — 295,250 $ USD

Les rôles basés dans un bureau sont sur site les mardi, mercredi et jeudi, avec une présence optionnelle le lundi et le vendredi (sauf indication contraire).

Roblox offre des opportunités d'emploi égales à tous les employés et candidats à l'emploi et interdit la discrimination et le harcèlement de tout type sans égard à la race, la couleur, la religion, l'âge, le sexe, l'origine nationale, le statut de handicap, la génétique, le statut d'ancien combattant protégé, l'orientation sexuelle, l'identité ou l'expression de genre, ou toute autre caractéristique protégée par les lois fédérales, étatiques ou locales. Roblox fournit également des aménagements raisonnables aux candidats ayant des handicaps qualifiants ou des croyances religieuses pendant le processus de recrutement.

Pour les postes basés aux États-Unis uniquement, veuillez noter que l'entreprise pourrait ne pas être en mesure d'employer des candidats pour ce rôle qui ont une autorisation de travail aux États-Unis liée à certaines catégories de visas américains, ou de soutenir un futur parrainage H-1B pour le moment.

Plus d’opportunités avec un seul profil

Vous souhaitez accéder à plus de postes sans répéter tout le processus ? Créez votre profil pour être trouvé par les entreprises utilisant Nort.

Créer mon profil

Ton prochain jobest déjà à ta recherche.

Nort

Plateforme de recrutement inversé pour développeurs

Réseaux sociauxInstagramLinkedInTwitter