Intermediate Software Developer - Hybrid Role Based in Cape Town!
Job Description:
Role summary
As a Software Developer, you will play a critical role in ensuring the quality and reliability of our software products while driving efficiency and automation in our development processes. You will work closely with the development team to implement and maintain robust testing frameworks and CI/CD pipelines.
Responsibilities
- Testing: Develop and execute comprehensive test cases to ensure the quality and reliability of the codebase.
- CI/CD Implementation: Establish and maintain continuous integration and continuous deployment pipelines for efficient software delivery.
- Adhere to best practices when it comes to security (secret keys / tokens),
- Design, Build, and Maintain Efficient Code: Develop code for efficiency, reusability, and reliability, ensuring maintainability and scalability.
- Translating Business Requirements into Technical Solutions: Convert business objectives into technical applications aligned with organizational goals.
- Improving System Performance, Security, and Scalability: Enhance system performance, security, and scalability through strategic solutions.
- Maintenance of Existing Systems and Processes: Conduct regular maintenance on existing systems, updating them to meet evolving standards.
- Identifying and Mitigating Bottlenecks and Bugs: Proactively identify and resolve bottlenecks and bugs, optimizing system performance.
- Coaching and Mentoring Junior Developers: Provide guidance and support to junior developers for their professional growth.
- Crafting and Consuming APIs: Design and implement APIs for seamless data flow and integration across applications.
- Adhering to Best Practices in Coding and Deployment: Commit to industry best practices in coding, testing, debugging, and deployment.
- Staying Informed on Industry Trends: Keep abreast of the latest industry trends in web development, adopting new technologies as appropriate.
- Problem Solving and Troubleshooting: Effectively identify and resolve development issues, ensuring smooth system operation.
Qualifications & Experience
- Bachelor's degree in Computer Science, Engineering, or related field.
- Experience with performance testing tools (e.g., JMeter, Gatling).
- Knowledge of containerization technologies (e.g., Docker) and orchestration tools (e.g., Kubernetes).
- Familiarity with cloud computing platforms (e.g., AWS).
- Understanding of Agile development methodologies and practices.
- Proven experience as a software developer with a focus on testing and quality assurance.
- Hands-on experience with test automation frameworks and tools (e.g., Selenium, PHPUnit, Postman).
- Strong understanding of CI/CD concepts and experience with CI/CD tools (e.gDocker, GitHub CI/CD).
- Familiarity with version control systems (e.g., Git) and code review processes.
- Excellent analytical and problem-solving skills with a keen attention to detail.
- Effective communication and collaboration skills in a remote work environment.
- Strong OOP knowledge.
- 5+ years of NodeJS, ExpressJS, MongoDB experience or related frameworks.
- REST APIs that meets performance and security standards.
Required Skills:
Test Automation Performance Testing jMeter Debugging Continuous Integration Pipelines Cloud Computing Scalability Version Control Assurance Selenium Mentoring Kubernetes Web Development Reliability Test Cases Business Requirements Problem Solving Quality Assurance Coaching Developers MongoDB Github Docker Automation Integration Troubleshooting Git Security Computer Science Software Testing Maintenance Design Engineering Business Communication Science