Principal Software Engineer

ECM Selection Limited
Cambridge, UK
1 day ago
Apply on www.ecmselection.co.uk
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£80,000.0
Working hours
Regular working hours

Tech stack

Amazon Web Services Cloud Computing Python (Programming Language) MATLAB Machine Learning Tensorflow Linux Containers Software Engineering Apache Spark Julia Information Technology Dask
+2 more
Machine Learning Operations Docker

Job description

An exciting opportunity for a knowledgeable Principal Software Engineer has arisen with a Cambridge company who are working on machine learning and decision-making algorithms that are used in a variety of sectors, such as Finance and Energy. Much of their work is focussed on improving the efficiency of systems, reducing waste and environmental impact, as is the case with power networks where the improved balancing of supply and demand can enable more sustainable power generation to be used.

The Principal Software Engineer will be the go-to-person for the team on issues of software design, integration of components and delivery and deployment. They will be sought to give their opinion on the direction and strategy for future research and development.

The company has strong links to the open-source community and mostly work in Julia, however, experience in Julia is not absolutely necessary to excel in this position if you possess an extensive knowledge of Python and MATLAB. An important part of the role will involve creating new packages for the Julia ecosystem, so the ability to adapt and learn new languages would be advantageous.

Other key aims for the Principal Software Engineer will be: to develop scalable solutions for distributed systems; to build software components and libraires that are able to express, distribute and execute machine learning pipelines; the ability to always keep usability, performance and user expectations at the forefront of all innovative development work.

Requirements

  • Extensive experience in software engineering/development, ideally including: Julia, MATLAB and Python development.
  • Good knowledge of parallel or distributed computation (e.g. Dask, Tensorflow, Apache Spark).
  • A good appreciation of machine learning, statistics, and optimisation.
  • Familiar with Linux containers, such as Docker, as well as a good understanding of Cloud Computing, AWS being of particular interest.
  • A good degree in Computer Science or similar technical subject will be expected as will strong communication skills.

Full right to work in the UK without time limit or sponsorship will also be needed to be considered for this role.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.ecmselection.co.uk
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:19 min

Scaling performance across multiple GPUs using specialized frameworks

Paul Graham Paul Graham · World Congress 2025

3:59 min

History and original philosophy of the Python programming language

Radovan Kavický · LIVE

2:40 min

Motivations for transitioning legacy MATLAB repositories to Python

Michael Niebisch Michael Niebisch · World Congress 2024

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

2:14 min

Custom domain controllers and vehicle communication networks

Denis Grahovac · World Congress 2021

2:19 min

Harnessing open-source community support and edge device processing

Ekaterina Sirazitdinova · LIVE

Videos

See all

Related articles

See all