Senior Software Engineer - GoLang (OmniComm)
Bash.com Cape Town, Western Cape, South Africa
Technology, Information and Internet · 201-500 employees
About the role
You will design and maintain scalable backend systems for an omnichannel retail platform, focusing on catalogue management, discovery, and checkout pipelines. You will also participate in on-call rotations and collaborate with cross-functional teams to ensure system reliability and performance.
What they look for
Requirements
Candidates should have 5+ years of experience building production backend systems, with a strong preference for Go proficiency. You must possess solid knowledge of distributed systems, databases, and a commitment to writing clean, observable, and well-tested code.
Benefits
Full description
WE ARE BASH
Bash is South Africa's largest omnichannel shopping platform. We connect over 500 brands across the physical and digital world, for millions of South Africans, every day. We're building something with real scale and real consequence.
We're founder led, a team of true owners and humble learners. We work hard, hold a high bar, and show up for each other. The problems aren't easy and the pace is real but when you break through, the impact is felt across the business and by the customers who rely on us.
If that sounds like the kind of place where you'd do the best work of your career, we'd like to meet you.
Life at Bash
Bash is TFG's digital and omnichannel retail division. We build the technology, products, and commercial capability that connect 27 retail brands to customers. Our customers can shop online, in-app, and increasingly inside 3,400+ stores nationwide.
The work is hard, the hours are long, and we hold each other to a high standard. We're product and tech led but rooted in retail, which means everything we ship has to work at the counter, not just on a screen. We grow through every new person, every new idea, and through our collective wins and failures. We are only just getting started.
Three teams, one mission: Catalogue · Discovery & Shop · Cart, Checkout & Post Purchase
Every product a customer sees on Bash - searches for, scrolls past, adds to their cart, and eventually gets a delivery notification about - passes through the systems Omnicom owns. It starts with wrangling catalogue data flowing in from every one of TFG's 27+ store brands and hundreds of labels, and building the pipelines that turn that into something to surprise and delight our customers. From there it's the experience itself: search that actually understands what someone's after, display pages that load instantly and convert across web and app, and a cart that never buckles under load. Then checkout has to be frictionless, and everything after - order tracking, delivery comms, returns - has to keep people coming back for more.
It's a genuinely hard product-and-scale problem dressed up as "shopping." That's the part we like, and it all has to hold up when hundreds of thousands of people hit 'add to cart' in the same ten minutes on Black Friday.
We're hiring Go Engineers across various teams
You'll be placed where your strengths and interests line up best:
- Catalogue - the front door for every product TFG sells. This team owns the pipelines that take raw catalogue data from dozens of brands and turn it into clean, structured, sellable product data - every image, spec, price, and variant on the site starts life here.
- Discovery & Shop - the online shopping experience: search, PDP, PLP, and everything else that turns "just browsing" into "add to cart." This is where relevance ranking, real-time stock, and page speed all have to work together, or the sale is lost.
- Cart, Checkout & Post Purchase - carrying the customer from cart to confirmed order and everything after: checkout journeys, delivery promises, order tracking, notifications, and returns. We stop just short of payments - everything else on that journey is ours.
What you'd actually work on
- Search and discovery systems that have to be relevant and fast at the same time. Every keystroke, filter, and scroll hits live stock and pricing, not yesterday's cache, across the hundreds of millions of shopping sessions Bash sees a year.
- Event-driven pipelines (we lean heavily on Kafka) that keep product data in sync across 200+ brands' worth of catalogue. Every price change, image upload, and spec update has to land correctly downstream, or it's wrong on the site within minutes.
- Cart and checkout logic where "close enough" isn't good enough - vouchers, promos, and pricing have to work identically across web, app, and in-store checkout, because a rounding error here is real money in the wrong pocket.
- Integrations with external systems - the kind that don't expose clean APIs and don't care about your sprint.
- Post-purchase tooling people actually rely on: order tracking, delivery promise dates, and the notifications that keep customers in the loop, shaped by real usage rather than what looks good in a spec doc.
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
- 5+ 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 own your work. Senior here means you remove ambiguity from your own tickets, shape the solution, and drive it to done - not wait to be told.
- You build to last. Resilient, maintainable, observable. You hold a high bar on testing and code review, and you lift it by example, so the team ships solutions that don't page anyone six months from now.
- 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 build relationships with other engineers, product managers, and the wider org. The best supply-chain engineers are the ones people want in the room.
- You make the team better. Senior is a leadership level here. You mentor without being asked, spot gaps and bring solutions, and set a technical bar others want to meet.
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 believe in autonomy and self-driven individuals who thrive within some uncertainty so that they can fill those gaps with their uniqueness. The qualities that allow you to thrive are curiosity, proactivity and a bias to action. If you are these things, joining the Bash team will catapult your career and ensure you do the best work, pushing past your preconceived boundaries.
We don't believe in padding this section with things that sound good on paper. Here's what working at Bash actually looks like:
BASH PERKS
The people around you. We hire to a high standard, and you'll feel it. The talent at Bash will push your thinking, raise your game, and genuinely surprise you.
Real growth. A place that expands what you're capable of. You'll own more, stretch further, and build in ways a traditional corporate can't offer.
Top-of-market pay. The best people, in the right roles, earning at the top tier.
Time that's yours. We are flexible and don't measure time. We look at output.
Shopping perks. An exclusive discount across 500+ brands in-store and on bash.com.
Similar roles
-
Senior Golang Engineer - DevOps Enablement (all genders)
ABOUT YOU SE & Co. KG Hamburg, Germany · €70K–€85K/yr
-
Staff Software Engineer - Detection Platform (GoLang)
Huntress United States · $200K–$220K/yr
-
Software Engineer II - Golang
Stone - Linkedin Hamburg, Germany
-
Senior Golang Developer
INFOMEDIJI d.o.o. Belgrade, Central Serbia, Serbia
-
Backend Developer - Golang (f/m/d)
justDice Hamburg, Germany
-
Software Development Engineer - Golang
Avalara Brazil