About this role
Salary up to: Competitive
Software Engineer – Go & JavaScript
A bit about us
At Nando's, we're on a mission to Create Lasting Happiness, and technology plays a huge part in making that happen.
Behind every great Nando's experience is a lot of clever technology. From keeping our customers' personal information safe to recognising and rewarding their loyalty, our engineering teams build the systems that help us create better, more personalised experiences.
We're looking for a Software Engineer to join our Retention & Loyalty team, working on the technology that helps us connect with our customers, protect their data and make our rewards programme even better.
This is a great opportunity for an engineer with Go experience who enjoys solving interesting technical challenges, building reliable systems and working on products that make a genuine difference.
You'll join a collaborative team where you'll have the freedom to contribute ideas, take ownership of your work and continue developing your skills alongside experienced engineers who genuinely enjoy what they do.
What's the team all about?
Our Retention & Loyalty team plays an important role in Nando's digital ecosystem, building and maintaining the technology that helps us understand, engage with and reward our customers.
We work across several key areas, each contributing to a secure, seamless and rewarding customer experience:
- Customer Identity & Security: Building and maintaining the services that manage customer identities, helping keep personal information secure and ensuring customers can access our digital experiences safely.
- Loyalty & Rewards: Developing the technology behind our rewards programme, making it easier for customers to earn, manage and enjoy their rewards.
- Customer Engagement: Supporting the systems and integrations that enable relevant marketing communications and help us build stronger relationships with our customers.
- Event-Driven Systems: Processing customer actions and loyalty events reliably, ensuring our systems respond accurately and efficiently.
- Third-Party Integrations: Connecting our platforms with external services that support customer identity, data protection and our loyalty programme.
There's plenty of variety here. You'll work on existing services, help improve how our platforms operate and get involved in new challenges as we continue developing our digital customer experience.
As a mid-level engineer, you'll have the opportunity to take ownership of meaningful pieces of work while learning from experienced engineers and developing your technical expertise.
The tech you'll get to work with
We believe in choosing the right technology for the problem, and we're always looking for better ways to build reliable, scalable software.
Our engineering environment includes:
- Backend: Go (Golang), with opportunities to work with Rust
- Frontend: JavaScript, TypeScript and React
- Data: BigQuery and Dataform
- Architecture: Event-driven systems, APIs and third-party integrations
- Engineering Practices: Automated testing, CI/CD, monitoring, observability and production support
Go is an important part of this role, so we're looking for someone who already has hands-on experience with the language and wants to continue developing their skills.
You don't need to have worked with every technology listed above. We're much more interested in engineers with strong fundamentals, curiosity and a willingness to learn.
What you'll be getting up to
This is a hands-on engineering role where you'll be involved in the full software development lifecycle, from understanding requirements and designing solutions through to building, testing, deploying and supporting software in production.
You'll be:
- Designing, developing, testing and maintaining reliable software that supports our customer identity, loyalty and engagement platforms.
- Building and improving backend services using Go, with opportunities to work across JavaScript, TypeScript and other technologies.
- Working on event-driven systems, APIs and integrations that connect our customer platforms with internal and external services.
- Helping develop secure, scalable solutions that protect customer information and support our rewards programme.
- Taking ownership of features and services, with support from Technical Leads and other experienced engineers when needed.
- Collaborating with engineers, Product Managers and other teams to understand challenges and deliver practical technical solutions.
- Writing automated unit and end-to-end tests, helping improve the quality and reliability of our codebase.
- Contributing to technical discussions, backlog refinement and planning, helping break down requirements and estimate engineering work.
- Working with CI/CD pipelines, supporting deployments and helping troubleshoot build or release issues.
- Supporting services in production, including investigating issues, monitoring performance and improving reliability.
- Pairing with other engineers, participating in code reviews and sharing knowledge across the team.
- Looking for opportunities to improve existing code, automate repetitive tasks and make our engineering processes more effective.
We believe in an "if you build it, you run it" approach, so you'll have the opportunity to see how your work performs in production and help keep the services you build running smoothly.
We also want you to feel comfortable asking questions, challenging ideas and suggesting better ways of doing things. You won't just be here to pick up tickets and write code.
What we're looking for
We're looking for someone who's already built a solid foundation as a Software Engineer and is excited about continuing to develop their skills.
You'll ideally bring:
- Hands-on experience developing software using Go (Golang).
- Professional software engineering experience, ideally building and maintaining backend services or full-stack applications.
- A good understanding of software engineering fundamentals and writing clean, maintainable, well-tested code.
- Experience working with APIs, backend services or systems integrations.
- An understanding of automated testing and why it matters when building reliable software.
- Experience working in an agile engineering environment, collaborating with others to deliver features and improvements.
- A practical approach to problem-solving, debugging and understanding how systems work.
- The ability to contribute to technical discussions, break down work and provide input into estimates.
- Good communication skills and the confidence to share ideas, ask questions and learn from others.
- A genuine interest in technology and a willingness to explore different languages, tools and approaches.
It would also be great if you have experience with:
- JavaScript, TypeScript or React
- Rust
- BigQuery or Dataform
- Event-driven architectures and distributed systems
- Customer identity, authentication or data protection services
- Loyalty platforms, rewards programmes or customer engagement systems
- Third-party integrations and APIs
- CI/CD pipelines, monitoring and supporting production services
We're not expecting you to be an expert in everything. What matters most is that you have a good foundation in Go, enjoy solving problems and are keen to keep growing as an engineer.
What your first few months could look like
When you join, we'll give you the time and support to get familiar with our technology, products and ways of working.
You'll start by getting to know the team, understanding how our customer identity and loyalty systems fit into the wider Nando's digital ecosystem and contributing to features and improvements within our codebase.
You'll work alongside experienced engineers, getting involved in technical discussions, pairing sessions and code reviews as you build confidence in our systems.
As you settle in, you'll take greater ownership of features and services, contribute to technical decisions and work on increasingly complex challenges.
There's real opportunity to broaden your experience here, whether that's deepening your Go expertise, developing your JavaScript and TypeScript skills, working with event-driven architectures or learning more about how we securely manage customer data at scale.
We want you to grow with us, and we'll support that through mentorship, collaboration, training and plenty of opportunities to learn by doing.
Why Nando's?
We're a restaurant business at heart, but there's a lot more technology behind Nando's than you might expect.
Our engineers work on real problems, build products that customers and Nandocas use every day and have the opportunity to see the impact of what they create.
We're big believers in collaboration, learning from each other and giving people the freedom to do their best work.
And while we take engineering seriously, we don't believe work has to feel overly corporate. We want people to enjoy being part of the team, bring their personalities to work and feel comfortable being themselves.
Our values of Pride, Passion, Integrity, Courage and Family aren't just words on a wall. They're part of how we work together and how we treat each other.
If you're a Software Engineer who enjoys working with Go, wants to keep learning and likes the idea of building technology that helps us create better experiences for our customers, we'd love to hear from you.
Everyone is Welcome
At Nando's, everyone is welcome. Inspired by our Southern African heritage, we know and value the richness that diversity brings to Nando's.
We're committed to creating an inclusive and respectful culture for everyone, including our existing and future Nandocas, partners, suppliers, customers and the communities we're part of.
We work hard to create an environment where every individual is valued, respected and able to flourish, regardless of who they are, their background or their outlook on life.
We welcome applications from people of all backgrounds and will consider reasonable adjustments to help candidates perform at their best throughout the recruitment process.