At a Glance
- Tasks: Join a dynamic team to build and evolve reliable data services for M&S Foods.
- Company: Be part of a historic brand transforming into a digital-first organisation.
- Benefits: Enjoy discounts, bonuses, training, and wellbeing support.
- Other info: Collaborative environment with opportunities for mentorship and career growth.
- Why this job: Make a real impact on food data solutions that serve millions.
- Qualifications: 5+ years in data-intensive systems, skilled in JVM languages, and DevOps practices.
The predicted salary is between 80000 - 100000 £ per year.
As part of the M&S Software Engineering team, you'll be joining a well-loved historic brand, working on solutions that serve millions of loyal customers and thousands of colleagues! With ethical values that run right through the company's core and technology leaders that truly understand software engineers and engineering, it's an exciting time as we're redefining ourselves into a digital first and engineering led organisation, with the quality of our engineering team being a key differentiator.
About the Role
The M&S Foods Product team is looking for a Senior Software Engineer to join our dynamic team. You will provide technical expertise, ship thoughtful solutions, and operate with excellence. Creative, curious and fearless, you will be an integral part of our empowered, self-managing domain engineering team, pushing the boundaries of how we ingest, model and distribute food related data across M&S. The team owns the platform that supports supplier systems, price and promotion information, product lifecycle and master data, and critical supply chain data flows. We sit at a unique intersection, providing high quality, timely data to our colleagues and partners while enabling internal teams to build on a robust food data platform. In this role, you will play a key part in driving our ambition to create a best in class software engineering team, environment, and culture. Join our community of engineers to help build a modern digital ecosystem, work with cutting edge technologies, and do the best work of your career.
What you’ll do
- Build and evolve reliable data services - design and develop scalable, high performance pipelines and APIs in Java and Micronaut, integrating with event streaming platforms such as Kafka. Your work will ensure accurate, timely information reaches downstream systems and business users.
- Own features end-to-end - take responsibility for everything from design through development, testing, deployment and production monitoring. You will balance delivery speed with sustainability, ensuring the platform remains maintainable over time.
- Shape the technical direction of our Food Platform - contribute to the platform architecture, promoting clean data contracts, well defined schemas and event models. Help craft solutions that balance data quality, integration reliability and developer usability, while considering cost versus performance trade offs at scale.
- Champion engineering excellence - write clean, maintainable, well tested code and help establish best practices across multiple teams. You will encourage a continuous improvement culture through code reviews, pair programming, and high quality documentation.
- Drive operational excellence and observability - share responsibility for the reliability of our data integrations. Use observability tools such as Dynatrace to design for monitoring and alerting and participate in our support rota to ensure supply chain and pricing data remains accurate and available.
- Collaborate widely - work closely with Product Managers, cross functional engineering teams, Supply Chain and Commercial teams to solve real business problems in thoughtful and innovative ways. Cross functional decision making and breaking down information silos are essential to shortening time to value.
- Mentor and support colleagues - provide coaching and feedback to more junior engineers. Help grow our community of practice by sharing knowledge and fostering an inclusive environment.
Who you are
- Experienced in data intensive distributed systems – 5+ years building and scaling services that handle large datasets, ideally serving millions of records or transactions. You understand both batch and event driven processing and can design systems that remain resilient at scale.
- Skilled in JVM languages – proficient in one or more JVM based languages such as Java, ideally working with Micronaut, and comfortable writing clean, maintainable code.
- DevOps and CI/CD practitioner – experienced in designing and running CI/CD pipelines (for example, GitHub Actions) and driving improvements in developer productivity and release automation. Familiarity with Infrastructure as Code (Terraform) helps automate repeatable infrastructure changes.
- Cloud and data platform savvy – comfortable working in cloud environments (preferably Azure) and familiar with modern data processing and integration tools. Experience with Kafka for event streaming, SFTP for batch data ingestion, relational and NoSQL databases (MongoDB), and SaaS integrations for product lifecycle and pricing is highly valued. Exposure to containerization and orchestration technologies such as Docker and Kubernetes, and infrastructure automation with Terraform, is a plus.
- Data modelling and integration expert – understand domain driven design, data contracts and schema evolution. You care about data quality and integrity and know how to integrate with third party systems without excessive customization.
- Balance strategic thinking with pragmatic delivery – you can weigh long term architectural goals against immediate business needs, are sensitive to commercial impacts, and thrive in high autonomy teams.
- Security and quality minded – experience using modern security and static analysis tools such as Snyk and Semgrep to identify vulnerabilities and enforce coding standards. A commitment to secure coding practices and compliance is essential.
- Curious about AI assisted development – open to leveraging AI tools like GitHub Copilot, Claude to enhance productivity and accelerate learning while maintaining code quality.
- Full stack awareness – while primarily a backend/data engineering role, understanding of front end technologies like React/Angular enables effective collaboration across the stack.
What's in it for you
- 20% colleague discount on most things from furniture, fashion and food.
- A first class welcome to M&S with a tailored induction and a wide range of training schemes to help with your learning and development.
- Attractive annual bonus, based on company performance and personal objectives.
- Competitive holiday entitlement with the potential to buy extra holiday days.
- Amazing perks and discounts via our M&S Choices website – including GymSave and the option to become an M&S Shareholder.
- Charity Volunteer Day – a paid day away from work to support your chosen charity.
- A very generous Defined Contribution Pension Scheme and Life Assurance.
- Access to a fantastic range of wellbeing support – including our 24/7 Virtual GP and other wellbeing schemes.
Senior Software Engineer - Food (Distributed Systems) in London employer: Marks and Spencer
Joining M&S as a Senior Software Engineer means becoming part of a historic brand that values ethical practices and innovation. With a strong focus on employee growth, you'll benefit from tailored training schemes, a generous pension plan, and a vibrant work culture that encourages collaboration and creativity. Enjoy unique perks like a 20% discount across various products, a paid charity volunteer day, and access to comprehensive wellbeing support, all while contributing to a digital-first transformation that serves millions of customers.
StudySmarter Expert Advice🤫
We think this is how you could land Senior Software Engineer - Food (Distributed Systems) in London
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Marks and Spencer or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Marks and Spencer.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Marks and Spencer.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Marks and Spencer that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Senior Software Engineer - Food (Distributed Systems) in London
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Marks and Spencer.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Marks and Spencer and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Marks and Spencer
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Marks and Spencer uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.