Want to contribute to more solar in a great environment? We’re hiring! Don’t hesitate to write an open application if you are not attracted to the positions listed ones below. We are well-funded, growing fast and always looking for interesting colleagues.
Our non-technical vacancies can be found on on our main vacancies page (in Dutch though).
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 13 full-timers, of which 5 are developers, 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.
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 and we are in the midst of migrating from AngularJS (yes, 1.7.something) to React. We have been using Redux for our main logic, so that transition is not too hard. redux-saga is our helper 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 is Ubuntu VM’s in OpenStack, although the Google Cloud is lurking. We 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!
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 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.