Software Engineer (Python)
takealot.com
About the role
Overview Takealot.com, South Africa's leading online retailer, is looking for a highly talented Software Engineer (Python) 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.
Why Join Us?
- 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, and Mr D. We like to promote from within – here's your chance.
Who You Are 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.
- 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 dis-aggregate and structure solutions to ambiguous problems
- Solid quantitative skills
- 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
- A thorough understanding of computer science fundamentals, including object-oriented design, data structures, and algorithms
- Experience in writing robust, efficient production code
- Proficient in a strongly typed open source language such as Python, Java, Golang, etc.
- Exposure to RESTful APIs and web services.
- Experience with SQL database systems
- Experience with development in a Linux environment
Advanced Experience (Advantage)
- Familiarity with microservices architecture
- Experience working in an Agile environment
- My SQL, Postgre SQL, MS SQL
- Memcached, Redis
- Message Brokers, Queues, and Pub Sub systems (e.g., Kafka and Rabbit MQ)
- Containerisation (e.g., Docker)
- Orchestration (e.g., Kubernetes)
- Git Hub, Travis CI, Jenkins
- AWS, GCP, Azure
- Java Script, React, j Query
Life at 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
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free