Software Engineer

takealot.com

South Africa

On-site

ZAR 900,000 - 1,200,000

Full time

4 days ago
Be an early applicant
Application generator

Get a reply from this employer — a resume and cover letter tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Takealot Group is seeking a Software Engineer (backend, preferably with search experience) to join our team. You will help maintain and scale our search stack, contribute to robust backend services, and participate in transitioning from Elasticsearch to Vertex AI Search.

The role emphasizes building scalable systems in Python with optional Java/Go, collaborating across teams, and delivering high-quality production code while supporting 24/7 operations.

Qualifications

  • Bachelor’s degree or an Advanced Diploma in Computer Science, Engineering, or related field (or equivalent practical experience).
  • 5 to 10 years in a software development role
  • Developing scalable backend systems
  • A thorough understanding of computer science fundamentals, including object-oriented design, data structures, and algorithms
  • Proficient in a strongly typed open source language such as Python, Java, Golang, etc
  • RESTful APIs and web services.
  • SQL database systems

Responsibilities

  • Design and build solutions to assist our business users and improve customer experience
  • Architect and design solutions with your team
  • Develop code, making major improvements to non-functional areas
  • Develop high-quality production code for work of high complexity and scale
  • Utilize and improve functional and non-functional testing practices
  • Champion, challenge, and iterate on best practices within engineering
  • Design solutions for complex problems with difficult decision trade-offs, typically system or domain-wide
  • Participate in and collaborate on architecture proposals across engineering
  • Support alignment of architecture across the organisation
  • Respond to and resolve bugs in production for systems in your division
  • Respond to alerts and support incident response within your division
  • Investigate and drive the resolution of issues that impact multiple teams
  • Support, challenge existing, and define new engineering processes and directives
  • Review and contribute fixes and content to internal documentation
  • React to technology trends, identifying risks and opportunities for your division's technologies, systems, and domains
  • Share knowledge through blog posts, tech talks, and workshops across engineering
  • Contribute to discussions and decisions in the division
  • Challenge others to always produce work of the highest quality
  • REST and RPC API implementation and maintenance (using Python)
  • Develop and maintain automation tests
  • Liaise with various internal stakeholders to discuss project requirements, progress, etc.

Skills

Backend development
Search experience
Python
REST APIs
SQL
Java
Go

Education

Bachelor’s degree or equivalent

Tools

Docker
GitHub
Travis CI
Jenkins
Redis
Memcached
Kafka
RabbitMQ

Job description

Takealot.com, South Africa’s leading online retailer, is looking for a highly talented Software Engineer (backend, preferably with search experience) to join our team. We are a young, dynamic, hyper-growth company looking for smart, creative, hard-working people with integrity to join us!

Think you’ve been challenged before? Think again!

  • Scale: Over 4 million happy shoppers shop online on takealot.com. Show them what you can do.
  • Learn: We work with the best of the best. Code alongside industry leaders and up-skill in record time.
  • Grow: Expand your career in the fast-growing Takealot Group: takealot.com, TFS and Mr D. We like to promote from within: Here’s your chance.
Who’s who in the tech space

This position reports to the respective team's manager.

Your mission, should you choose to accept it:

As a Software Engineer, you will be someone whose expertise directly translates into developing robust software in the e-commerce domain. You will have the opportunity to implement best practices to improve existing software and participate in the development of new features. While we don't promote after-hours work as part of the regular workday, we run a 24/7 business with the need to keep systems up and running. Software Engineers are expected to provide after-hours support on a rotational basis to resolve critical system issues if needed.

The role is focused on maintaining our search stack. We are currently in the process of transitioning from Elasticsearch to Vertex AI Search, so experience with any of those would be a bonus, but not a necessity. Experience with any kind of search technology (Solr, Algolia) is relevant, but even if you don’t have search experience, the most important factor is that you enjoy building scalable back-end systems, and have a strong interest in understanding how search systems are built to scale to that serve millions of customers. Takealot runs mostly on Python, but experience in any of the mainstream backend languages (Python, Java or Go) is a plus.

  • Design and build solutions to assist our business users and improve customer experience
  • Architect and design solutions with your team
  • Develop code, making major improvements to non-functional areas
  • Develop high-quality production code for work of high complexity and scale
  • Utilize and improve functional and non-functional testing practices
  • Champion, challenge, and iterate on best practices within engineering
  • Design solutions for complex problems with difficult decision trade-offs, typically system or domain-wide
  • Participate in and collaborate on architecture proposals across engineering
  • Support alignment of architecture across the organisation
  • Respond to and resolve bugs in production for systems in your division
  • Respond to alerts and support incident response within your division
  • Investigate and drive the resolution of issues that impact multiple teams
  • Support, challenge existing, and define new engineering processes and directives
  • Review and contribute fixes and content to internal documentation
  • React to technology trends, identifying risks and opportunities for your division's technologies, systems, and domains
  • Share knowledge through blog posts, tech talks, and workshops across engineering
  • Contribute to discussions and decisions in the division
  • Challenge others to always produce work of the highest quality
  • REST and RPC API implementation and maintenance (using Python)
  • Develop and maintain automation tests
  • Liaise with various internal stakeholders to discuss project requirements, progress, etc.
The skills we need:
  • Solutions-oriented, can-do attitude, and high energy
  • Strong analytical and critical thinking, using data to inform decisions
  • Ability to disaggregate and structure solutions to ambiguous problems
  • Capability to present ideas succinctly, in writing and verbally
  • Versatile and with the appetite to learn by doing
Qualifications & Experience:
  • Bachelor’s degree or an Advanced Diploma in Computer Science, Engineering, or related field (or equivalent practical experience).
  • 5 to 10 years in a software development role
  • Developing scalable backend systems
  • A thorough understanding of computer science fundamentals, including object-oriented design, data structures, and algorithms
  • Proficient in a strongly typed open source language such as Python, Java, Golang, etc
  • RESTful APIs and web services.
  • SQL database systems
Experience in the following will be advantageous:
  • Search technologies (Elasticsearch, Vertex AI Search, Solr, Algolia, or any other major third party provider)
  • Familiarity with microservices architecture
  • Working in an Agile environment
  • Memcached, Redis
  • Message Brokers, Queues, and PubSub systems (e.g., Kafka and RabbitMQ)
  • Containerisation (e.g., Docker)
  • GitHub, Travis CI, Jenkins
Like what you see?

Takealot Group is an Equal Opportunity Employer. Applicants from previously disadvantaged groups and people with disabilities will be given preference.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Software Engineer (Python)
Software Engineer (Python)

takealot.com • South Africa

Remote
ZAR 900,000 - 1,300,000
Remote working
Mentorship programme
Tech learning & MyAcademy access
+2
Software Engineering Manager (Fulfilment Operations)
Software Engineering Manager (Fulfilment Operations)

takealot.com • Cape Town

Hybrid
ZAR 1,200,000 - 1,600,000
Hybrid working model
Mentorship programme
TakealotMORE Benefit
+3
Software Engineering Manager (Fulfilment Operations)
Software Engineering Manager (Fulfilment Operations)

takealot.com • South Africa

On-site
ZAR 900,000 - 1,400,000
Hybrid working model
Mentorship programme
Tech community & online learning
+3
Software Engineering Manager (Fulfilment Operations)
Software Engineering Manager (Fulfilment Operations)

Takealot Group • Cape Town

Hybrid
ZAR 1,200,000 - 1,800,000
Hybrid working model
Mentorship programme
Tech learning access
+2
Senior Software Engineer (Java)
Senior Software Engineer (Java)

Takealot Group • South Africa

Hybrid
ZAR 900,000 - 1,200,000
Remote working
Mentorship programme
Staff discount
+3
Software Engineering Manager (Machine Learning)
Software Engineering Manager (Machine Learning)

takealot.com • Wes-Kaap

Remote
ZAR 1,800,000 - 2,400,000
Market-related Total Remuneration Package
Remote working options
Mentorship programme
+3
Android Software Engineer
Android Software Engineer

Takealot Group • Cape Town

Hybrid
ZAR 600,000 - 900,000
Hybrid working model
Staff discount
Birthday leave
+2
Software Engineer (Scala)
Software Engineer (Scala)

takealot.com • Cape Town

Hybrid
ZAR 500,000 - 700,000
Market-related remuneration package
Hybrid working model
Mentorship programme with senior leaders
+5
Senior Software Engineer (Java)
Senior Software Engineer (Java)

takealot.com • Cape Town

Hybrid
ZAR 600,000 - 800,000
Competitive total remuneration package
Hybrid working model
Mentorship programme
+2
Software Engineer (Python) - Supply Chain
Software Engineer (Python) - Supply Chain

takealot.com • Cape Town

On-site
ZAR 600,000 - 900,000
Purpose-driven impact
Advanced technology
Career growth
+1