Principal Software Engineer needed at Affinity Health

Save

Job title : Principal Software Engineer

Job Location : Western Cape,

Deadline : May 10, 2025

Quick Recommended Links

Job Description:

  • On behalf of our client Affinity is seeking a Principal Software Engineer on a permanent basis. This position is responsible for designing, executing, assessing, securing, and troubleshooting software programs, including coding, configuring, and documenting specifications throughout the project life cycle. It also involves day-to-day operations and off-hours support for production issues. The Principal Software Engineer oversees multiple feature teams, providing guidance and reinforcing secure software development principles.

Responsibilities:

  • Collaborate with Architecture Team on development of overall application strategy, standards, capability needs, and lifecycle management
  • Evaluates priorities, design goals, risks, options, and compromises and recommends the most suitable approach.
  • Familiar with architectural patterns contributes to the production of secure, reliable, manageable, and high-performance solutions.
  • Perform architectural modelling to assist in determining solution efficacy.
  • Performs estimating, prioritizing, planning and coordinating of work to reliably and consistently deliver according to plan.
  • Direct research on emerging application development software products, languages, and standards in support of procurement and development efforts.
  • Performs detailed technical design of proposed solutions.
  • Evaluates relevant risks and determines mitigation strategies.
  • Identify requirements and manage the procurement process and vendor selection for new technologies.
  • Develop and review software programs, code, and unit tests for new and existing applications and systems, ensuring functional and non-functional requirements are met.
  • Develop, and maintain supporting documentation as required.
  • Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members.
  • Recommend, schedule, and perform software improvements and upgrades for optimal performance of company workstations.
  • Perform troubleshooting and root cause analysis in support of incident and problem management. Recommended options to address identified issues.
  • Participates in development, implementation, and maintenance of plans to ensure continuation of critical operations in the event of a disaster or interruption.
  • Provides ongoing system maintenance and monitoring to ensure adherence to SLAs.

Qualifications:

  • 10+ years of relevant experience in software development, with expertise in .NET/.NET Core/ASP.NET/MVC, JavaScript/Typescript, Node.js/Express, and MS SQL Server.
  • Extensive experience with Azure DevOps, Docker, Message Brokers (RabbitMQ), and NoSQL (MongoDB).
  • Proficient in automated software engineering, including CI/CD processes, testing frameworks such as jMeter, xUnit, Selenium, and tools like Postman for API testing.
  • Strong leadership and coaching skills to provide oversight and guidance across technical teams.
  • Demonstrated ability in project management and agile methodologies, ensuring project alignment and team performance.
  • Expertise in developing web-based applications and API services, with a focus on microservices and distributed system architectures.
  • Deep understanding of AAA (authentication, authorization, access control) principles and related technologies such as OpenID Connect, SAML, OAuth.
  • Experience in architectural design and modeling with an emphasis on secure coding practices to minimize the risk of unauthorized access and information disclosure.
  • Knowledgeable in functional, unit, and shift-left testing principles and methodologies.

How to Apply for this Offer

Interested and Qualified candidates should Click here to Apply Now

  • ICT jobs