Una empresa de rápido crecimiento, que está aprovechando el poder de la tecnología para ayudar a los propietarios de vehículos a gestionar mejor los pagos relacionados con el automóvil, está buscando un Ingeniero Embebido. El candidato seleccionado colaborará con equipos multifuncionales para ofrecer productos de alta calidad orientados al usuario. Con el fin de ayudar a los consumidores a gestionar los impuestos, seguros, aparcamientos, peajes y tasas de circulación de sus vehículos, la empresa está desarrollando una plataforma de pago integral. Hasta la fecha, ha conseguido cerca de 8 millones de libras de financiación. Este es un puesto full-time y a largo plazo que requiere más de 4 horas de superposición con la zona horaria PST.
Responsabilidades:
- Brindar protección contra entradas no válidas y errores, y gestión adecuada de errores al desarrollar programación defensiva.
- Ayudar con el diseño basado en modelos, incluidas máquinas de estado, diagramas de temporización y diagramas de secuencia (UML/SysML).
- Crear software que se adhiera a los estándares de la industria como MISRA, BARR y CERT utilizando herramientas de linting
- Encargarse de la evaluación crítica de las necesidades y compensaciones de un proyecto antes de elegir una cadena de herramientas realizando recorridos, inspecciones y revisiones de código.
- Obtener los requisitos de las partes interesadas
- Utilizar los conocimientos adquiridos mediante el cumplimiento de la norma IEC62304 para desarrollar software de acuerdo con las mejores prácticas del sector (equivalentes industriales o de automoción alternativos)
Requerimientos:
- Licenciatura/Máster en Ingeniería, Informática (o experiencia equivalente)
- Al menos 3 o más años de experiencia relevante como ingeniero Embedded
- Experiencia demostrable con ThreadX, C y C++
- Experiencia previa en electrónica de muy bajo consumo
- Conocimientos profundos de sistemas críticos de seguridad
- Sólido conocimiento de los principios de funcionamiento y compensaciones incluyendo RTOS
- Conocimientos de tiempo real determinista con un tiempo de respuesta máximo definido
- Experiencia previa en diseño, integración de periféricos y escritura de drivers y APIs de bajo nivel
- Experiencia en documentación de diseños como Doxygen, etc.
- Experiencia previa en optimización para ultra bajo consumo
- Experiencia con prácticas de diseño orientado a objetos, incluyendo encapsulación, ocultación de datos, abstracción y diseño de grandes interfaces.
- Diseñar e implementar pruebas unitarias automatizadas y arneses de prueba (en el objetivo, multiplataforma)
- Seguimiento de métricas de cobertura clave como requisitos, declaraciones, ramas, generación de informes de pruebas y RVTM
- Conocimiento de la verificación del flujo de control en tiempo de ejecución utilizando herramientas de rastreo integradas
- Experiencia previa en el uso del depurador y stack trace
- Apoyo al desarrollo de pruebas de integración a nivel de sistema
- Conocimiento de pruebas de regresión automatizadas durante el proceso de integración continua y para cada commit
- Experiencia con el seguimiento de errores y control de versiones como Git (por ejemplo, JIRA)
- Capacidad para trabajar con fluidez con otras disciplinas de ingeniería como Ingeniería Mecánica, Ingeniería Electrónica, Bioingeniería, etc.
- Excelente gestión de proyectos de tiempo y recursos, mientras que la propiedad de los planes de calendario para el trabajo
- Buenos conocimientos básicos de electrónica digital, electrónica de radiofrecuencia e integración mecánica
- Excelentes habilidades de comunicación en inglés, tanto oral como escrito