29.07.2024
Senior Software Development Engineer
Network Contracting Solutions
South Africa, Durban
Our client is seeking a Senior Software Development Engineer with 5+ years of experience.Job Information SummaryEducation Requirements:Essential:Grade 12 - MandatoryBSc in Electrical/Electronic/Mechatronic Engineering or BEng in Computer/Biomedical/Electronic or equivalent.Other advantages:Registration with a professional society.Experience & Skills Requirements:Essential:Minimum of 5 years’ experience in programming languages such as C++, C, C#, Visual Studio, and Arduino IDE.Experience in software development, implementation, and maintenance of 2 or more projects/products.Minimum 2 years’ experience in system and architecture design.Experience in software and hardware integration and testing.Experience in software & firmware development and integration into hardware.Proficiency with software configuration management tools, defect tracking tools, and code reviews.Familiarity with adhering to a Quality Management System (QMS), especially for Medical Devices certification.Experience with source control systems (e.g., Git).Experience in software documentation as part of the Software Development Life Cycle (SDLC).Full stack development experience.Experience in managing a team of developers.Beneficial:Advanced computer literacy, including MS Project.Experience with Step 7 Scada.Knowledge & Abilities:Essential:Proficient in C++.Knowledge of the Software Development Life Cycle (SDLC).Familiarity with documentation (specifications and quality management system).Experience with unit testing, performance analysis, resource loading, and end-to-end integration tests.Exposure to API integration.Advantages:Knowledge of medical devices and regulatory compliance.Understanding of wireless communications.Job Purpose:Design, develop, and maintain software and hardware applications, software systems, and architectures.Manage or co-manage the software department, including resource management.Key Result Areas:Design & Develop Software/Hardware Applications:Create specification documents and project plans.Generate functional, architectural, and interface documents.Develop software applications.Perform regular testing and reviews with the project team and/or end users.Produce Acceptance Test Instructions (ATI) and Acceptance Test Results (ATR).Ensure proper validation of issued software to production.Deliver outputs on time.Design & Develop Software/Hardware System Architectures:Analyze needs and propose system architectures.Generate development documentation.Design system architecture.Initiate development of specific applications.Deliver outputs on time.New Technology:Lead efforts in new software development, particularly in image processing and visualization.Act as a mentor and expert in new technology areas.Software and Hardware Maintenance and Support:Maintain existing software/hardware by fixing bugs and updating documentation.Support production and service personnel as required.Adhere to change processes.Compliance & Regulatory Related:Log all new and updated software applications/modules to VCS/GitHub.Oversee general PC hardware and software needs of the development department.Ensure adherence to company policies like OHS.Perform tasks such as electronic firmware hardware C&I as required.Adhere to processes required to maintain certification and create new processes if needed.Provide inputs to technical files and ensure compliance with development processes.Team Mentorship/Management:Lead and manage development tasks and projects.Mentor team members to ensure tasks and projects are completed timely and with high quality.Participate in the development and implementation of team Individual Development Plans (IDPs).Conduct performance appraisals and monitor KPIs.Provide 360° feedback and score direct reports and manager on a 5-point scale.#J-18808-Ljbffr
Attention! You will be redirected to another site