· Required knowledge, skills, and experience:
o Bachelor’s Degree in Computer Science, Electrical Engineering or related field
o 4+ years of C/C++ development within Linux/QNX/RTOS domain
o 2+ years developing bootloaders, drivers, or BSP in Linux/QNX/RTOS
· Desired experience :
o Master’s Degree in Computer Science, Electrical Engineering or related
o 8+ years of C/C++ development within Linux/QNX/RTOS
o 4+ years developing Linux/QNX/RTOS drivers
o Experience with common BSP features running on a multi-core SoC (POST, boot, inter-processor communication, memory map, etc)
o Experience developing for Uboot, secure boot, custom bootloaders, software download, over-the-air update, or in-field software update solutions
o Experience developing drivers and debugging common interfaces such as I2C, SPI, UART, eMMC, PCIe, SDIO, CAN-FD, and Ethernet
o Experience with common SoC hardware such as WDT, DMA, Timers, and accelerators (Video, AES, SHA, RNG, etc.)
o Solid ability to understand hardware architectures and schematics
o Experience debugging through JTAG, oscilloscope, logic analyzer, and multimeter
o Experience developing and maintaining requirements
o Experience leading Agile/Scrum teams and mentoring junior engineers
o Familiarity with Classic & Adaptive Autosar stacks
o Experience developing embedded software in a regulated or high reliability environment (Auto/Medical/Defense Industry)
· Duties and responsibilities :
o Collaborate to deliver base software in support of future Advanced Driver Assistance Systems (ADAS)
o Contribute to the development of requirements, high level design, and detailed design documents for Linux/QNX/RTOS board support package (BSP) software
o Prototype on evaluation and first sample hardware to drive software architecture decisions while properly leveraging hardware capabilities
o Provide software support and bring-up of hardware modules
o Test and debug BSP SW to ensure quality and reliability
o Adhere to common software development practices, including source code management and agile development methods/scrum