Snr Software Engineer - Machine Learning
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer within the Machine Learning Enablement Team at the BBC, you will design and deliver the tools, platforms, and capabilities that empower data scientists and engineering teams across the organisation. Your work will enable scalable, high-quality machine learning workflows and help shape the BBC's future through innovative technology solutions., * Design, build, and maintain tools, services, and infrastructure to support machine learning workflows.
- Apply strong engineering practices, including TDD, CI/CD, and clean software design principles.
- Mentor and support junior engineers, fostering a culture of continuous learning and excellence.
- Collaborate through pair programming and cross-functional engagement to deliver efficient, maintainable solutions.
- Contribute to architectural decisions, particularly involving data-driven technologies and system integrations.
- Conduct code reviews and implement robust testing strategies to ensure quality, security, reliability, and scalability.
- Build and maintain relationships with local engineering communities to support team growth and capability development.
Requirements
- A coding assessment designed to evaluate technical proficiency.
Final Stage: A comprehensive interview comprising:
- A technical presentation, and
- A competency-based interview focused on values and behaviours., 1. Strong experience with modern Python development, including TDD and CI/CD pipelines.
- Solid understanding of software engineering principles, design patterns, best practices including optimisation, monitoring, and security considerations.
- Experience building cloud-based services with AWS (e.g., SageMaker, S3, VPC, KMS).
- Experience with infrastructure-as-code tools such as AWS CDK or CloudFormation.
- Experience developing and maintaining data or ML-focused pipelines
DESIRED:
- Experience designing scalable architectures for data-driven products.
- Engagement with wider engineering communities or networks to support recruitment and knowledge sharing.
- Experience collaborating with cross-functional teams, particularly data scientists and product teams, to deliver end-to-end solutions.
- Experience with containerisation and orchestration technologies.
- Familiarity with statistical concepts and machine learning techniques or frameworks.
If you can bring some of these skills and experience, along with transferable strengths, we'd love to hear from you and encourage you to apply.
Before your start date, you may need to disclose any unspent convictions or police charges, in line with our Contracts of Employment policy. This allows us to discuss any support you may need and assess any risks. Failure to disclose may result in the withdrawal of your offer.