Principal Software Engineer (Group Fulfilment)
Takealot
South Africa
Salary not specified - Full-time
Job Description
About the Role
We are an energetic team that is fully responsible for all the systems required to support the Takealot group's delivery network, as well as the unique challenges that come with logistics and scale. We have adopted a microservices architecture to both isolate our logic and enable scale. We follow event-driven architecture as well as utilise a graph database to model our delivery network. We are currently working through unique problems in the logistics space and are actively researching the usage of the actor model design pattern and graph traversal optimisation.
Responsibilities
- This position reports to the Software Engineering Manager.
- Developing and optimising systems to manage both parcel and food delivery throughout South Africa
- Working with the business to improve processes to allow for more efficient deliveries
- Researching and defining solutions
- Working predominantly on open-source platforms
- End-to-end ownership of solutions
- Solid communication skills
- Proactive
- Ability to adapt to change
- Problem-solver
- Solutions-oriented
- Willing to learn as well as teach others
- Python
- Scala
- Java
- Play Framework
- Angular
- Postgres
- Kafka
- Cassandra DB
- Amazon Web Services
- Google Cloud
- Graphite and Grafana
- Git
Requirements
- Degree in Computer Science or a similar qualification
- 10 years of experience in writing robust, efficient production code
- Experience with SQL database systems
- Experience with development in a Linux environment
- Proficient in languages such as Java, Scala, Angular, Python, or C#
- Open to diversifying language skill set
- In the event that you do not have a Bachelor’s Degree or an Advanced Diploma, an equivalent experience requirement must be met