At a Glance
- Tasks: Build and enhance Python systems for machine learning research at scale.
- Company: Join a dynamic team in a hardware-heavy environment in Cambridgeshire.
- Benefits: 12-month contract, competitive pay, and hands-on engineering experience.
- Why this job: Make a real impact by developing tools that support cutting-edge ML research.
- Qualifications: 4+ years of Python experience and familiarity with ML frameworks like PyTorch or TensorFlow.
- Other info: Collaborate closely with researchers and enjoy excellent ownership of your projects.
The predicted salary is between 36000 - 60000 £ per year.
If you like building Python systems that make machine learning research actually work at scale - this one's for you. You'll develop and improve the internal tooling that researchers rely on daily: distributed compute workflows, data pipelines, and robust infrastructure that connects research code to real environments - including hardware/prototype devices on-site.
What's in it for you:
- 12-month contract - inside IR35 - PAYE
- Fully on-site in Cambridgeshire - hardware-heavy environment
- Proper engineering role: ownership, impact, and technical depth
What you'll do:
- Build and maintain scalable Python tooling that supports ML research workflows
- Improve reliability: fix bugs, optimise performance, and ship iterative enhancements in sprints
- Integrate with distributed compute, data storage, and internal development systems
- Work closely with researchers as your "users" - gather requirements, translate ambiguity into working software
- Write clean, maintainable code and debug problems that span systems
Must-haves:
- 4+ years of commercial experience building software in Python
- Hands-on with PyTorch or TensorFlow in production or applied ML environments
- Experience with distributed or high-performance computing
- Comfortable working with large/complex ML datasets and research-style workflows
- Good communicator: you can explain what you're building and why, not just ship code
Nice to have:
- ML tooling/pipelines built for researchers or data scientists
- CI/CD and deployment experience in complex environments
You’ll spend time building new features into internal tools, responding to researcher requests, fixing what’s broken, improving what’s slow, and collaborating with the infra team in a sprint cadence. This is hands-on engineering with real ownership.
How to apply? If you’re a Python engineer/developer who enjoys solving real systems problems for ML teams, share your CV, and we’ll talk through fit, on-site expectations, and the interview process.
Python Software Engineer - ML Tooling / Research in London employer: Principle
Contact Detail:
Principle Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Python Software Engineer - ML Tooling / Research in London
✨Tip Number 1
Network like a pro! Reach out to folks in the industry, attend meetups, and connect with researchers. Building relationships can open doors that a CV alone might not.
✨Tip Number 2
Show off your skills! Create a GitHub repo or personal project showcasing your Python and ML prowess. This gives potential employers a taste of what you can do beyond just words on paper.
✨Tip Number 3
Prepare for those interviews! Brush up on your technical knowledge, especially around distributed computing and ML workflows. Practice explaining your past projects clearly and confidently.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen. Plus, we love hearing from passionate candidates who are eager to make an impact in ML tooling.
We think you need these skills to ace Python Software Engineer - ML Tooling / Research in London
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your experience with Python and any relevant ML tooling. We want to see how your skills align with what we do, so don’t be shy about showcasing your projects and achievements!
Showcase Your Communication Skills: Since you'll be working closely with researchers, it's important to demonstrate your ability to communicate complex ideas clearly. Include examples in your application where you've successfully collaborated or explained technical concepts.
Highlight Relevant Experience: If you’ve worked with distributed computing or large ML datasets, make it known! We’re looking for hands-on experience, so be specific about the tools and technologies you’ve used in your previous roles.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it shows you’re keen on joining our team!
How to prepare for a job interview at Principle
✨Know Your Python Inside Out
Make sure you brush up on your Python skills before the interview. Be ready to discuss your past projects and how you've used Python to solve real-world problems, especially in ML contexts. They’ll want to see your hands-on experience, so be prepared to dive deep into your coding practices.
✨Familiarise Yourself with ML Tools
Since this role involves working with PyTorch or TensorFlow, it’s crucial to have a solid understanding of these frameworks. Prepare to talk about specific projects where you’ve implemented these tools, and think about how you can relate your experiences to the needs of the researchers you'll be supporting.
✨Communicate Clearly
This job requires you to work closely with researchers, so being able to explain complex technical concepts in simple terms is key. Practice articulating your thought process and how you gather requirements from users. This will show that you can bridge the gap between engineering and research effectively.
✨Show Your Problem-Solving Skills
Be ready to discuss how you've tackled bugs, optimised performance, and improved existing systems in your previous roles. Think of specific examples where you took ownership of a project and made a significant impact. This will demonstrate your ability to handle the responsibilities of the role.