Job reference: P2412

Senior Software Engineer

You'll be working on a range of projects, but with a focus on digiLab's exciting flagship product twinLab.

Role and Responsibilities:

Key responsibilities of this role are to:

  • Collaborate with a cross-functional team to design, develop, and maintain high-quality software solutions.
  • Contribute to the architectural design, development, testing, and deployment of software applications.
  • Apply security best practices throughout the software development lifecycle. Mentor and guide junior engineers, fostering a collaborative and learning-oriented environment.
  • Implement and adhere to software design patterns, SOLID principles, and architectural best practices.
  • Demonstrate a deep understanding of CI/CD pipelines and ensure efficient deployment processes.
  • Apply knowledge of site reliability engineering to enhance system reliability and performance.
  • Champion “Scrum” and make strong contributions to team-process improvements
  • Collaborate with product management to understand and translate business requirements into technical solutions.
  • Provide technical support to customers and lead diagnosis and mitigation in incident management investigations
  • Ensure adherence to RESTful API design principles.

About you:

Key qualifications for this role are:

  • 3-5 years of industry experience in (scientific) software development.
  • Experience with DevOps and MLOps.

Desired technical qualifications include:

  • Master’s level qualification in computer science or related degree.
  • 2-5+ years of professional experience with collaborative software development.
  • Deep understanding of Python.
  • Deep understanding of Linux, bash, and the command line.
  • Familiarity with modern, statistical machine learning and AI, as well as with the Numpy, Scipy, and Pandas libraries.
  • Ability to write logical, consistent, self-explanatory code.
  • Experience with security best practices and user-account management.
  • Experience with RESTful API design and best practices.
  • Experience of AWS best practices, as well as experience with : IAM; Lambda; S3; CloudWatch; CloudFormation; API Gateway; ECR; EC2; Cognito.
  • Strong understanding of software design patterns, SOLID and DRY principles, and architectural patterns.
  • Experience with Git/GitHub and best practices.
  • Experience configuring and using CI/CD pipelines.
  • Knowledge of the software testing pyramid and of types of automated testing (smoke; component; unit; performance; load; end-to-end).
  • Experience with Docker and other containerisation platforms.
  • Knowledge of deployment-reliability engineering and the ability to implement reliability best practices.

Team and communication:

  • Proven ability to collaborate and work well as part of a fast-paced “agile” team, preferably via “scrum”.
  • Excellent communication and interpersonal skills.
  • Proven ability to lead and mentor team members.

In addition to the above, a couple of 'nice to haves' are:

  • A PhD in a STEM field.
  • Experience with front-end development: HTML; CSS; React; Javascript/Typescript.
  • Experience with UI/UX design principles.
  • Experience with PyTorch or other deep-learning libraries.
  • An understanding of Bayesian statistics.

We offer a range of additional benefits, including:

  • 4 day working week
  • Employee Assistance Programme (EAP) scheme
  • BUPA private health care (via salary sacrifice)

To register your interest in this position, email your C.V. and covering letter to careers@digilab.co.uk and quote the job reference humber: P2412.