Skip to main content

IoT Software Engineer

Job Details

Headquarters - BERKELEY, CA
Optional Work from Home
$80,000.00 - $100,000.00 Salary


What We Do

Terabase Energy, was founded with the mission to accelerate decarbonization of large-scale energy generation beyond intermittent renewable power. Our proprietary software, solutions and engineering capabilities will enable the deployment of revolutionary, hybrid projects that produce 24/7 renewable energy. We serve our global clients using technology we develop and are already working on some of the largest and most impactful solar powerplant projects in the world.


Terabase is at the forefront of applying innovative techniques that will remove 70-80% of solar power plant assembly works from the field using a combination of advanced pre-assembly and construction techniques, factory methods, customized equipment, and automation. The technology is the cornerstone of Terabase’ mission to lower the cost of solar electricity to $0.01/kWh by 2025.

The Role

Do you approach the world with curiosity and ask the question “What if?” Do you enjoy solving interesting engineering problems that no one has solved before through using your creativity to quickly design, build, and test solutions? Terabase’s Junior IoT Software Engineer is a member of the software product development team, reporting to the Director of IoT technologies. As a member of this team you will work, learn, and grow in Terabase’s unique operating environment and culture: high-growth, innovative, lean, and values-driven. Successful candidates will be highly capable in each of the following dimensions (among others): adaptability, curiosity, resourcefulness, problem solving, pro-activity, collaboration, operating in a dynamic environment and dedicated to the mission of accelerating the decarbonization of the global economy by utilizing digital and automation technology to further reduce the cost of utility-scale solar.


Ideally, candidates for this role will be located in the San Francisco Bay Area, however fully remote work will be considered for the right candidate.


  • Work closely with Director of IoT technologies to execute on key Terabase IoT team activities

  • Collaborate with other members of the IoT software team to design, implement, test, deploy, manage, and iterate on software to help create the Terabase products that will ‘digitalize’ the full lifecycle (development, design, construction, and operation) of solar power plants

  • Develop web APIs and user interfaces for physical devices and hosted environments

  • Collaborate with the software team to design, develop, test, deploy, and support IoT data pipelines and device management and monitoring systems

  • Communicate with and support users of developed tools

  • Participate in code quality activities such as peer review and the development of automated testing approaches for your and the team’s code

Minimum Qualifications

  • 3+ years experience with technologies, and approaches relevant to the Terabase product vision

  • BS in Computer Science or equivalent industry and/or academic training

  • Experience with and understanding of Continuous Integration (CI) and Continuous Deployment (CD) concepts and techniques

  • Ability to work remotely and to work with distributed teams in various time zones

  • Highly proficient written and verbal English communication skills

  • Solid programming skills, with exposure to object oriented and functional programming techniques

  • Good understanding of software design techniques and common architecture patterns

  • Good understanding of and experience with unit testing

  • Solid understanding of networking technologies

  • Exposure to micro-services based software architectures

  • Solid understanding of agile workflow management process

  • Proficient with git and ‘gitflow’ source code management

  • Comfortable working in a Linux development environment

Technologies We Use

  • IoT architectures, technologies, and applications

  • Cloud-hosted software environments (e.g., AWS, Azure, Google Cloud)

  • Relational (SQL), non-relational (no-SQL), and time-series data optimized (e.g., InfluxDB) databases

  • The following languages: Python, C++, JavaScript/Node.js. We are not strictly looking for these languages, but a successful applicant will demonstrate an ability to learn and apply knowledge in new domains.

  • Docker, MicroK8s, MQTT, Influxdb, Django, Ubuntu, LoraWAN, Grafana

Preferred Qualifications

  • At least BS in Computer Science

  • Experience with mobile application development (React Native, expo, iOS, Android)

  • Experience with Python-based web frameworks like Django or Flask

  • Experience with Angular, Vue, or comparable frontend web frameworks

  • Experience with cloud-hosted software environments (e.g., AWS, Azure, Google Cloud)

  • Experience with software product design and software product management

  • Experience with embedded controllers or small footprint Linux systems (beaglebone, raspberry pi, etc)

  • Experience with GNSS systems

  • Experience with sensors and programmable actuators

  • Basic electrical engineering principles

  • Network definition and management experience