Job Brief

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.

Responsibilities

  • 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 which 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 divisions 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 or equivalent experience in software development.
  • In the event that 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
  • 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
  • Golang
  • SQL
  • Linux
  • JavaScript
  • React

About The Employer:

Reverside is a Global ICT company focusing on Digital Engineering, Integration, Cyber-Security, Cloud and Digital Transformation services with delivery centres in Johannesburg and Cape Town, South Africa and Gurgaon, India. Reverside has its Global Headquarter in South Africa and is a B-BBEE Level 1 IT consulting & services organization. Reverside was founded in 2006 and has since grown to a strong team of over 300+ consultants, serving more than 40+ active clients globally.
Website – [URL Removed]
LinkedIn – [URL Removed]

Learn more/Apply for this position