This role can be in office or fully remote.

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 newfeatures. While we don’t promote after-hours work as part of the regular workday, we run a 24/7business 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

Qualifications & Experience:

  • ? Bachelor’s Degree or Advanced Diploma in Computer Science, Mathematics, or Engineering orequivalent experience in software development.

  • ? A thorough understanding of computer science fundamentals, including object-orienteddesign, 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:

  • ? JavaScript, React, jQuery

  • ? 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

Desired Skills:

  • Python
  • Java
  • Javascript
  • Engineering Software
  • Software architecture
  • Development Of System Software

Learn more/Apply for this position