Platform Engineer

Deliver Full-Stack Solar Power to the World

Off Grid Electric is a growth-stage startup that’s on track to light a million homes in Africa over the next couple years with clean, affordable solar energy (see the articles at the bottom of this post). We’re looking for software team members who bring lateral thinking, experience-based pragmatism, and fearlessness in the face of the unknown.

You will fall in love with this role if you can get passionate about bringing solar energy-as-a-service to off-grid markets — over 1.3 billion people around the world — with the unique social, technical, and business challenges that come along with it. Naturally, you’ll be hungry for adventure, inspired by the opportunity to unleash whole continents of human potential, and motivated to help build a truly epic business.

As a core member of the Digital Platforms department, you’ll help define and create new product features and experiences for our rapidly growing customer base and workforce. Our team is responsible for Off Grid’s core platform, Surge, the “operating system for the business.” Surge provides much of the magic behind the three key areas of our vertically integrated operation:

  • Managing our distributed workforce: automatically dispatching and coordinating the activities of thousands of field staff in multiple countries
  • Customer payments and service: enabling all mobile payment transactions and delightful customer interactions for our rapidly growing customer base
  • Distribution and delivery of solar systems: managing the movement of massive numbers of solar systems and appliances such as low energy TVs from factories through home installation.

Off Grid is creating opportunities for thousands of local workers to participate in a high tech startup, and Surge enables us to do this with extreme efficiency, scale, and reliability.

The role

As a full-stack application developer you will be integral to the ongoing design and implemention of Surge, a suite of Ruby applications that underlie our Web, mobile, tablet and SMS user interfaces. You’ll not only build the features that help us achieve our mission, but ensure that we effectively deploy to the cloud in a Docker-based continuous deployment cycle. The platform also generates mountains of real-time data that we use to run the business and drive positive behavior change with customers and staff. You will work closely with our Data practice to incorporate its data into the business logic and user interfaces..

You’ll be working to solve interesting technical and human problems across our entire platform, including:

  • Define the next generation of Surge’s APIs
  • Comfortable working in a variety of Javascript frameworks to support new user interface elements
  • Architect our data pipeline that stitches together our interconnected systems
  • Devise methods for predictive deployment of people and inventory
  • Utilize geolocation technologies for delivery routing
  • Collaborate effectively in a distributed team, using a pragmatic, agile process

This role may be located anywhere in the world, with primary timezones Pacific Time (GMT -7:00) and East Africa Time (GMT +3:00).

What we’re looking for

  • Technical excellence. You’re a pro, with several years of in-the-trenches experience, and have a practical mastery of computer science fundamentals. You can tell the difference between MVC and MVVM, and can make decisions on when to implement features on the backend or frontend (and happily debate the pros & cons!). You are comfortable debating alternate patterns (and anti-patterns) for implementing a feature in Javascript, and are opinionated about NoSQL databases.
  • User centered. As much as you love technical challenges for their own sake, you’re inspired by making things that work for real people. You ask tough questions about how requested features solve user problems, and have a great track record of collaborating with designers and product managers on solutions.
  • Effortless Communicator. You love to work as part of a distributed team, being responsible for achieving your own high productivity and hitting milestones without being micro-managed. And of course you realize that the key to successful remote work is trust, which comes from regular communication through tools like Slack, and respect for the team’s agile process (e.g., Jira stories and GitHub pull requests). You also know the value of face-to-face interaction, even if only through web conferencing tools, and have demonstrated the ability to be a team player in virtualized contexts.
  • Battle scarred. You know first-hand that dev teams are made of people, and people are complicated. You know what it feels like to make unrealistic commitments and compromise for the wrong reasons (and you tell yourself you won’t do that again!). You also know what it’s like to push yourself to the limit to hit a deadline, but then to have it all go horribly wrong for reasons beyond your control. As a result you aren’t phased by the peaks and valleys of startup life.
  • Pragmatic. In a discussion of how to build a feature you will reliably bring people back to the question of what are we trying to achieve, and how will we know when we’re successful? You love new technologies, but will only recommend them if they are the most effective way of solving the problem at hand, and are a master of playing a devil’s advocate of your own ideas. You are drawn to measure the results of changes to user experiences, and look for opportunities to remove features if they are not being used (or used well).
  • Ceaselessly curious. Unsatisfied with accepted wisdom, you’ll ask why multiple times when wrapping your head around a new concept or proposal. You’re also fascinated with the kinds of problems your peers in the industry are solving, and the novel approaches they’re taking. This leads you to tracking breakthrough new tools and technologies, pursuing side-projects or experiments with new technology.
  • Lateral thinker. In software so many of the leaps forward on the non-obvious ones, hence you have a well-honed sense for knowing when to apply oblique methods to a challenging problem that evades straightforward approaches. This may mean being able to connect the dots across different domains (anthropology, economics, psychology, politics), but it always means being willing to suspend judgment through the process of divergence and convergence.
  • Always be Learning. You are committed to self-improvement, which means you’ve sought and found mentors to learn from. You’re also a natural at mentoring, teaching, and reviewing others’ work, help other engineers make sound architectural decisions, improve their code quality, and get out of their comfort zone. Because you know there’s always more to learn, you don’t get hung up on knowing everything before taking action. As you know so well, taking action is often the only way to discover if something works.


  • Travel to some of the loveliest and most exotic parts of Africa
  • The opportunity to directly improve millions of lives. By bringing sustainable electricity to a part of the world where 90% of people have no grid access. Few other activities can provide as fundamental impact to human lives as this.
  • Some of the smartest, most committed, and hardest working co-workers in a distributed environment.

Let’s Connect

Apply on our jobs page. We’ll get the ball rolling from there!

The World is Watching