About the job Senior Software Developer
Job Purpose
As a Senior Developer your deep specialized knowledge to create, test and document high quality software will be a key success factor. Your collaborative technical guidance and mentorship to others will ensure that high quality of code and performance is maintained, as well as contribute to design patterns, libraries, frameworks and processes. You will be part of a team that provides technical solutions to enterprise problems and delivers high performing software for a fast-paced consumer environment. You will apply DevSecOps principles, and employ proper source code control, infrastructure security and necessary automation. Work closely with Business Analysts and Solution Architects, as well as other cross functional teams and stakeholders in co-creating a sustainable application experience.
Job Objectives:
Apply the attributes of the Job Purpose, as needed, to aspects (of software applications) such as the front-end, back-end, interface-based, data persistence, etc.
Code, Test and Debug Software:
- Ensure that coding mistakes are found and eliminated at the earliest possible point, by using the best available coding and debugging techniques, unit testing and TDD (where applicable), smoke testing and further testing, and interaction with QA professionals.
- Apply DevSecOps principles by automating as much of code standards checks, built-in security and testing as possible.
Deploying application to live environment:
- Work in environments that may employ various approaches such as Scrum, Kanban, CI/CD, etc.
- Gain a deep understanding and ability to employ and assist with the best available deployment approaches.
Research and Development:
- Keep improving your understanding of the ever-changing software industry.
Qualifications and Experience:
- Matric
- 3 Years IT Degree/Diploma or Matric with extensive, relevant and demonstrable job-related experience in writing robust, efficient production code.
- Experience in general software development including testing and standards development with experience in backend, web and mobile technologies - (essential). Including the practical ability in developing applications using multiple programming languages, frameworks and technologies.
- Experience developing in at least one of Java, J2EE, C++, C, Golang, (Preferred) in a front-end focused test-driven environment.
- A Senior developer with specific exposure to mentoring and coaching a team of junior - intermediate developers - (essential).
- Experience with AWS, Stateless architecture design, Micro Services and the understanding of the strengths and weaknesses thereof.
- Any additional experience in technical solutions support with exposure to both waterfall and agile projects in DevOps with the Agile/Scrum Tool set, preferably Atlassian - (highly beneficial).
Tech stack environment:
- Development: Go Lang, Java, Node.Js, Bash, React.js
- Containers: Docker, Kubernetes, ECS
- Data: MongoDB, ElasticSearch, SQL,
- Cloud: AWS Cloud technologies (EC2, ECS, EKS, S3, CloudWatch).
- Integration: Payment gateway, POS,
- CI/CD: Jenkins, AWS CodePipeline,
- Testing: Selenium
- Source Code Management: Git