Requirements: South African citizenship or valid work permit. B Tech / B Sc degree in Computer Science or a related field. 3+ years' experience in the development of PC software applications. Hands-on development experience in both C# (.NET) and Python. Experience designing and working with relational databases (e.g. MySQL). Preferred Experience: Development of automated test systems in a production or manufacturing environment. Instrument control and automation (e.g. SCPI, VISA/PyVISA, GPIB, LAN/USB instrument interfaces). Implementing tests against formal test specifications and generating test reports with requirements traceability. Configuration management and product baseline control, or integration with configuration or production management systems. Desktop user interface development (e.g. WPF, WinForms) with a focus on usability for production operators. Managing and analysing large test datasets, e.g. for yield tracking or statistical process control. Exposure to RF, electronics, aerospace or space industries and associated quality standards (e.g. ECSS, AS9100, ISO 9001). Technical Skills: Proficient in C# (.NET) and Python. Strong database skills (e.g. MySQL): schema design. Software Development Life Cycle (SDLC) knowledge, including version control (e.g. Git), testing and documentation. Software architecture and design skills, with an emphasis on reliable, maintainable and traceable systems. User interface design and development skills. Ability to interpret technical specifications and translate them into robust software. Ability to quickly learn new technologies and absorb information. Excellent analysis skills Strong attention to detail and a commitment to quality Resourcefulness/initiative Adaptability Team player A customer-focused approach Good communication skills (oral & written) Duties will include, but not limited: Test software development: Design, develop and maintain proprietary production test software, including Python test scripts and C# PC applications that control test equipment and automate test sequences. ATS implementation: Collaborate with product developers to translate Acceptance Test Specifications (ATS) into production tests, ensuring that every ATS requirement is fully implemented and traceable. Test equipment integration: Work with engineers in the development of test equipment and fixtures controlled by PC-based test applications, including RF test instrumentation. Test data management: Design, implement and maintain databases (e.g. MySQL) for the storage and retrieval of the large volumes of data generated by production testing, ensuring data integrity, traceability and performance. Configuration verification: Interface production tests with the product configuration database to, among others, verify that the configuration of each unit is aligned with the correct product baseline. Test reporting: Generate Acceptance Test Reports (ATRs) automatically from stored test data, in formats suitable for internal review and customer delivery. User interfaces: Develop clear, robust operator interfaces for test stations that improve throughput and minimise the risk of operator error. Integration: Integrate test software and data systems with other functions of the business, such as production, quality assurance and engineering. Software quality: Apply sound engineering practices, including version control, code reviews, documentation and change control, so that test systems stay reliable as products and specifications evolve. Support: Provide production, engineering and customer support, including investigating test failures and data queries. In return a competitive salary is on offer