Back End Engineer (Elixir) for Johansports - Hybrid - Delft, Netherlands

Introductory paragraph

We are looking for an engineer experienced in working with server-side technologies to help our team develop innovative solutions and support the existing system.

At JOHAN Sports we guide sports teams to achieve higher performances and reduce injuries by combining Data Science and Sport Science. Data is collected from wearable devices and/or web forms (e.g. GPS/heart-rate trackers, WebApp, mobile application).

About us

My name: Hessel Edelijn
My position: Corporate Recruiter
Company name: Johansports
Company website:
Company headquarters (country): Netherlands
Company info and history :

Most clubs can’t afford or don’t have the know-how to work with a Performance Monitoring System. We focus on making such technologies affordable and easy to use for sports teams on all levels!

Recently acquired by Demcon, we are a small but ambitious group of people which still operates independently so you can expect a start-up environment while being backed by a well-rounded company. We are looking to expand our technical team and accelerate the development of the JOHAN Sports ecosystem.

As part of the back-end team, you will help with the maintenance and development of our backend code and infrastructure. Together, we will ensure that data from our various interfaces (user-facing and downstream), flows safely and efficiently throughout our system.

You will collaborate with team members and parties (business, operations, front-end, sports scientist and hardware developer) to discuss promising ideas and features, assess their technical feasibility and translate them into solutions. You will most often own the feature/project you work on from ideation to production.

Note that we do not expect you to have extensive knowledge in all points raised below but you expect to build experience in those fields over time if you join the team. We want you to work on what excites you but being part of a small team, some polyvalence is greatly appreciated.

About the job

Job title: Back-End Developer Johan Sports
Position on remote work: Hybrid in an option, but a 1-2 days a week in Delft office
Qualifications or experience required:

• 2+ years of production experience In Elixir or other programming languages
• 5+ years of overall software engineering experience
• Experience building web applications with Phoenix or similar web framework (e.g ruby/rails)
• Experience designing APIs
• Willing to learn Elixir/Phoenix and work with it on a daily basis
• Experience working with relational databases
• Experience working in an Agile environment
• Excellent communication and collaboration skills

Nice To Have:

• Good Knowledge of Elixir/Phoenix, python/Django
• Experience in dev operations in a cloud-based infrastructure like AWS
• Experience with Docker and containerized environments
• Experience with Serverless technologies
• Experience with message queues, data pipelines and real-time processing
• Javascript framework (We use mainly React.JS)

What the successful job applicant will be working on:

Your routine work could consist in:
• contributing to project specifications and assessing project impact in terms of resources and time;
• designing back-end code and infrastructure solutions;
• spotting candidate technologies to support our development;
• when necessary, setting up contracts between developer parties (e.g API, Doc);
• Implement the solutions. Write code Mainly in Elixir, sometimes in python;
• A minimum of security and observability (e.g monitoring) must be considered in the solutions;
• Ensuring tests, documentation and good practices via code reviews;
• Improving/Supporting preexisting code

Some example projects you could be working on:
• Various user-facing APIs (WEB application, live monitoring application, Mobile application etc…).
• Various downstream services inter-communication.
• External API (e.g data synchronisation with third-party companies).
• Data-pipeline: Ingestion/transformation of objective/subjective data collected from players’ wearables or web/mobile forms.
• Transformation of objective/subjective player data into actionable human advice.
• Help data scientists build ML models providing access to the data they need and integrating their models.
• Reporting engine from aggregated data destined to team managers (e.g CSV/XLSX/PDF).
• Back-office features to support operations (e.g firmware releases, hardware management).
• The modernisation of our system migrating key features from our legacy system.

While limited infrastructure knowledge is required to get started on the job, let us give you an idea of our back-end stack in which you will operate:

The entire infrastructure: applications, storage and domain routing is hosted on AWS. For our storage layer, we use S3, RDS instances (MySql) and DynamoDB. Our computing layer is either based on dockerized applications hosted on EC2 instances (monitored under ECS Custers) or AWS lambdas for ephemeral computing.

Services reside under VPCs and resilient inter-services communication is generally ensured via a combination of queues and event notifications. Most of our infrastructure is maintained and versioned via terraform or the serverless framework. We provision our servers using Ansible and the code release cycle is done via CI/CD.

You could get involved in working/learning Infrastructure development:

• Setting up new infra resources to support new projects
• Setting up appropriate alarms and logging for our various resources
• Cost optimisation (e.g Resources lifecycle purging/archiving stale or less-frequently used objects)
• Automated or manual monitoring/investigation of our system
• Maintenance of our infrastructure as code
• Working on continuous integration/deployment workflow
• Find a good cost/efficiency compromise

About the interview process

1: Introduction call - Hessel
2: Technical interview with CTO and Back End Engineer
3: Offline coding assignment (you can do it in your own time, no time pressure)
4: Interview with Managing Director

Further info

feel free to apply at Back-End Developer Johan Sports - Werken bij Demcon (Delft) or reach out to me directly