Job Openings
Senior Developer
About the job Senior Developer
Senior Developer
Minimum Requirements:
- 8-10 years experience in a software development role
- Bachelor's Degree (NQF level 7) in Computer Science, Engineering, or a related field
- Azure/AWS certifications advantageous
- Experience with C#, .NET, .NET Core, Docker, Angular, Flutter, Node.js, javascript, SQL, Web API (JSON)
- Proficiency in multiple programming languages with an understanding of OOP principles
- Demonstrates a comprehensive understanding and effective implementation of the Software Development Life Cycle (SDLC)
- Familiarity with the .NET Framework, including its applications and components.
- Experience in SQL Server, Angular, Flutter, Nodejs
- AKS, EKS, container orchestration a plus
- Hands-on experience with one or more JavaScript frameworks
- Version control systems such as Git, Bit Bucket, SVN, and TFS
- Unit testing, integration, and functional testing
- Cloud environments (Azure, AWS)
- Testing and QA
- Security
- Performance optimization
- Agile and scrum
- Emotionally intelligent, communicates with impact, collaborates effectively and solutions solutions-focused
Responsibilities:
Design, Implement, Test, and Deliver Code
- Design and implement clean and efficient code, focusing on performance optimization and security best practices.
- Design and implement tests for quality assurance, leading and participating in code reviews.
- Proactively identify and resolve software bugs, ensuring reliability and stability through regular maintenance.
- Embed security best practices into the design and implementation to mitigate vulnerabilities.
Software Development and Architecture
- Lead the design and development of high-quality, scalable software applications aligned with business requirements.
- Contribute to architectural decisions by selecting appropriate technologies, frameworks, and design patterns for scalable and maintainable systems.
Cross-Functional Collaboration
- Collaborate with QA teams to develop and execute comprehensive test plans, ensuring software reliability and security.
- Assist the support team with troubleshooting problems and take ownership of assigned tickets.
- Provide technical leadership within the development team, guiding and mentoring junior and intermediate developers.
- Take a leadership role in project planning, offering technical insights and ensuring successful execution of development projects.
- Share knowledge and best practices to elevate the team's overall skills and capabilities.
- Participate in the review of technical assessments to enhance the recruitment process.
Maintenance of New and Existing Software
- Maintain and upgrade existing systems on an ongoing basis to ensure efficiency and relevance.
Innovation and Continuous Improvement
- Write comprehensive unit tests and integration tests, and perform debugging to identify and rectify software issues.
- Collaborate with quality assurance teams to develop and execute testing strategies, ensuring software reliability, security, and performance.
- Stay updated with the latest development software, technology trends, and best practices, sharing knowledge with the team for process improvement and innovation.