Software Engineer - Energy Fleet Analytics

Palo Alto, California
13 Oct 2018
13 Nov 2018
Contract Type
Full Time
The Role

Tesla's mission is to accelerate the world's transition to sustainable energy through increasingly affordable electric vehicles in addition to renewable energy generation and storage. The Energy Tools team's contribution is to construct full-stack software that enables data analysts, service engineers, and other software teams to dive with greater efficiency into our big data sources and solve critical safety and performance problems. We deliver software controls that are used to restore a fleet of over 300,000 energy systems to homeostasis. We provide the tools to keep the Energy fleet running so that Tesla can provide groundbreaking services such as aggregation and control, optimized dispatch, and wholesale market participation.

To accomplish this work, we embrace change, encourage continuous learning and foster psychological safety. As a member of the Energy Tools team, you will develop new features with automated tests while adapting to rapid feedback from stakeholders and addressing any urgent issues that manifest. We follow agile practices, leading you to work full-stack to ensure familiarity with all products, empowering you to help us complete all our commitments, and encouraging you to speak up about behavior that is slowing us down. You'll often go directly to domain experts within Tesla in order to better understand problems related to our solar, storage and software systems.

  • Implement features collaboratively by making frequent commits to repos, reviewing pull requests promptly and delegating work when necessary
  • Write code at all levels of the stack and across multiple languages that is efficient, tested and well documented
  • Build out and maintain software and software configurations to support continuous integration, deployment, monitoring and automation of common tasks that are part of the software development pipeline
  • Recognize and propose solutions for scaling weaknesses, performance bottlenecks and security risks
  • Take ownership of several larger-scope projects by interacting directly with stakeholders to identify the specific problems they are struggling with, communicating with team to identify software solutions and breaking work down to enable parallel development efforts

  • Bachelor's degree or higher in computer science, engineering or equivalent in experience and training
  • Proficient in at least one programming/scripting language (we use Python, JavaScript & Golang)
  • Familiarity with a front-end application framework (we use React & Redux)
  • Comfortable working with databases, writing queries, and designing schemas (we work with SQL Server, MySql and Postgres)
  • Understanding of automated testing, deployment process and tools (we use Docker, Jenkins, Ansible & more)
  • Excellent written and verbal communication skills

Similar jobs

Similar jobs