Lead Frontend Developer at Sensorfact (Utrecht, Netherlands)

Sensorfact Verified

Job Description

We know what you're thinking: Energy? Sounds boring. But think again.


Here at Sensorfact we're making the world more sustainable, starting with the industry. Imagine those factories which consume lots of energy? We help them reduce their energy consumption by using smart hardware and software to give insights and advise them how to make a difference.


We provide inexpensive non-invasive wireless energy-harvesting sensors coupled with 4G-enabled bridges. No production downtime === money saved === happy clients. The data is sent straight to our cloud-hosted energy management system and is accessible from anywhere.


Albert Heijn, Heineken and Schiphol are some of our clients. At the moment we receive over 1 million data points per day from our sensors.


We are creating a company which people would like to work for. A great working environment where we come with pleasure and enjoy their work. We are a small and diverse team speaking 6 languages (default is English, of course). We're all good at what we do and we enjoy working together. We love working with people who don't mind chiming in with their opinions and are fearless about asking questions when they don't know the answer. You'll have autonomy to do things your way and respect from day one. No regulations or hierarchy, just a lot of interesting work to be done. If you want to look back on your career and know that you were a vital part of building an awesome company, this role is definitely for you.


What you’ll be doing


As a lead frontend developer you will be working on our intelligent energy management system. You will be in charge of frontend and UX. You'll join an experienced team that is passionate about their work and enjoys collaborating with each other. You will be responsible for all facets of software development, from conception to deployment. We are a small team so every contribution is critical to the product. Our roadmap is packed for the coming years, but there is always room for experiments and cool new features.


We are currently working on new frontend for providing useful information for customers during installation of our hardware, e.g. signal strength, visible sensors, network connectivity status, etc. We are also implementing a device monitoring dashboard to have a real-time overview of our device fleet.


We are also researching new sensors such as pulse counters to read out existing meters. This way we can measure more things like gas, steam and water and deliver a full-energy service.


You will have all the freedom to come up with improvements to processing millions of data points per day and extracting meaningful analytics from that data in real time to enable new features like preventive maintenance. All the while not forgetting to create useful documentation for systems you work on, covering them with elegant tests and avoiding technical debt.


The key technologies you will be working with


Learning new technologies is fun that's why we're constantly experimenting with them. Right now our core platform is based on microservices written in Node.js connecting to the NATS message bus. User-facing APIs are exposed through GraphQL on top of Express.js.


Frontend is based on React with Cypress for testing. Unit tests are written in Jest. Frontend is deployed to S3 buckets and hosted using a CloudFront distribution. Sentry takes care of automated bug reporting and feedback collection. We have a component library with documentation on design language that is used throughout our projects.


Time series data is stored in InfluxDB and the rest - in MongoDB. Our source code is on GitLab and we use a mix of GitLab CI and Jenkins for CI/CD. We use a combination of CloudWatch and Stackdriver for logging and monitoring.


Our microservices are orchestrated by Docker Swarm but we have a prototype Kubernetes cluster in the works.


How we do it


We do Scrum with 2-week sprints, sprint planning, grooming and retrospective sessions. Our stand-ups are at 9:30 and if you're not there you can chime in over Hangouts. We keep track of things using several Trello boards (standups, requests, backlog, active sprint, etc.). We keep in touch with each other over Slack.


We know how important it is to get in the zone and write beautiful code so 13:00 to 16:00 we have quiet hours with no distraction (we try).


We're setting up processes and tools to enable our team to work fully remote. We're not there yet.


What you’ve done


Here come the bullet points:



  • Extensive and deep knowledge of JavaScript and Node.js

  • Strong proficiency in React and data visualization with D3

  • Understanding of the operational concerns for cloud-based software deployments

  • Experience with deploying micro-services using Docker and Kubernetes

  • English fluency and excellent communication skills

  • Experience working in agile teams and Scrum


Bonus bullet points



  • A DevOps mindset

  • Interest in energy savings field and manufacturing industry

  • Interest in data science and machine learning

  • Obsessive unit testing

  • Enthusiastic about internationalisation and accessibility


What we offer


Money, pension, lunches, working from home, team activities, training budget - the usual.


Our office is located in the center of Utrecht, a short walk from the central station. We'll provide you with an NS-business card or cover your travel expenses to get there.


We know how it is incredibly important to have the right tools. Any hardware or software you need to get your job done: great monitor, the best laptop, standing desk - you've got it.


EU working permit is required


Did we peak your interest? Send us a message and come by for coffee. Please include a short note why you think you’ll fit in, your resume, GitHub and/or NPM username, etc. or anything else you think is applicable.