Redwood Materials
Accuray
Ingeniero/a de Software Senior de Control de Movimiento y Robótica
Descripción del puesto
Da esperanza. Da salud. Deja tu huella en la lucha contra el cáncer.
En Accuray, tenemos un impacto directo y poderoso en la vida de los pacientes con cáncer cada día, ayudándoles a vivir vidas más largas y mejores. Pero nuestro compromiso con la innovación ofrece una oportunidad verdaderamente única: la posibilidad de cambiar la lucha contra el cáncer, ayudando a desarrollar, introducir y dar soporte a nuevos sistemas de administración de tratamientos y software que darán nueva esperanza y nueva salud a pacientes con cáncer y supervivientes de cáncer en todo el mundo.
Accuray desarrolla, fabrica y vende sistemas de radioterapia para tratamientos alternativos contra el cáncer. Nuestra radioterapia para el cáncer hace que el tratamiento sea más corto, más seguro, personalizado y más eficaz, permitiendo en última instancia a los pacientes vivir vidas más largas y mejores.
Resumen
El Ingeniero/a de Software de Control de Movimiento y Robótica es responsable de la investigación, planificación, diseño, implementación y verificación de software que controla mecanismos críticos de movimiento electromecánico y robótico, contribuyendo a la función y el rendimiento de los productos de radioterapia de Accuray. Este es un puesto de control de movimiento centrado en el software para candidatos con experiencia demostrada en el desarrollo de software que interactúa con hardware físico. El puesto también ayuda a definir la arquitectura de alto nivel y la implementación detallada de hardware de estos dispositivos de movimiento, aprovechando un conjunto de habilidades cruzadas entre Ingeniería de Software, Mecánica, Eléctrica y de Sistemas para resolver problemas de ingeniería complejos.
Funciones y responsabilidades esenciales
DESARROLLO DE PRODUCTOS
- Desarrollo de software orientado a objetos e integración de hardware práctica para los sistemas de control de Accuray, incluidos manipuladores robóticos, sistemas de posicionamiento de precisión, sistemas de control térmico y neumático. Los informes de análisis detallados (revisiones de diseño, modelos de sistemas de control, DFMEA, etc.), la depuración, el ciclo de fiabilidad, la integración del sistema y las pruebas formales de software/hardware son componentes clave de las actividades de desarrollo.
- Investiga, analiza, planifica e implementa el diseño del sistema de control de acuerdo con los requisitos del producto establecidos a partir de diversas fuentes, incluidos documentos de especificaciones de marketing, fabricación, fiabilidad y clientes. Impulsa la destilación de los requisitos a nivel de sistema en requisitos a nivel de subsistema y componente.
- Desarrolla y ejecuta planes de prueba completos, incluidas pruebas manuales, automatizadas, unitarias, de integración y a nivel de sistema, para verificar rigurosamente el software y hardware desarrollados frente a los requisitos y especificaciones definidos.
- Resolución de problemas práctica y basada en datos: trabaja comúnmente directamente con hardware de movimiento para avanzar en los esfuerzos de desarrollo. Ayuda con la construcción de prototipos de hardware y la resolución de problemas según sea necesario.
- Documenta, implementa y prueba los requisitos de diseño aplicables para la producción. Esto incluye el soporte para la transferencia de documentos de salida de diseño relevantes, instrucciones de ensamblaje y prueba recomendadas, y soporte para la resolución de problemas de servicio.
- Colabora estrecha y frecuentemente con Ingeniería de Software Embebido, Ingeniería Mecánica, Ingeniería Eléctrica, Ingeniería de Sistemas y equipos de pruebas durante todo el ciclo de vida de desarrollo de software y producto.
- Proporciona aportaciones y orientación de experto en la materia para escaladas de servicio de campo a ingeniería.
- Apoya al Gerente de Sistemas Mecánicos en el establecimiento o actualización de entregables de proyectos y departamentos.
LIDERAZGO
- Proporciona liderazgo técnico, lidera con el ejemplo y asesora a otros empleados dentro de los equipos de proyecto y desarrollo de producto.
- Puede servir como Ingeniero/a líder en proyectos y coordinar el trabajo de otros ingenieros, técnicos o colaboradores.
- Asegura que los procesos de calidad se sigan en los proyectos y dentro del grupo de Sistemas Mecánicos.
- Contribuye al desarrollo o mejora de procesos.
SEGURIDAD Y CALIDAD
- Asegura que las consideraciones y requisitos de seguridad y calidad se aborden e implementen de forma proactiva en el diseño del producto.
- Aborda y gestiona de manera oportuna los problemas de seguridad y calidad planteados por clientes o personal.
- Apoya el Sistema de Calidad y el Programa de Seguridad y Salud de Accuray siguiendo los procedimientos y asesorando a otros.
Cualificaciones
a. Requerido
- Educación: Título de Grado en Ciencias de la Computación, Ingeniería de Software, Ingeniería Robótica, Mecatrónica, Física de Ingeniería, Ingeniería Mecánica o un campo técnico estrechamente relacionado, con cursos o experiencia en desarrollo de software para sistemas físicos.
- Experiencia profesional en software: Mínimo de 4 años de experiencia profesional en desarrollo de software trabajando directamente con sistemas de control electromecánico, robótico o de movimiento. Los candidatos deben haber llevado el software desde un prototipo funcional o estado de laboratorio hasta una operación fiable lista para el cliente, prestando atención a la seguridad de la memoria, la robustez, la mantenibilidad, el despliegue, las actualizaciones, la monitorización y los diagnósticos de campo/depuración. La experiencia debe incluir entornos prácticos donde el software se encuentra con el hardware, colaboración estrecha con ingenieros mecánicos, eléctricos y embebidos, y la capacidad de verificar críticamente el código asistido por IA.
- Conocimientos de ingeniería interdisciplinaria: Conocimiento práctico de los principios de diseño de Ingeniería Mecánica, Eléctrica y de Software, incluido cómo el software interactúa con sensores, actuadores, controladores de motor y otros componentes electromecánicos.
- Desarrollo de software orientado a objetos: Dominio demostrado en el diseño e implementación de software orientado a objetos en C++ y/o Python, incluido el diseño de clases, interfaces/abstracciones, estructura de código modular, depuración y pruebas unitarias/de integración.
- Prácticas de desarrollo de software: Experiencia en el uso de prácticas profesionales de desarrollo de software como control de versiones, revisión de código, seguimiento de incidencias, flujos de trabajo de compilación/lanzamiento y pruebas automatizadas.
- Experiencia en lanzamientos de producción: Historial de lanzamientos de producción de software y componentes electromecánicos asociados a tiempo y de alta calidad.
- Comunicación: Excelentes habilidades de comunicación verbal y escrita. Capaz de presentar eficazmente conceptos técnicos a personas que no son expertas en la materia y de ayudar según sea necesario.
Para optar a este puesto, los candidatos deben poder presentar pruebas de que están autorizados para trabajar en el país al que solicitan de forma permanente y sin patrocinio.
b. Preferido o Deseable
- Título avanzado en Ciencias de la Computación, Ingeniería de Software, Robótica, Ingeniería de Control, Mecatrónica, Física de Ingeniería, Ingeniería Mecánica o un campo técnico estrechamente relacionado.
- Al menos 8 años de experiencia en diseño y desarrollo en una industria altamente regulada y de seguridad crítica.
- Capacidad demostrada para probar y verificar hardware y software desarrollados frente a los requisitos.
- Capacidad para desarrollar requisitos a nivel de sistema para sistemas de control de movimiento e integrar eficazmente tanto componentes individuales en un sistema como subsistemas en un sistema más grande.
- Amplia experiencia trabajando con sistemas automatizados o robóticos y sus componentes (controladores de motor, electrónica de accionamiento, sensores, etc.), incluido firmware de bajo nivel, interfaces de software de nivel medio/ controladores de dispositivo, APIs y middleware de control robótico.
- Experiencia en el desarrollo de software robótico, de control de movimiento o embebido en entornos regulados, de seguridad crítica o de alta fiabilidad.
- Experiencia en la programación de controladores de movimiento digitales, incluida la configuración y utilización de E/S digitales para aplicaciones de control de movimiento.
- Persona proactiva que trabaja de forma independiente para resolver problemas, gestionar la carga de trabajo y resolver obstáculos, colaborando con compañeros y la dirección según corresponda.
- Experiencia en planificación de infraestructura estratégica, desarrollo de hojas de ruta para lograr objetivos a largo plazo y ejecución exitosa de dichos planes.
- Experiencia demostrada en el desarrollo, construcción, depuración o despliegue de software en entornos basados en Linux.
- Exposición a software de modelado 3D CAD (SolidWorks preferido) y herramientas de virtualización para aplicaciones robóticas.
- Exposición a Sistemas Operativos en Tiempo Real (RTOS) y conceptos de computación paralela.
- Dominio de álgebra lineal, transformaciones rígidas, marcos de coordenadas y/o software de robótica para manipuladores de enlace serial.
- Dominio en el trabajo con bases de datos, incluida la consulta, la manipulación de datos y el diseño de esquemas.
- Sólido conocimiento fundamental en teoría de control combinado con experiencia práctica en el desarrollo de estrategias de control basadas en datos.
- Comodidad utilizando herramientas asistidas por IA para mejorar la productividad, acelerar la resolución de problemas y fortalecer los flujos de trabajo de desarrollo de software, manteniendo el juicio de ingeniería, la disciplina de verificación y la propiedad del producto final.
- Comprensión de los conceptos fundamentales de machine learning y aprendizaje por refuerzo, y su utilidad potencial para avanzar en las capacidades robóticas.
- Antecedentes formales en calificación y pruebas de fiabilidad de productos.
Declaración EEO
#LI-BB1
En Accuray, nuestro compromiso con los resultados centrados en el paciente impulsa un entorno de trabajo inclusivo y colaborativo donde las mejores ideas surgen y todos trabajan para llevarlas más allá. Valoramos la diversidad tanto en los antecedentes profesionales como personales de nuestros empleados, ya que esta variedad aporta una rica energía a cada equipo, cada proyecto y cada día de trabajo. Todos los candidatos calificados recibirán consideración para el empleo sin distinción de raza, color, religión, sexo, orientación sexual, identidad de género u origen nacional, incluidos individuos con discapacidades y veteranos.
