About the job
Takealot.com, South Africa’s leading online retailer, is looking for a highly talented Senior Python Software Engineer to join the Discovery Backend team based in South Africa.
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 2.5 million happy shoppers shop online on takealot.com. Show them what you can do.
- Learn: We work with the best of the best, and then some. Code alongside industry leaders and up-skill in record time.
- Grow: Expand your career in the fast-growing Takealot Group: takealot.com, Superbalist.com and Mr D Food. We like to promote from within: Here’s your chance.
What does the Discovery Engineering team do?
The Discovery backend engineering team is primarily responsible for the engineering of backend systems related to how our customers discover products on the Takealot Shopping Site and Apps (exposing functionality for search, product information, landing pages, deals, product vendor feeds, advertising, etc) – typically providing REST and RPC API python microservices for our web and app shopping frontend teams, and also for integration to marketing aggregators, advertising feeds and CRM providers.
What do the Discovery Team engineers have to say?
Enrique: “What excites me is that the work we deliver affects a vast user base, hence one needs to think and problem solve at scale. Working in Discovery backend will challenge you in all areas of your job, not just the coding aspect. This includes interacting with stakeholders, writing up technical specifications for a project, working with various teams and much more. I enjoy the fact that we get to work on a wide range of tools for the business, from BFF’s, all the way to internal tools for marketing. Many roles these days become too focused and specialised and end up not being challenging enough.”
Francois: “I like working on a wide variety of interconnecting backend services and seeing the real world results of my efforts. I also appreciate the challenges of finding better and more efficient ways to scale those services by orders of magnitude and understanding how the raw limitations of network and processor speed require smarter approaches to processing large volumes of traffic and data. As a bonus, I get to watch lots of live graphs and feel the speed around the racetrack of a daily cycle.”
Scott: “This is a great space to be in. And we do this all on a really cool and interesting tech stack; Python, React, TypeScript, MySql, Postgresql, Kafka, Docker, GitHub, Jenkins, Helm, Sonarqube (and did we mention K8s?). Things that are important to us are; scalable architecture, writing clean and efficient code, unit testing, morning stand-ups, Slack chats, knowledge-sharing, and coffee!”
Ivan: “I have been at Takealot for just under three years now and have found myself being consistently challenged with new and exciting tasks within the Discovery Backend Team. Every time I think I have understood all there is within the team, a new project will come up and that idea will quickly vanish. Working in the Discovery Backend Team can be challenging but very rewarding once you see the end results, especially when you hear customers talking about it.”
Who’s who in the tech space
This position reports to the respective team’s manager.
As a Senior Software Engineer, you will be someone whose expertise directly translates into the development of 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.
Your mission, should you choose to accept it:
- 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
- Manage change in technologies in the division with due diligence
- Design solutions for complex problems with difficult decision trade-offs, typically system- or domain-wide
- Lead architecture proposals for your division’s domain
- Participate in and collaborate on architecture proposals across engineering
- Own the maintenance of architecture documentation in the team
- Support alignment of architecture across the organisation
- Be on-call for systems owned by your team
- 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 resolution of issues which impact multiple teams
- Triage and respond to hot-desk support tickets
- Assume technical lead on major incidents impacting the division
- Lead technical analysis, and design specification documentation
- Assist with sprint planning, work estimation, and project prioritisation
- Assist the product teams in helping to determine priorities for technical projects
- Support, challenge existing, and define new engineering processes and directives
- Lead interviews and assess potential engineering candidates for skills and fit
- Review, and contribute fixes and content to internal documentation
- React to technology trends, identifying risks and opportunities for your divisions technologies, systems, and domains
- Mentor, coach, and share knowledge with your peers in your division
- 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
- Take on technical project leadership roles for projects across the division
- REST and RPC API implementation and maintenance (using Python)
- Develop and maintain automation tests
- Peer review of team code
- Liaise with various internal stakeholders to discuss project requirements, progress etc.
- Analyze and understand business requirements and OKRs (Objectives and Key Results) and produce technical specifications that meet these requirements
Qualifications & Experience:
- Bachelor’s Degree or Advanced Diploma in Computer Science, Mathematics or Engineering or equivalent experience in software development.
- In the event that you do not have a Bachelor’s Degree or an Advanced Diploma (Computer Science, Mathematics or Engineering), an equivalent experience requirement must be met, which equates to a minimum of 8 years’ of Software Development experience
- A thorough understanding of computer science fundamentals, including object-oriented design, data structures and algorithms
- 5 to 10 years in a software development role
- Experience in writing robust, efficient production code
- Experience with SQL database systems
- Experience with development in a Linux environment
- Proficient in a strongly typed opensource language such as Python, Java, Golang, etc
- Open to diversifying language skill set
Experience in the following will be advantageous:
- MySQL, PostgreSQL, MS SQL
- Memcached, Redis
- Message Brokers, Queues and PubSub systems (e.g. Kafka and RabbitMQ)
- Containerisation (e.g. Docker)
- Orchestration (e.g. Kubernetes)
- GitHub, Travis CI, Jenkins
- AWS, GCP, Azure
Let’s talk about life @ Takealot Group
- The power is in your hands: We offer a market-related, Total Remuneration Package which allows full flexibility according to your needs. Go on, be the master of your own destiny.
- No doors: We aren’t fans of stuffy offices or siloed work environments. See someone you like? High five, collab and make something great.
- Remote working: Love water cooler chats and working from home? Takealot.com offers a hybrid working model for the best of both worlds.
- Mentorship programme: We aren’t kidding when we say the people with the best people win. Now’s your chance to be one of the best, by learning from the best.
- Naspers Tech Community & Online Learning: Share ideas and grow with global industry leaders who are all just a Slack message away. Love to learn? Up-skill with free access to courses on MyAcademy, Udacity, Coursera and more.
- Good times: Get to know the other extraordinary minds at takealot.com during regular social events and out-of-office activities (think hikes, think mini golf, think good times)
- Staff discount: Millions of products across 28 departments. What more could you ask for?
- Birthday leave: Cake Day all the way. Enjoy your day off – you deserve it.
- Right tools, right job: Mac or Linux, two monitors or one. Whatever your preference, you’ll work on the latest tech, off the latest tech.
- Help when you need it most: Confidential counselling, legal support and financial guidance, for free, anytime, anywhere.
- Tech stack (for days): ReactJS, Python, Scala, Kotlin, Swift, Google Cloud, Kafka, Redis, Kubernetes and all things machine learning. If you build it, they will come.
- Free parking: No more 5km fun runs to your desk (unless you want to).
Like what you see? If you meet the above you are an Extraordinary Mind. Apply today!!
Takealot is an Equal Opportunity Employer. Applicants from previously disadvantaged groups and people with disabilities will be given preference