Bash.com

Intermediate Software Engineer - GoLang (Supply Chain)

Bash.com · Cape Town, Western Cape, South Africa

Technology, Information and Internet · 201-500 employees

3 h ago
Mid (2-5 yrs) Full-time South Africa
Log in to apply, save this posting, or score it against your profile with AI.

About the role

Develop and own end-to-end backend features for supply chain systems, including order management, fulfillment, and logistics. Build resilient, event-driven services using Go, Kafka, and Temporal to handle high-scale retail operations.

What they look for

GoLang Distributed Systems AWS Kubernetes Kafka Temporal Backend Development Database Design Data Structures Algorithms Observability Event-Driven Architecture API Integration Unit Testing Code Review Agile Methodology

Requirements

Requires 3+ years of experience building production backend systems, preferably in Go or another strong language. Candidates should have solid instincts for distributed systems, databases, and a commitment to writing maintainable, well-tested code.

Benefits

Generous Paid Holiday Wellbeing Leave Birthday Leave Exclusive Shopping Discount Competitive Salary

Full description

WHO WE ARE AT BASH

We are a team of leaders, bold thinkers and friends, and we’re on a mission to create remarkable omni-channel experiences for our customers.

We believe that by being Bold, Accountable, Simple and Human, our values will lead us forward, keeping us real, connected and directed.

By leveraging the power of technology and exceptional talent, we are building products that bring the physical and digital world together to create communities that prosper. This journey requires grit, ambition and teamwork as we transform SA retail for the better.

And we’re only just getting started. Now is the time to jump onboard.

Every order placed on Bash online, or through one of TFG's stores - runs through the systems this team owns. Getting a parcel from add to cart and into the customer's hands means wrestling with inventory that changes by the millisecond, warehouses that have to pick and pack the right thing, and a courier network (including our own, BashDelivery) that has to route it efficiently. Then someone wants to return it, and you do it all again in reverse.

It's a genuinely hard distributed-systems problem dressed up as "retail." That's the part we like, and everything needs to be able to operate at Black Friday scale, all the time. This is the level where a lot of the interesting growth happens. You've shipped real things in production and you're past needing someone to check your work - what you want now is harder problems, systems that matter, and people around you who make you better. That's the job.

We're hiring Intermediate Go Engineers across various teams

You'll be placed where your strengths and interests line up best:

  • Order Management - orchestrating the order through its entire lifecycle, from checkout reservation to handoff, keeping state consistent across systems that don't always agree with each other.
  • Fulfillment - the pick-and-pack brains behind our warehouses and hubs, plus the integrations with the warehouses and stores that we fulfil orders out of.
  • Logistics - Integrations with 3rd party couriers, routing, tracking, and delivery, including BashDelivery, our in-house courier.
  • Supply Chain Applications - this team builds the front-ends used by store, warehouse, and hub staff, nationwide. As a Go engineer in this team you'll build backends hand-in-hand with the Flutter engineers building the front-ends.

What you'd actually work on

You'll own features end-to-end - not tickets handed to you fully spec’ed, and not a greenfield system you're expected to architect alone. Somewhere in the middle, which is where the learning is.

  • Real-time stock and reservation systems where being correct and being fast are both non-negotiable, regardless of the system load. Expect to see thousands of orders per hour.
  • Event-driven services that keep order state in sync across warehouses, carriers, and third-party logistics platforms. We use Kafka and Temporal extensively - if you haven't used them before, you will.
  • Integrations with messy external systems (couriers, WMS, partners) - the kind that don't have clean APIs and don't care about your sprint.
  • Tooling and operational systems that store and warehouse staff actually use every day, so the feedback loop is short and very real. Millions of parcels a year flow through our hubs.

The Stack

Go is our primary backend language, and we mean it - this isn't a "we have one Go service" job. Around it: AWS, Kubernetes, and a strong observability culture (you build it, you can see it, you own it). Internal tools and admin surfaces are built in Retool, and we plan and track work in Linear. You won't be reaching for new tech for its own sake, but you also won't be fighting a decade of legacy to ship something sensible.

You'll fit well if you have

  • 3+ years building production backend systems, ideally in Go - or you're strong in another language (Java, C#, Python, Node, Rust, whatever) and genuinely keen to go deep on Go. We hire for engineering ability, not language trivia.
  • Solid instincts for databases, data structures, and algorithms, and real curiosity about distributed systems - consistency, failure modes, and what happens at 2am when one node disagrees with the rest. You don't need to have all the answers here yet. You do need to find the questions interesting.
  • The ability to take a feature and drive it to done. You can break it down, spot the ambiguity, ask the right person the right question, and ship. You'll have senior engineers to lean on for the gnarliest calls - knowing when to lean is part of the skill.
  • A habit of writing code others can live with. Well-tested, readable, debuggable. You give useful code review feedback, not just an approve button.
  • A bias toward observability and monitoring - you'd rather know than guess. You care whether the thing you shipped actually worked, and you know how to check.
  • Clear communication. You can explain a technical trade-off to a product manager, flag a delay before it becomes a surprise, and write documentation that saves the next person a day.
  • Comfort with agentic coding tools, but you still read and validate everything "you" commit.
  • A BSc in Computer Science (or equivalent) is a nice-to-have, not a gate. Strong, demonstrable experience speaks louder.

How we work

We're a cross-functional, Agile team, but we care less about ceremony than about how engineers actually operate day to day:

  • You run your own day. You manage your own work, unblock yourself where you can, and shout early and clearly when you can't. Nobody's checking whether you're busy.
  • You build to last. Resilient, maintainable, observable. You hold a high bar on testing and code review - and you'll be surrounded by people who hold it too, which is the fastest way to raise your own.
  • You share the load. That includes pitching in on operational work and an on-call rotation for critical alerts - because the people who built the systems are the people best placed to keep them healthy. We take on-call seriously and we don't make it miserable.
  • You get better, and you help others get better. We run engineering Guild sessions, we write RFCs, and we expect you to be in the room - asking questions, sharing what you've learned, and taking the newer engineers under your wing when you can. This is a real part of the job, not a bonus.
  • You'll know what "next" looks like. We have a published progression framework, and your manager will be explicit with you about what the step to Senior requires. Growth here is a conversation, not a guessing game.

We ask a few optional demographic questions to monitor fairness in hiring and comply with South Africa’s Employment Equity requirements. Your responses are confidential - stored separately from your application and never shown to hiring panels. We review the data only in aggregate to strengthen our sourcing so pipelines are diverse and all candidates receive equitable support. You can skip any question.

JOINING THE BASH TEAM

We empower our people to choose where they would like to do their best work, with the tools they need to get there but we also encourage our teams to travel so we can also make magic happen face to face. Our offices are a vibe, which doesn’t hurt. They are decked out to make collaboration easy and help our team create lasting connections with each other. We bring teams together for planning, celebration, ideation and onboarding, and more.

BASH PERKS

Our perks are supercharged by our intangible benefits, like the optionality that comes with building a hyper growth business, being surrounded by the best talent in the biz and building great products that wow our customers and drive growth for our country.

Best of the Best - The wealth of talent we have will surprise + inspire you

Security within a startup - The best of both worlds. TFG's buy-in lets us invest in the people and initiatives we believe in.

Agency and Optionality - Use the ambition and collective force of our talent to drive your career in the direction you dream.

Connection and Friendship - We make sure you connect, laugh and have fun with the team. Play hard, work hard vibes.

Top $$ - The best people, in the right roles, earning at the top tier.

Your Time - We’ve got generous paid holiday, wellbeing leave and even Birthday leave for you to enjoy when you need it.

Exclusive Shopping Discount - Save when you shop across over 500 brands in-store and on bash.com.