CMR is an exciting and evolving company to be joining right now. Our commitment to our goal of building a world-class medical devices company is underpinned by the ground-breaking innovation of our next generation of surgical robots and a diverse team of talented and supportive individuals. Everyone at CMR has the passion and desire to make a real difference to the way minimal access surgery is developed and delivered.
We're breaking new ground which makes working here exciting, it provides autonomy, opportunity and makes the things you do visible - if you're great at managing your own time, are creative, patient and resilient, we think you'll fit right in.
We are looking for a Senior data engineer to join our collaborative Data Platform Team. In this role you'll design and develop scalable telemetry processing pipelines and services to allow other components to easily understand what happened on our Versius robot.
In this role we are looking for someone who can:
Deliver value to other teams within CMR using big-data technologies
Engaging with internal technical stakeholders to understand their needs and gain alignment
Contributing to the development of the SW architecture for existing and new products
Develop high-quality products that are reliable, scalable, and maintainable
Promote high-quality coding standards and best practices, including technical documentation
Identifying, contributing to and actively support improvement activities
Growing technical colleagues through coaching, mentoring, and teaching
Take ownership of services and help projects progress through the whole Software Development Lifecycle
Engagement in the day-to-day collaboration within an Agile Team
We're a high growth company and roles can change and evolve. You'll need to be willing to turn your hand to anything within the software remit that supports the team with delivering its objectives.
We would be interested in hearing from candidates with the following skills/experiences:
Proficient in Python
Experience packaging Python projects for deployment in a cloud environment, particularly for container-base infrastructure
Experience of event-based and containerised programming and queuing systems
Experience with RESTful API development, particularly with Python frameworks such as FastAPI, Django REST Framework
Experience working with different data formats. Structured, unstructured, and semi-structured formats, and metadata
Deep understanding of the challenges of developing big data solutions
Experience developing data processing pipelines using cloud-based technologies
Deep understanding of CI/CD techniques and experience with CI platforms such as Jenkins, TeamCity, GitlabCI
Experience with using multiple deployment environments to deliver reliable releases
Experience of working within an Agile development team: git, code reviewing, estimating and planning work
What tools do we use? Experience in any of these would be beneficial
We work with telemetry
AWS is our Cloud Provider of choice
Our processing is mostly event-based and serverless. We use AWS services such as, SNS, SQS, Lambda, API Gateway, and ECS
Some of our services work around data lakes and we use Parquet, Kinesis, Redshift, and Athena
Our customers are internal technical people, so RESTful API's are our main way of delivering information. Python FastAPI helps us develop good quality API's
For unstructured/semi-structured data we use Elasticsearch
Python is our daily driver and our stack usually includes: poetry, black, flake8, poethepoet, pytest, requests, boto3, FastAPI, sqlalquemy
We package and distribute most of our projects as Docker images
We use different IaC software: Serverless Framework, Terraform, CloudFormation and AWS CDK
We offer a competitive salary and a great benefits package including non-contributory pension, private healthcare and a bonus scheme. In addition, you'll be joining a company with a fabulous culture of ambition, creativity and teamwork. CMR is committed to promoting a diverse, open and collaborative work environment - a place where we can be ourselves and succeed on merit. We believe an environment like this is where ideas can truly flourish and balanced with a healthy dose of fun, it ensures that our people stay and develop. We welcome applications to join our team from all qualified candidates, regardless of their characteristics.
In addition, we recognise everyone has individual personal circumstances and are open to discussing reduced / flexible working hours for this role.