Want to contribute to more solar in a great environment? We’re hiring! Don’t hesitate to submit a speculative application if you are not attracted to the positions listed below. We are well-funded, growing fast and always looking for interesting colleagues.
Our non-technical vacancies can be found on our main vacancies page.
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 simple to use Geospatial editing tools for the end user.
Solar Monkey currently consists of around 30 full-timers, of which 14 are in the product team, and we always have a couple of awesome interns. We have the intention and capital to grow our team rapidly in the coming year, so that is where you come in!
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 you can bring a different perspective. At Solar Monkey we strive to build an inclusive workplace where you can excel and feel at home.
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. This also means that working remote or part-time remote is common. Most of our developers work a few days a week in the office and the rest from elsewhere.
We have two Product Managers and a UX Designer to find out where the value lies and what is viable for the business. For new features and iterations they will team up with a (senior) developer to ensure it is feasible to build, and roughly in what time frame. We then follow Kanban to actually deliver the work. We currently have a weekly release cycle, in which we test and deploy to production. (We do envision that to become true continuous delivery in the coming year.)
Nowadays we have a full continuous integration 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.
Our app consists of multiple single page applications 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 Testim.
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).
We are looking for ways to decouple too tightly coupled parts of our system, and have been working on implementing the Domain Driven Design approach in new code and code we touch where this makes sense. Typing –- both in the front- and backend –- are being added.
We use Hashicorp’s tools for deployment, together with some (Python) wrappers and scripts to run all of the above in the Google Cloud. Where possible we use managed solutions like for our database or for some utilities we can offload to Cloud Run.
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!
Sep 2, 2019
We are looking for someone to improve the user experience of our application, in combination with managing a part of the backlog. It will involve user research, creating and testing solutions of different fidelities and collaborating with developer to get it build.
Jun 14, 2019
We are looking for a developer that can help us advance on the frontend. Most of us are full-stackers, but we can do with someone that wants to focus more on our frontend. Our frontend is written in React & Redux, so hopefully that excites you! However, our application isn't that straight forward. It includes an advanced solar panel editor, build with HTML5 Canvas and overlayed on a Leaflet map that shows high resolution aerial photographs. We even correct for view angle distortions in those photos! You will be helping out on adding new features and maintaining and improving the existing functionality.
Apr 26, 2019
We are looking for a curious mind who wants to work on state-of-the-art algorithms and software for the prediction of solar energy and related topics. Preferably you have some experience in data science, but an eagerness to learn is what we value most! We run our development shop in Python, but don't require you to come in as a seasoned Pythonista. It is however most important to be familiar with experimental work and to enjoy tackling challenging problems.