Takealot.com, South Africa’s leading online retailer, is looking for a highly talented Senior Backend Engineer 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, 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, and Mr D. 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.
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 that 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 division's 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
The skills we need:
- Solutions-oriented, can-do attitude, and high energy
- Strong analytical and critical thinking, using data to inform decisions
- Ability to dis-aggregate and structure solutions to ambiguous problems
- Solid quantitative skills
- Ability to interview and interact professionally, with internal and external people
- Capability to present ideas succinctly, in writing and verbally
- Versatile and with the appetite to learn by doing
Qualifications & Experience:
- Bachelor's Degree or Advanced Diploma in Computer Science, Mathematics, or Engineering or equivalent experience in software development.
- 5 to 10 years in a software development role
- If 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
- 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
- JavaScript, React, jQuery
Let’s talk about life @ Takealot Group
- The power is in your hands: We offer a market-related, Total Remuneration Package that 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: Enjoy the flexibility of working from home while having the option for in-office interactions. Takealot.com provides a fully remote setup with the choice to visit the office to relish in those water cooler moments when desired.
- 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: Takealotmore subscriptions and 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.