What to Expect
Tesla’s mission is to accelerate the world’s transition to renewable energy.
This isn’t just a slogan to us.
We are building the largest battery storage systems in the world.
We are constantly expanding the Supercharger network, the largest electric car charging network ever.
We are growing the largest fleets of residential solar, battery storage, and car charging devices in many countries around the world.
And we need your help!
The Tesla Energy Device Software team is looking for a Software Engineer to build control and configuration software for residential energy products such as Powerwall, Solar Inverter, or Wall Connector.
These products resemble other, more familiar IoT products in many ways: They need to be installed, configured, and diagnosed.
Once operational, they need to run autonomously, respond to commands, and provide customers with useful telemetry.
All of this requires control and configuration tools that are reliable and resilient, which is where you come in! With your help, we can make installing more renewable energy technology easier, faster, and cheaper!
Our software stack is as diverse as our products.
It includes embedded and Linux-based systems, web and native apps, cloud services and local IoT protocols.
Pragmatism, willingness to dive into new codebases, eagerness to work with stakeholders, and engineering leadership are key strengths we expect you to bring to the table.
What You’ll Do
Collaborate with product managers and engineers from other disciplines to develop designs and specifications
Work with other engineering teams to develop APIs
Contribute to overall system architecture
Develop modern applications for installation, configuration, and diagnosis
Provide technical leadership and innovation to improve developer productivity, product reliability, and overall system resiliency
What You’ll Bring
Bachelor's Degree in Computer Science, Computer Engineering, proof of exceptional skills in related fields, with practical engineering experience, or equivalent
Experience developing highly available mission-critical applications
Experience writing unit tests, software-in-the-loop tests, and practicing test-driven development
Ability to multi-task, prioritize and work in an extremely fast-paced, collaborative environment
Experience with Web development (e.
g.
JavaScript, React), data analysis/data science tools (e.
g.
Pandas, Hadoop), or common cryptography mechanisms (e.
g.
TLS) is a plus
Preferred: Internet and IoT protocols (e.
g.
HTTP, REST, websockets, gRPC, oauth, Matter)
Preferred: Application and systems languages (e.
g.
C, C++, Rust, golang, Java, C#)
Preferred: Embedded or Linux-based IoT environments (e.
g.
FreeRTOS, Arduino, Raspberry Pi, Android) and protocols (CAN, RS-485/UART, Ethernet, WiFi, BLE)