Roku
Normal Computing Corporation
Ingeniero/a de Software, Backend
El Puesto
Normal Computing | Construye con Nosotros
Normal es una empresa de IA aplicada que resuelve los problemas más difíciles en IA y silicio. Construimos hardware y software fundamentales para la industria de semiconductores, infraestructura crítica de IA y los sistemas más amplios que impulsan nuestro mundo, en asociación con las instituciones más avanzadas del mundo. Trabajamos como un solo equipo en Nueva York, Silicon Valley (Mountain View), Londres, Copenhague y Seúl.
Normal está construyendo software para ingenieros de semiconductores: una CLI local que funciona dentro de entornos reales de diseño de chips, un producto web para gestionar proyectos y revisar resultados, y servicios backend que coordinan el trabajo de larga duración en ambos. Hacer que esas piezas se sientan como un solo producto confiable es un problema de ingeniería backend.
Este puesto abarca la superficie backend detrás de ese producto. Dependiendo del proyecto, podrías diseñar una API compartida por varios servicios, evolucionar un modelo de base de datos sin romper sesiones existentes, hacer que una transición de estado sea idempotente, mejorar un bucle de agente local o eliminar un cuello de botella de despliegue o rendimiento. El hilo conductor es software de producción con estado real, modos de fallo reales y usuarios con flujos de trabajo complejos.
Usamos IA en el producto, pero este no es un rol de ML y no se requiere experiencia previa con agentes. Buscamos ingenieros backend que disfruten haciendo que los sistemas complejos sean claros, confiables y fáciles de operar.
Qué Gestionarás
Tu alcance dependerá de tu experiencia, intereses y las prioridades del equipo. Probablemente te profundizarás en algunas de estas áreas en lugar de gestionarlas todas:
- Diseñar interfaces estables y bien tipadas entre CLI, web y servicios backend.
- Evolucionar esquemas de Postgres, migraciones, historiales de eventos y otros estados duraderos.
- Construir comportamiento de ciclo de vida, colas, reintentos, cancelación, idempotencia y recuperación para trabajo de larga duración.
- Mejorar el software que se ejecuta en máquinas de desarrolladores y entornos contenerizados.
- Hacer que los fallos sean más fáciles de diagnosticar a través de métricas, trazas, logs estructurados, comprobaciones de estado y herramientas de operador.
- Mejorar cómo se prueban, empaquetan, migran, despliegan y recuperan los cambios.
- Encontrar y eliminar cuellos de botella de rendimiento en APIs, acceso a bases de datos, procesamiento de eventos y rutas de ejecución.
- Entregar cambios de producto que cruzan repositorios, lenguajes y límites de servicio.
Qué te Hace un/a Gran Candidato/a
- 4+ años de experiencia en ingeniería de software y un historial de lanzamiento de sistemas backend de los que otras personas dependen.
- Experiencia diseñando APIs y modelos de datos, y razonando claramente sobre concurrencia y estado.
- Experiencia operando servicios de producción donde la fiabilidad, la observabilidad, la mantenibilidad y el rendimiento son importantes.
- Comodidad razonando sobre modos de fallo distribuidos como reintentos, finalización parcial, trabajo duplicado, cancelación y recuperación.
- La capacidad de depurar a través de límites, desde un cliente o CLI hasta servicios, bases de datos e infraestructura de despliegue.
- Juicio pragmático sobre cuándo invertir en una abstracción duradera y cuándo lanzar la versión directa.
- Amplitud: te has profundizado en al menos un área y puedes ser productivo/a en una base de código o dominio técnico desconocido.
- Una mentalidad de producto: te importa si el sistema es comprensible y confiable para las personas que lo usan, no solo si el código es correcto.
Puntos Extra
La experiencia con cualquiera de los siguientes es útil, pero no requerida:
- Postgres, Redis o Valkey, arquitecturas orientadas a eventos, o servicios con estado de alto volumen
- Kubernetes, contenedores, infraestructura en la nube, o despliegue de software en entornos de clientes locales con recursos limitados
- Herramientas de desarrollo, CLIs, motores de flujo de trabajo, planificadores de trabajos o sistemas de ejecución distribuida
- Semiconductores, EDA o flujos de trabajo de ingeniería de hardware
Declaración de Igualdad de Oportunidades en el Empleo
Normal Computing es un Empleador de Igualdad de Oportunidades. Celebramos la diversidad y estamos comprometidos a crear un entorno inclusivo para todos los empleados. Todos los solicitantes calificados recibirán consideración para el empleo sin distinción de raza, color, religión, sexo, orientación sexual, identidad de género, origen nacional, discapacidad, estado de veterano o cualquier otro estatus legalmente protegido.
Acomodaciones de Accesibilidad
Normal Computing se compromete a proporcionar adaptaciones razonables a personas con discapacidades. Si necesita ayuda o una adaptación debido a una discapacidad, háganoslo saber en [email protected].
Aviso de Privacidad
Al enviar su solicitud, usted acepta que Normal Computing puede recopilar, utilizar y almacenar su información personal para fines relacionados con el empleo de acuerdo con nuestro Aviso de Privacidad para Candidatos.
