Temple Health
Roblox
Ingeniero de Software Senior, Infraestructura de Datos y Computación
Sobre la oportunidad
Cada día, decenas de millones de personas acuden a Roblox para explorar, crear, jugar, aprender y conectar con amigos en experiencias digitales inmersivas en 3D, todas creadas por nuestra comunidad global de desarrolladores y creadores.
En Roblox, estamos creando las herramientas y la plataforma que permiten a nuestra comunidad dar vida a cualquier experiencia que puedan imaginar. Nuestra visión es reimaginar la forma en que las personas se reúnen, desde cualquier parte del mundo y en cualquier dispositivo. Tenemos la misión de conectar a mil millones de personas con optimismo y civismo, y buscamos talento increíble que nos ayude a lograrlo.
Una carrera en Roblox significa que trabajarás para dar forma al futuro de la interacción humana, resolviendo desafíos técnicos únicos a gran escala y ayudando a crear experiencias compartidas más seguras y cívicas para todos.
La plataforma de datos de Roblox procesa petabytes de datos diariamente, impulsando la analítica, el ML y las decisiones de producto. El equipo de Computación de la Plataforma de Datos es responsable de la capa de computación subyacente: los clústeres de Kubernetes (EKS) donde se ejecutan todas las cargas de trabajo de Spark de Roblox, así como el software que permite a ingenieros, analistas y profesionales de ML enviar y ejecutar ese trabajo de forma fiable y rentable.
Como Ingeniero de Software Senior en este equipo, construirás y operarás los sistemas que se sitúan entre nuestros usuarios y el clúster. Estos incluyen el servicio de envío de trabajos de Spark, nuestras bibliotecas internas de Spark, la computación de cuadernos interactivos y la automatización del ciclo de vida del clúster. Tendrás una responsabilidad real, trabajarás en problemas cuyo diseño aún no está definido y ayudarás a decidir qué tecnologías adoptará Roblox a continuación.
Tus funciones
- Construir y gestionar servicios fundamentales de la plataforma de computación: Diseñar, construir y operar el software detrás del envío de trabajos de Spark, incluyendo APIs, la integración de programación y las bibliotecas de las que dependen los usuarios.
- Lanzar Spark interactivo a gran escala: Entregar Spark Connect para dar soporte a los flujos de trabajo de cuadernos, incluyendo el aprovisionamiento y la gestión de la computación EKS que los respalda, con un aislamiento sensato, límites de recursos y controles de costes.
- Ejecutar una flota de clústeres segura y automatizada: Construir la automatización de la gestión de flotas para EKS, como despliegues blue-green que validen nuevas AMI y versiones de Kubernetes antes de que lleguen a las cargas de trabajo de producción, con una interrupción mínima para los trabajos en ejecución.
- Hacer que los trabajos se ejecuten mejor sin esfuerzo por parte del usuario: Desarrollar nuestro auto-ajustador, que analiza el historial de Spark y los registros de eventos para recomendar o aplicar cambios en la configuración de los trabajos que mejoren el rendimiento y reduzcan los costes.
- Gestionar la programación por lotes en Kubernetes: Operar y actualizar nuestra programación basada en YuniKorn, incluyendo el diseño de colas, cuotas, equidad entre inquilinos y actualizaciones de versiones.
- Dar forma a lo que adoptaremos a continuación: Evaluar tecnologías emergentes como la aceleración nativa de Spark (por ejemplo, Apache Comet). Ejecutar pruebas de rendimiento rigurosas en cargas de trabajo reales de Roblox y hacer una recomendación clara respaldada por datos.
- Ser responsable de la fiabilidad y los costes: Definir SLO y métricas, construir observabilidad y reducir el trabajo manual, los incidentes y el gasto en computación en una plataforma multi-inquilino.
- Colaborar en toda la empresa: Trabajar con equipos de ingeniería de datos, ML, analítica e infraestructura para entender sus necesidades, comunicar cambios y migrar a los usuarios a mejores rutas.
Lo que aportas
- 5+ años de experiencia construyendo y operando sistemas distribuidos o plataformas de infraestructura de nivel de producción.
- Spark en Kubernetes: Experiencia práctica ejecutando Apache Spark en Kubernetes (EKS, GKE o autogestionado) como plataforma, incluyendo el comportamiento del ejecutor y del controlador, el ajuste de recursos y la resolución de problemas de trabajos fallidos o lentos. Buscamos constructores de plataformas, no solo usuarios de Spark.
- Profundidad en Kubernetes: Sólida experiencia operando clústeres de Kubernetes de producción a gran escala, como actualizaciones, ciclo de vida de nodos, escalado automático y operadores o controladores.
- Fundamentos de ingeniería: Sólida competencia en al menos uno de los siguientes: Go, Java, Scala o Clojure, con un historial de escritura de código backend limpio, bien probado y mantenible. Python es una ventaja, ya que gran parte de nuestras herramientas de ajuste y análisis lo utilizan.
- Fluidez en la nube: Experiencia con AWS (EKS, EC2, IAM, S3) o equivalentes en GCP, e infraestructura como código.
- Responsabilidad operativa: Experiencia llevando un sistema desde el diseño hasta la operación en producción, incluyendo guardias, respuesta a incidentes y observabilidad.
- Liderazgo técnico: Capacidad para influir en las decisiones de diseño entre equipos, mentorizar a ingenieros e impulsar la alineación en cambios transversales.
- Grado en Informática o experiencia práctica equivalente.
Puntos extra
- Experiencia con YuniKorn, Volcano, Kueue u otros programadores de lotes en Kubernetes.
- Experiencia con Spark Connect, Livy, Kyuubi u otras capas interactivas y de puerta de enlace para Spark.
- Experiencia con el operador de Spark, Karpenter, Helm, Terraform o Argo.
- Experiencia en la construcción de herramientas que utilizan registros de eventos o métricas de Spark para el ajuste, la atribución de costes o la detección de anomalías.
- Experiencia manteniendo compilaciones internas de Spark o impulsando actualizaciones de versiones de Spark.
- Familiaridad con motores de ejecución nativos (Comet, Gluten, Velox) o ajuste de rendimiento de la JVM.
- Experiencia migrando cargas de trabajo de YARN/Hadoop a Kubernetes.
- Contribuciones a proyectos de código abierto en el ecosistema de datos o Kubernetes.
- Experiencia operando a escala de internet de consumo (100M+ usuarios).
Rango salarial anual
Para los puestos con sede en nuestra oficina central en San Mateo, CA: El salario base inicial para este puesto se muestra a continuación. El salario base real depende de una variedad de factores relacionados con el trabajo, como la trayectoria profesional, la formación, la experiencia laboral, la ubicación, las necesidades del negocio y la demanda del mercado. Por lo tanto, en algunas circunstancias, el salario real podría estar fuera de este rango esperado. Este rango salarial está sujeto a cambios y puede ser modificado en el futuro. Todos los empleados a tiempo completo también son elegibles para una compensación en acciones y para los beneficios descritos en esta página.
$243,290—$295,250 USD
Los puestos con sede en una oficina son presenciales los martes, miércoles y jueves, con presencia opcional los lunes y viernes (a menos que se indique lo contrario).
Roblox ofrece igualdad de oportunidades de empleo a todos los empleados y candidatos, y prohíbe la discriminación y el acoso de cualquier tipo sin distinción de raza, color, religión, edad, sexo, origen nacional, estado de discapacidad, genética, estado de veterano protegido, orientación sexual, identidad o expresión de género, o cualquier otra característica protegida por las leyes federales, estatales o locales. Roblox también proporciona adaptaciones razonables a los candidatos con discapacidades o creencias religiosas calificadas durante el proceso de contratación.
Solo para puestos con sede en EE. UU., tenga en cuenta que es posible que la empresa no pueda emplear a candidatos para este puesto que tengan autorización de trabajo en los Estados Unidos relacionada con ciertas categorías de visas de EE. UU., o apoyar el patrocinio futuro de H-1B en este momento.
