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.
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 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!
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
you can bring a different perspective. At Solar Monkey we strive to build an
inclusive workplace where you can excel and feel at home.
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. 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.)
Our stack
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!
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. This means we accept fully remote people, as long as you can work
in reasonable overlap with our normal (Dutch) business hours. It also means
options for 4-day work weeks or shifting around your schedule because the
kindergarten is not helping out. (Or just because it get’s too hot in the
afternoon ;).
- 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 and self-empowerment and that is
eager to continouosly improve.
- We’re a scale-up and can offer a competitive salary for Dutch market
standards, depending on your skills and experience of course…. 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 new patterns, picking
up a different language, GIS systems or server infrastructure!
- A study budget of 4% of your base salary
- We facilitate your pension plan. (We don’t yet match your own contribution,
which is something we do want to instate in the future.)
- 5% Days! A day per month or so we work on whatever we want as developers, and
try out new libraries, approaches or other things.
- We can arrange a visa if you want to come to The Netherlands and fall into
the “highly-skilled migrant” category.