Roku
Ghost Robotics
C++ Software Engineer (Senior, Staff, or Lead)
Descripción
Somos una empresa de robótica que construye sistemas fiables y de alto rendimiento que operan en el mundo real. Nuestro trabajo abarca software de percepción, control y sistemas, y valoramos el diseño limpio, la mantenibilidad y el rigor de ingeniería tanto como el rendimiento bruto.
Estamos contratando un Ingeniero de Software C++ con sólidas habilidades modernas en C++ y buenas prácticas generales de ingeniería de software. Trabajarás en software central de robótica y también contribuirás a las herramientas, sistemas de compilación e infraestructura CI que mantienen nuestro desarrollo rápido y fiable. Este puesto es adecuado para alguien que disfruta tanto de la arquitectura de sistemas C++ limpios como de la gestión del entorno de ingeniería que los rodea.
Cómo funciona la asignación de nivel
Este es un único puesto, abierto en los niveles Senior, Staff o Lead. Las responsabilidades a continuación reflejan el núcleo del puesto en todos los niveles. No necesitas decidir qué nivel se ajusta a ti antes de postularte. El candidato seleccionado será ubicado en el nivel acorde con las habilidades, el alcance y la experiencia que demuestre durante el proceso de entrevista, y la oferta se alineará con ese nivel. Senior y Staff son puestos de contribuidor individual. Lead conlleva el mismo alcance técnico más responsabilidades de liderazgo de personas, para candidatos que las deseen.
Qué harás (todos los niveles)
- Diseñar, implementar y mantener código C++ de alta calidad para sistemas de robótica
- Aplicar patrones de diseño y mejores prácticas modernos de C++ (17/20)
- Contribuir a la arquitectura del sistema con un enfoque en el rendimiento, la seguridad y la mantenibilidad
- Configurar y mantener entornos de desarrollo basados en Linux
- Configurar y mantener pipelines de CI/CD de GitLab para compilación, pruebas y despliegue
- Mejorar sistemas de compilación (por ejemplo, CMake) y gestión de dependencias
- Escribir pruebas unitarias y de integración, y dar soporte a flujos de trabajo de pruebas automatizadas
- Colaborar con ingenieros de robótica, control y hardware
- Participar en revisiones de código y ayudar a elevar la calidad general del código
Ingeniero de Software Senior C++
- Normalmente se alcanza con 5+ años de experiencia relevante, o 3+ años después de un doctorado
- Ser propietario de un área técnica definida y entregar de forma independiente de principio a fin
- Ser mentor de ingenieros con menos experiencia
- Historial de envío de C++ en producción en sistemas reales
Ingeniero de Software Staff C++
- Normalmente se alcanza con 8+ años de experiencia relevante
- Impulsar la dirección técnica y la arquitectura en el área del equipo
- Establecer estándares de ingeniería y multiplicar la producción de otros
- Influencia demostrada más allá de sus propias entregas, a través de equipos o de una base de código completa
Ingeniero de Software Lead C++
- Normalmente se alcanza con 10+ años de experiencia relevante, incluida la experiencia guiando a ingenieros
- Alcance técnico de nivel Staff más responsabilidades de liderazgo de personas: informes directos, contratación, rendimiento y planificación del equipo
- Capacidad demostrada para desarrollar ingenieros y dirigir un equipo sano y productivo
Requisitos
Cualificaciones principales (todos los niveles)
- Sólida competencia en C++ moderno (C++17 o superior), con experiencia real en el envío de sistemas en producción. Valoramos lo que has construido y enviado por encima de dónde proviene tu título. Un título avanzado en Informática, Ingeniería Eléctrica/Informática, Robótica o un campo relacionado es un camino. La experiencia industrial equivalente es otro, y es igual de bienvenido.
- Dominio práctico de conceptos modernos de C++: RAII, punteros inteligentes, semántica de movimiento, plantillas y programación genérica, primitivas de concurrencia y seguridad de hilos, y diseño limpio de API y bibliotecas
- Sólida comprensión de los principios y patrones de diseño de software
- Experiencia trabajando en entornos de desarrollo basados en Linux
- Experiencia práctica con Git y flujos de trabajo colaborativos
- Experiencia en la configuración o mantenimiento de pipelines de CI (preferiblemente GitLab CI)
- Familiaridad con sistemas de compilación como CMake
- Sólidas habilidades de depuración y atención al detalle
Cualificaciones preferidas
- Experiencia en robótica, sistemas embebidos o software en tiempo real
- Familiaridad con ROS / ROS 2
- Experiencia con compilación cruzada o entornos Linux embebidos
- Conocimiento de perfilado y optimización de rendimiento
- Experiencia con Docker o entornos de desarrollo contenerizados
- Exposición a Python u otros lenguajes de scripting para herramientas
Qué ofrecemos
- Trabajar en sistemas de robótica del mundo real con impacto tangible
- Una sólida cultura de ingeniería que valora el código limpio y el buen diseño
- La oportunidad de influir en la arquitectura, las herramientas y los flujos de trabajo de desarrollo
- Arreglos de trabajo flexibles cuando sea posible
- El salario base inicial previsto para este puesto es de 135.000 a 185.000 dólares anuales, asignado por nivel como se describe anteriormente
Compensación
Salario base competitivo, beneficios completos y un paquete de incentivos de capital altamente motivador. Política de tiempo libre flexible. Nos centramos en el resultado, el impacto y la capacidad de trabajar junto a un equipo interdisciplinario estelar.
Ubicación
Filadelfia, PA. Este es un puesto a tiempo completo y presencial. No se considerarán candidatos remotos en este momento.
Viajes
No se requiere ningún viaje, aunque existen oportunidades nacionales e internacionales para ingenieros que deseen exposición de campo.
Información adicional
Se requieren verificaciones de antecedentes estándar y claras antes de la contratación, después de la contratación y en cualquier momento durante el empleo. Se requiere residencia permanente en EE. UU.
