About the job
Join the Team at Takealot.com! As South Africa’s premier online retail platform, we are seeking a talented Software Engineer (Search) to become an integral part of our innovative team. At Takealot, we are a vibrant, fast-growing company that thrives on creativity, intelligence, and dedication. If you possess these traits and value integrity, we want you on board!
Ready for a true challenge?
- Scale: Join over 4 million satisfied customers shopping online at takealot.com and showcase your capabilities.
- Learn: Collaborate with industry leaders and rapidly enhance your skills in a collaborative environment.
- Grow: Advance your career within the expanding Takealot Group, which includes takealot.com and Mr D. We prioritize internal promotions, providing you with excellent growth opportunities.
Your Role: Reporting to the team manager, your mission will be to leverage your software engineering expertise to create robust solutions within the e-commerce landscape. You will engage in improving existing software and developing new features with a focus on best practices. While we maintain a standard work schedule, please note that our operations run 24/7, and you may be called upon for on-call support on a rotational basis to address critical system issues.
The primary focus of this role is to maintain and enhance our search stack. We are currently transitioning from Elasticsearch to Vertex AI Search, so familiarity with these technologies is advantageous, though not mandatory. Experience with other search technologies like Solr or Algolia is also relevant. Our technology stack predominantly utilizes Python, but proficiency in other mainstream backend languages such as Java or Go is a plus.
- Design and develop solutions to enhance business operations and customer satisfaction.
- Collaborate with your team to architect and design effective solutions.
- Write high-quality code, implementing significant improvements in non-functional areas.
- Create production-grade code for complex and large-scale projects.
- Enhance testing practices for both functional and non-functional requirements.
- Drive best practices within our engineering team through continuous improvement.
- Design solutions for intricate problems with challenging trade-offs at the system or domain level.
- Engage in collaborative architecture proposals across engineering teams.
- Support architectural alignment across projects.
