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.