Software Engineer (Python)

takealot.com

Stop applying one at a time.

JobAlertsZA auto-applies to South African jobs like this one for you, overnight. Upload your CV once — we do the applying.

Start free — we apply for you →

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 disaggregate 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.
  • 3 to 6 years in a software development role for a mid-level role
  • 5 to 10 years in a software development role for a senior 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

Experience in the following will be advantageous

  • Familiarity with microservices architecture
  • Experience working in an Agile environment
  • 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
Auto-apply to this jobView original posting ↗
Software Engineer (Python) at takealot.com · JobAlertsZA