Posted 
May 11

SENIOR SOFTWARE ENGINEER AND TEAM LEADER

Software Engineering
Senior
REMOTE

Role Description

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.

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 Senior Software Engineer & Team Leader is a member of the software product development team, reporting to the VP Software. 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.

This role will be a fully remote position with partial in-person work opportunities depending on the candidate’s location (we have R&D facilities in Davis, CA and Berkeley, CA).

Responsibilities

  • Work closely with VP Software to plan/guide/execute key Terabase software team activities
  • Lead a team of up to 4 staff software engineer direct reports
  • Guide and assist with the oversight and review of two remote/outsourced software development teams, one in India and the other in Serbia
  • Design, develop, build, test, deploy 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
  • Design, Develop, Test, Deploy, Support pub/sub IoT device and data systems
  • Communicate with and support users of developed tools
  • Develop quality plans and unit testing approaches for your and the team’s code

Minimum Qualifications

  • 7+ years experience with architecture, technologies, and approaches relevant to the Terabase product vision
  • BS in Computer Science or equivalent industry and/or academic training
  • Full-stack experience with a particular emphasis on rapid development, security, robustness, and scalability
  • 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
  • Proficient written and verbal English communication skills
  • Solid programming skills, with exposure to object oriented and functional programming techniques
  • Deep understanding of software design techniques
  • Understanding of and experience in unit testing and test driven development.
  • Solid understanding of web applications and HTTPS
  • Understanding of micro-services based cloud-hosted software architecture
  • Solid understanding of agile workflow management process
  • Good understanding of ‘gitflow’ source code management development techniques and process

Technologies We Use

  • Cloud-hosted software environments (e.g., AWS, Azure, Google Cloud)
  • Relational (SQL), non-relational (no-SQL), and time-series data optimized (e.g., InfluxDB)
  • The following languages: Python, C++, JavaScript/Node.js and C#. We are not strictly looking for these languages, but a successful applicant will demonstrate an ability to learn and apply knowledge in new domains.
  • IoT architectures, technologies, and applications

Preferred Qualifications

  • MS 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 large-scale GIS datasets
  • Experience building ETL pipelines for large and frequently changing datasets
  • Experience with embedded controllers or small footprint Linux systems (beaglebone, raspberry pi, etc)
  • Experience with sensors and programmable actuators

What we offer

  • Remote flexibility
  • Flexible time off
  • Generous health benefits
  • Home office set up
  • Career progression
  • ….and more!
Terabase Energy
 at a glance

The existential threat of climate change requires a transformation of the energy sector on the fastest possible timescale. Our mission at Terabase is to develop the digital platform to accelerate the day when Terawatts of baseload renewable energy becomes a reality. Our proprietary tools, engineering and development capabilities will enable the deployment of these revolutionary energy projects.