Tesla

Software Engineer, Embedded Linux Platforms

Tesla

Palo Alto, California, USA

full time

05 May 2020

Tesla

The Role

Tesla's Software Platforms team provides the foundation on which the in-vehicle user experience is built. We build the software platform (kernel, bootchain, drivers, and lower level userspace platform services) for our innovative Infotainment hardware. This includes high resolution touch displays, high definition audio, bluetooth/wifi/cellular connectivity, USB, cameras, all connected to high performance multi-core processors and GPUs. Our software is based on Linux, GNU toolchain, buildroot, and other open source projects, delivering the security, capability, and performance demanded by our user experience.

Responsibilities

  • Write well structured, testable, efficient, and maintainable code
  • Integrate software components into a fully functional software system
  • Tailor and deploy software tools, processes and metrics
  • Use existing available hardware in innovative ways to solve problems
  • Board bringup and hardware design validation
  • Deploy software incrementally to meet very fast paced development
  • Develop software tests and continuous integration for your code
  • Support factory provisioning, test, and improvements
  • Assess and document new product feasibility

Requirements

  • 4+ years software/firmware development experience
  • 2+ years experience w/Embedded Linux
  • Strong Linux kernel fundamentals
  • Experience developing device drivers
  • Excellent C/C++ coding skills
  • Experience with board /chip bringup
  • Strong build, debug and test skills
  • Comfortable using hardware debug tools (DMM, oscilloscopes, logic analyzers) and software debug tools (GDB, KGDB, JTAG)
  • Excellent problem solving, critical thinking, and communication skills
  • Upstream contributions to Linux Kernel is a plus
  • Contributions to involvement with open source projects is a plus
  • Experience with bootloaders and recovery OS development is a plus
  • Experience with RTOS or bare-metal embedded development is a plus
  • Experience with Linux graphics technologies (X, wayland, mesa3d, dri/drm drivers) is a plus



For more jobs like this subscribe to the weekly newsletter or follow C++ JOBS on Facebook, Linkedin and Twitter for frequent social updates.