Requirements: NQF level 7 (BEng, BTech or Advanced Diploma) in Electronic Engineering, Computer Science or similar Mid-level (2-4 years) preferred Skills : The following skills will be essential for success in this role: Demonstrated ability to solve programming problems with high-quality code Proficiency writing software in C#, or a similar language such as Java or Swift Ability to write embedded software and tests in C or C++ A passion for quality, a keen eye for detail, and a methodical approach to testing A desire to contribute to multiple concurrent projects, with effective prioritisation and time management skills Excellent collaboration and communication skills, to operate successfully within a local and international development team Ability to work independently under only general guidance And the following skills and knowledge would be highly advantageous: Unit testing and Test Driven Development, using frameworks such as Google Test (gtest) Continuous Integration (e.g. Jenkins pipelines) Electronic/embedded hardware design Electronic testing using equipment such as signal generators, oscilloscopes and spectrum analysers Programming in Python or MATLAB Communications protocols such as UART, SPI, I2C, and CAN, and the ability to test and debug these using tools such as logic analysers ARM microcontrollers from ST, Nordic, Texas Instruments and NXP Embedded platforms such as Raspberry Pi and Arduino Version control tools (e.g. Git) Agile (Scrum) software development methodology Mechanical design and 3D printing Responsibilities: Summary: Take ownership of software testing for consumer radar products Help establish a software testing team within the company that will serve multiple products in development Streamline product development by developing well-oiled testing infrastructure, such as: Writing automated test software in C# and other languages Developing embedded testing systems, comprising electronic designs and firmware written in C/C++ Driving a long-term strategy for automated testing in the Stellenbosch team to benefit all its projects Ensure adequate test coverage of the software by contributing to requirements analysis, and spearheading the creation of software test plans Help development teams find bugs and their root cause by following a methodical approach Contribute to the development culture of the company by ensuring that testing is prioritised in the development cycle You may also: Write automation and data processing scripts in Python or MATLAB Design mechanical fixtures and prototypes that will aid development and testing Travel to the international offices in the USA, Canada and Taiwan Please note only shortlisted candidates will be contacted. If you have not heard from us in 2 weeks, please consider your application unsuccessful.