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]