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. 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 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 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!
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.
About the job
Solar Monkey is hiring its first designer role in the product team! We aren’t completely void of some design skills, but our product needs more user experience love than we can give it at this moment. We are quickly expanding our app and want to focus on keeping it easy to use. So that is where you come in!
We are looking for someone who can incrementally improve features. Who can extract the latent needs of our customers. Someone who likes to create multiple options for a user interface and test those. You can create paper prototypes, simple click throughs or more elaborate mockups depending on the context. And you see to it that the chosen version is developed to spec.
In larger companies the UX & PO roles are usually separated over two people. However, we are smaller and feel that combining these might actually bring benefits for now, as for example Jeff Gothelf describes.
We are in the process of dividing our developers over multiple teams and splitting parts of our code base. At the moment you will probably not be strictly part of one team, but taking on different projects, at least on the UX part.
You may be a Design Engineering Graduate, or a UX veteran or just intrinsically interested in developing applications that serve users. However you understand how people interact with (web-based) applications.
You are good at letting people talk, and you don’t get carried away by what they say they need, but you dig for their real problems. You know how to do user research, both exploratory and conclusive. You’ve have experience creating mockups of interfaces and testing those with people, iterating the design.
You understand that “intuitive” is a bit of a hollow term as it just means that people have seen something similar before, whereas the app you are developing might be novel. You however seek to make things simple and realise that that actually is the hardest part of it all. You can formulate a design vision and create visual concepts that adhere to that vision.
Note that we are not looking for a graphical designer. You don’t need to be very good with colours or fonts. It helps of course, but we will work with external designers to create a beautiful design system to build the components and interfaces you come up with.
You may have experience with the Product Owner part, but that is not 100% necessary. With your analytical design skills and written communication skills, it should be possible to learn to chop up work into sensible stories. Prioritisation is probably the hardest part of that responsibility, keeping a balance between delivery, product quality and developer happiness.
As you might have seen, we are start-/scale-up. This means that we are constantly working on improving our way of work and scaling up our processes. You don’t mind change and you like thinking about how we work too.
- Running design sessions with a variety of colleagues – developers, business or operations monkeys – and sometimes with users.
- Drawing wireframes solutions for feature requests.
- Being able to write a clear specification or pitch for changes.
- Being able to manage one self and work in a structured manner.
- You can easily communicate with all different kind of people like developers, business people and our users, some of whom can be quite computer illiterate.
- You speak Dutch, as a big part of our user base is (still) Dutch.
- Being able to work with tools like Sketch, Figma or Framer.
- Being familiar with Domain Driven Design.
- Having experience as a Product Owner.
How to apply
Please apply here. We’ll get back to you, promised! Degrees tell us less than code, so don’t forget to link to your social coding profile, tell us who you are, what you like to do and what gets you out of bed each morning. Introduce yourself and explain why you should join the Monkey team!