The Silicon Development team is looking for Staff Linux Kernel Engineers to join the team in Austin, TX (preferred) or Palo Alto, CA. Linux kernel engineers develop, test and document Linux software for in-house silicon development projects. Software produced from the team encompass the full Linux software platform (kernel, boot-chain, drivers, and lower-level user space platform services) for our innovative autopilot hardware.
Responsibilities
Engineers in this role work with hardware teams to define and bring up Tesla’s next generation fully autonomous car and AI computing platforms. Be part of an amazing team and mission developing software platform and tools in both pre- and post- silicon phases of chip development. Upstream contributions for new device drivers / tools. Contribute to developing the most advanced and widely deployed deep learning and computer vision stacks in the world.
Developing/porting of Linux bootloaders such as ARM trusted firmware (BL1 – BL3-3) and coreboot
Develop high-quality C/C++ code for embedded Linux environments including safety critical systems
Managing upstream contributions and licensing requirements of projects
Support factory provisioning, test and continuous improvements
Development and test of firmware/software in pre-silicon environments
Support hardware bring-up including low level debug of board and SoC
Requirements
Strong Linux kernel fundamentals/internals with 7+ years’ experience
Experience porting Linux bootloaders and recovery OS development
Understanding of open-source license requirements and commitments
Experience developing Linux device drivers for devices such as: Ethernet, GPU or flash devices such as UFS, eMMC, NVMe etc.
Comfortable using hardware debug tools (DMM, oscilloscopes, logic analyzers) and software debug tools (GDB, KGDB, JTAG)
Proficient in C/C++ coding; Rust experience desirable
Experience with pre-silicon emulation environment and tools desirable
Experience with post-silicon board and silicon bring-up; especially with respect to ARM or RISC-V based platforms desirable
Experience with performance analysis and tracing tools desirable
Contributions to open-source projects (including Linux kernel) desirable (please mention on resume)
Experience with RTOS or bare-metal embedded development is a plus
Excellent problem solving, critical thinking, and communication skills
Strong build, automation, debug, test and git skills
Along with competitive pay, this position is eligible for benefits including: