Lyft Embedded Developer, Autonomous Vehicle Security

The Role: Lyft Embedded Developer, Autonomous Vehicle Security

Location: Palo Alto, CA,

Full-time

About this opportunity

Lyft Embedded Developer, Autonomous Vehicle Security

At Lyft, community is what we are and it’s what we do. It’s what makes us different. To create the best ride for all, we start in our own community by creating an open, inclusive, and diverse organization where all team members are recognized for what they bring.

Developing an autonomous vehicle is a complicated prospect.  Ultimately there’s a series of computers that are in control of passenger safety (to varying degrees), and so the security requirements of these computers must be stringent.  We quickly end up needing to design systems that must be highly reliable and highly robust, in best-of-breed architectures for segmentation and assurance, with secure development methodologies that will withstand close scrutiny.  Oh, and did we mention that there’s no instruction manual on how to do this?

We’re looking for an embedded developer who likes a challenge and who wants to have an impact.  You will be responsible for designing and building security components of our vehicle software stack; we’re approaching security a little differently than most other automotive companies so the security systems you’ll help construct will be critical to the security of the vehicle and the safety of its occupants.  If you enjoy working in a fast paced, safety-critical environment and you’re great at creating solutions given minimal detail beyond complicated requirements, you might be the person we’re looking for!

 

Responsibilities:

  • Work closely with a range of teams across L5 to gather requirements for new vehicle systems and develop specifications for them

  • Architect systems that meet those requirements, then gather consensus on the chosen solution

  • Plan and execute a development timeline

  • Work closely with internal and external partners on development sub-tasks

  • Assist with documenting specifications, protocols, and standards, then help to push them into industry and government

 Experience & Skills:

  • You have some serious C skills and you aren’t afraid to use them

  • You also know some Python, Bash, and other languages.

  • You have at least 5 years coding experience, at least 3 of which was embedded.

  • You have a solid understanding of hardware concepts like interrupts and DMA.

  • Experience writing communication protocol handlers

  • Experience of secure development practices such as SDL and peer code review

  • An understanding of cryptographic concepts such as hashes, public/private keys

  • Strong written and verbal communication skills

 Nice to Haves:

  • You love the kinds of problems that can’t be googled!

  • You enjoy the process of development almost as much as development itself

  • Your life is happiest at the boundary between hardware and software

  • You’re not afraid to forge ahead, make mistakes, learn, and try again

  • You graciously help others who look to you for feedback and guidance

  • You think ahead and build for the future. You challenge the status quo. You see weak spots in complex systems, come up with solutions and advocate for them

  • Automotive / self-driving experience (particularly CAN, Ethernet, & hard realtime)

  • Hands-on experience implementing crypto, such as PKCS#11 and X.509

  • Experience with encapsulating complex device APIs into simpler user APIs

  • Experience working with Hardware Security Modules (HSMs)

  • Published technical writing, ideally standards-based