Frontend Developer

Skip to the job details if you have already read our general introduction

Who are we, and what do we do?

At Solar Monkey, our goal is to enable solar to be the world’s leading power supply, and we accomplish that with software that makes solar power systems more affordable, secure and reliable. We do so in a very open and warm environment, where everybody can have his or her say on company values, structure, and policies.

Our main product is our design software, where our users can quickly design all kinds of solar panel systems, and get a highly accurate yield calculation. We base our predictions on climate data, system specifications and advanced shadow analysis. Our application is an advanced piece of software, that extracts information from GIS data, runs distributed over a dozen of servers and uses the latest HTML5 canvas to facilitate easy Geospatial editing tools for the end user.

Solar Monkey currently consists of 22 full-timers, of which 11 are in the engineering team, and we always have a couple of awesome interns. We have the intention and capital to more than double that in a year, so that is where you come in!

How do we work?

We combine in-person and online communication (through Basecamp & Zoom) – where it might not surprise you that the business side leans toward the former and the development team leans a bit toward the latter form of communication. This enables a very flexible working place. Nobody tells you where or when to work, trusting that you know best how to build on your own strengths.

We don’t uphold a very strict methodology for design, but we do evaluate and improve our process continuously. It’s probably best described as a combination of Kanban and Scrum. This means that we are quite agile and can implement new features quickly when necessary. Our work is divided in clear epics and stories, and are tracked in PivotalTracker.

Our stack

Nowadays we have almost a full continuous delivery pipeline running. Everything we do runs in Docker containers. We’ve written a small helper app that uses Hashicorp’s Nomad to schedule those containers in our production and test environments. We are slowly expanding this into a commit-to-deploy trunk-based integration strategy.

The frontend of our app is a single page application written in React. We use Redux for our main logic combined with redux-saga for all side effects and asynchronous calls. The main part is what we call the “editor”, where the systems are designed. Its core is a Fabric layer on top of a Leaflet map. End-to-end testing is getting in shape, which is done with help of Cypress.

The backend is a Django application, in Python 3. We make use of django-rest-framework to ease the endpoint development, and Celery is our current (but contested) queue runner. We leverage the GEOS capabilities of PostGIS for raster data (height maps) as well as vector data (for meta data on images and buildings).

The stack below all of this is Ubuntu VM’s in OpenStack, although the Google Cloud is lurking. We use Hashicorp’s tools for deployment, together with some (Python) wrappers and scripts.

Do know that nothing is set in stone, and we strive to optimize for developer friendliness. Do let us know what that would mean for you in your application!

What we offer

  • Lots of impact on our product, our culture and the solar world!
  • Lots of freedom in terms of when and where you work, and how you solve problems.
  • A healthy workplace where you regularly work the number of hours you signed up for, and where you are able to get 8+ hours of sleep.
  • A fun team that values long-term thinking, self-empowerment and is eager to improve.
  • We’re a startup/scale-up, but nowadays we can offer a competitive salary, depending on your skills and experience. In addition to that we offer Stock Appreciation Rights, so that you can benefit from the growth of the company as well!
  • The chance to learn exciting new things, whether that’s starting to code, picking up a different language, GIS systems or server infrastructure!

On diversity

While you wouldn’t say we’re very diverse when you look at our team photo, we do have people from very different backgrounds and we definitely aren’t just a bunch of tech nerds. If you are excited about this role, but don’t think you meet everything single thing listed, we still encourage you to apply. We hope we can make you feel at home at Solar Monkey.

This position is filled

Read our general vacancy introduction if you haven’t yet.

Who are we looking for?

We are looking for a developer that can help us advance on the frontend. A lot of experience is not necessary per se. You should have eye for detail and enjoy getting everything well-aligned and layed-out according to the design guidelines. If you can contribute to the design itself that is nice, but not a requirement. You are able to write solid and clean HTML & CSS, and you are proficient in Javascript.

Wishlist

The inevitable:

  • You can build nice things with HTML & CSS.
  • You can craft interative interfaces with Javascript, with one of the common frontend frameworks. This goes beyond a simple to-do app.
  • You can write a clear specification or pitch for changes (yes, writing skills are important).
  • You are able to pick up new things quickly.
  • You want to work 32 to 40 hours a week.
  • You are able to work with a diverse group of people. You’re not a rockstar or code-ninja, you’re a human, of some form 🙂.

What we offer

  • Lots of impact on our product, our culture and the solar world!
  • Lots of freedom in terms of when and where you work, and how you solve problems.
  • A healthy workplace where you regularly work the number of hours you signed up for, and where you are able to get 8+ hours of sleep.
  • A fun team that values long-term thinking, self-empowerment and is eager to improve.
  • We’re a startup, but nowadays we can offer a competitive salary, depending on your skills and experience. In addition to that we offer Stock Appreciation Rights, so that you can benefit from the growth of the company as well!
  • The chance to learn exciting new things, whether that’s Python, GIS systems or server infrastructure!

Interested?

This position is filled but if you are really interested feel free to submit a speculative job application.