Python Software Engineer

Job description


At Samotics, we develop AI-based predictive analytics for industrial machinery. The applications & integrations team is looking for a high-performing software engineer to help us present our enormous amounts of sensor data to our clients in a fast, consistent, intuitive way and to help us reduce the carbon footprint of industrial machines.

For whom?

For this role, we are looking for a high-performing developer at junior, medior or senior level. Depending on your experience, we will adjust the weight of the responsibilities of this role. As long as we believe in your talent and see a match with our team, we're confident we have interesting challenges to offer!

About Samotics

Passionate about solving the problem of unplanned downtime, Samotics uses AI-driven electrical signature analysis to create smart predictive maintenance solutions that increase productivity and reduce energy waste while saving customers’ time and money.

We serve customers such as Total, Schiphol, Nouryon and ArcelorMittal. Our product, SAM4, leverages machine learning algorithms and IoT sensors to detect upcoming failures in critical industrial assets up to months in advance. But SAM4 does more than just prevent unplanned downtime. It also enables the world's largest and most successful industrial companies to significantly reduce energy waste.

We are a growing, energetic company where professionalism, a great atmosphere and cutting-edge technology go hand in hand. Our team in Leiden, the Netherlands currently has about 50 people and continues to grow. Some of these employees work remotely.

What you will do

You will work in a small, dedicated team designing and implementing backend systems, data structures, algorithms, cloud infrastructure, visualizations and user interfaces to share machine insights with clients via web applications and APIs. You build and own features end-to-end; you work on databases, application logic and sometimes user interfaces. Core areas you will work on as Python engineer:

  • Design, implement, test and deploy backend services for machine performance insights that are exposed via our web applications and APIs

  • Design, implement, test and deploy scalable alarm and notification services that notify our customers of upcoming failures

  • Improve our web applications for IoT device fleet monitoring and advanced data analysis

  • Further develop and scale our infrastructure and backend systems

  • Build functional APIs to expose our services

  • Gather requirements from different stakeholders

  • Code reviews, continuous integration, automation and daily deployments

How we work

The development team uses its own simple, practical and functional methodology, allowing you to fully focus on software engineering without having to switch tasks. You will work based on the principle of freedom and responsibility. We take pride in combining professionalism, trust and few meetings.

The development team

The software engineering team currently consists of 11 developers (5 experienced seniors, the others juniors or mediors) working on a large architecture covering a wide domain, from signal processing on our edge devices through web applications for different user groups. Continuous improvement and daily deployments are at the heart of the high level of quality we deliver. The applications & integrations team develops new features that provide insight into the health and performance of our customers’ industrial machines, as well as supporting our partners in monitoring their fleet of IoT devices.

Tech stack

Since we work on cutting-edge technology, we use an up-to-date stack:

  • Python

  • Flask

  • Angular

  • Terraform

  • AWS

  • The team prefers to use Linux distributions for their development environments

What we offer

  • A competitive salary

  • A brand-new, custom-designed office (with 90% recycled materials) at a three-minute walk from Leiden Central Station

  • Flexibility to work remotely for up to 80% of the time*

  • Ability to work part time (4 days)

  • Access to a wide range of learning programs

  • Generous parental leave

  • Daily fresh lunches and healthy snacks when working in the office

  • The chance to work on cutting-edge technology that affects industry worldwide

  • A high-performing software engineering team

  • A fun and professional company culture based on the principle of freedom and responsibility

* Depending on your location, we can also discuss a fully remote set-up if you are based outside of the Netherlands.



Requirements

We are looking for a high-quality software engineer. For juniors, we look at potential as demonstrated by academic results and/or extracurricular projects. For seniors and mediors, we also look at (quality of) work experience.

Mandatory skills and experience - note that we only review application that answer to these two requirements

  • Experience designing, building, testing and deploying web applications or APIs

  • Backend experience with at least one of the following: Python, Java, C++, or Node.js

Experience with any or all of the following is a big plus!

  • Relational and non-relational databases such as:
    • PostgreSQL / MySQL / MSSQL / Oracle

    • DynamoDB / Cassandra / MongoDB / Kafka

  • AWS

  • Terraform

  • Javascript or Typescript

  • Frontend experience with HTML, CSS, Angular, React or Vue

  • Prior professional experience working in scale-ups