Principal Software Engineer needed at Affinity Health
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