Developing automated driving technologies, including L3, for Ford vehicles at scale to reimagine the driving experience and make travel safer, less stressful, and more enjoyable for everyone.
Requirements
Strong C++ programming skills and experience with embedded Linux programming.
Ability to switch between firmware application and userspace application development as tasking requires.
Experience integrating Linux device drivers for Ethernet, GPU, PCIE or flash devices like UFS, eMMC, NVMe.
Strong knowledge of Linux configuration, Linux system building, and Linux development (kernel, rootfs, libraries).
Experience working with common protocols such as SPI, I2C, and CAN
Prefer candidates with experience developing software for highly complex, safety-critical sensing systems.
Strong modern C++ skills.
Experience with board or SoC bring-up for ARM64 based platforms
Understanding of networking and time-sensitve networking.
Familiarity (or more) with Linux security and/or chains of trust booting.
Responsibilities
Work closely with a multidisciplinary team of hardware, software and system engineers to ensure the success of our product and its integration along the way.
Produce high-quality, maintainable code using modern C++ (14 and later) and C.
Design, bring up, and optimize the Linux platform for advanced driver assistance systems
Work across technology and team boundaries to ease debugging and deliver features — from userspace, to kernel, to even lower-level components.
Assist in writing userspace utilities for and debugging low-level networking, storage, timesync, and system stability issues.
Assist in implementing userspace and firmware solutions for secure key management.
Assist in optimizing system initialization to meet product boot requirements.
Other
Degree in Computer Engineering, Computer Science, Electrical Engineering, Robotics, or a related field.