Responsibilities
This team builds design infrastructure and tooling that enables us to rapidly develop software with precision and agility. As a member of this team, you will shape the landscape for how Tesla designs future systems. Our vehicles contain many systems, distributed across a large network architecture, working together to accomplish a multitude of vehicle functions. This team’s core technology is an infrastructure that describes, manages and analyzes how these systems communicate with each other. This is accomplished through three main functions:
- Describe communication in an abstract machine-readable format.
- Organize the data for utility, usability, and scalability.
- Develop tools to utilize the data to augment engineering through analysis, visualization and code generation.
This is a software development role that requires someone who likes to think about the big picture. You will work with component owners to understand their use cases so you can develop new technologies to act as a force multiplier for their productivity. The software is heavily utilized throughout the entire engineering organization. You will excel on this team if you thrive on autonomy and enjoy the freedom (and responsibility) of driving your own projects from concept to completion.
Requirements
- 1+ years of experience in production Haskell (or equivalent functional programming language)
- 1+ years of Python experience
- BS in Computer Science or related field or equivalent practical experience
- Excited to develop internal tools and infrastructure
Nice to have:
- C/C++ experience
- Database schema design experience
- Build systems and continuous integration experience