Your mission
Software runs the universe and our developers write our company’s future. That’s why we are looking for a Back-end Developer to strengthen our development team. Our company is growing fast and so is the number of features we want to bring to our users. Your challenge is to support our exponential growth and improve our secure, flexible back end to support the next generation of industrial energy saving in Europe. With your work we can bring actionable insights into energy waste to our 400+ customers, putting IoT and Data Science to good use. We value ownership: as a developer you will carry responsibility for significant parts of our product. Our development team is key to Sensorfact’s success, so your work will have a massive impact on the company: features you build will be used daily.
What you will be doing
Data is accessible through GraphQL APIs managed by Hasura. Time series data is stored with InfluxDB, Postgres is our workhorse, and we have a few MongoDB instances still chugging along.
Our frontend is based on React with Cypress for testing. The frontend is deployed to S3 buckets. We have a component library with documentation on design language that is used throughout our projects (but it is in need of an upgrade!).
Our source code is on GitLab and we use GitLab CI/CD and ArgoCD for deployment. Monitoring of our platform is done with Prometheus and Grafana, and we keep an eye on our front end with Sentry.
We know how important it is to get in the zone and write beautiful code so we schedule most meetings in the morning and keep the afternoon quiet (we try). We have a professional culture of testing and code reviews. We work from home about 90% of the time, but we enjoy meeting each other in the office in Utrecht every now and then - covid allowing of course.
What you will be doing
- Our company is currently growing exponentially, and we need our product to be able to handle all those extra users, sensors, data streams. At the same time, our product is maturing and reliability and security are becoming more important.
- To be ready for the next step, we are also constantly innovating our product: new features, sensors and analyses will need to be tried, evaluated and put in production. Examples are anomaly detection, customizable dashboarding or new sensor types that need to have their data fused with existing ones.
- You will be working on our back end, which is a combination between IoT platform, SaaS product, Data Science engine and tooling provider for our Energy Consultants.
- We are building a big product with a passionate team, so setting up frameworks and techniques for efficient development (developer excellence) is key. We aim to leverage the latest technologies and managed services for standard stuff, and focus our efforts on the core of our business.
- We can’t be bogged down with issues too much, so while building awesome features you’ll create on-point documentation for systems you work on, covering them with pragmatic tests and avoiding technical debt.
- You’ll interact with developers, data scientists and product managers to make sure your solutions are solving actual problems, set realistic timelines and guard quality.
- You work together with the other developers by sharing knowledge, discussing tech solutions, improving our own tools and processes and reviewing code.
- Being part of a scale-up, you are proactive and pragmatic in designing, prioritizing and planning features with our product team.
The key technologies you will be working with
As we are scaling up our platform with a small team, we leverage new technologies to keep performance and productivity. Right now our core platform is based on microservices written in Node.js connecting to a NATS message bus. We're moving to TypeScript where we can, and we're on the lookout for a replacement of NATS (Kafka?). Last year we moved all our microservices to a Kubernetes cluster, and recently we developed a couple of lambda functions that are used in production now.Data is accessible through GraphQL APIs managed by Hasura. Time series data is stored with InfluxDB, Postgres is our workhorse, and we have a few MongoDB instances still chugging along.
Our frontend is based on React with Cypress for testing. The frontend is deployed to S3 buckets. We have a component library with documentation on design language that is used throughout our projects (but it is in need of an upgrade!).
Our source code is on GitLab and we use GitLab CI/CD and ArgoCD for deployment. Monitoring of our platform is done with Prometheus and Grafana, and we keep an eye on our front end with Sentry.
How we do it
We do sort-of-scrum with 2-week sprints, sprint planning, retrospectives and daily stand-ups. We keep track of things using Linear, Google Drive and Outline, and we stay in touch with each other over Slack. The course is determined by goals, set collaboratively by business, data science, development and product teams. Developers are involved in the entire process: from ideation and refinement to concrete project plans.We know how important it is to get in the zone and write beautiful code so we schedule most meetings in the morning and keep the afternoon quiet (we try). We have a professional culture of testing and code reviews. We work from home about 90% of the time, but we enjoy meeting each other in the office in Utrecht every now and then - covid allowing of course.