Requirements:NQF level 7 (BEng, BTech or Advanced Diploma) in Electronic Engineering, Computer Science or similarMid-level (2-4 years) preferredSkills:The following skills will be essential for success in this role:Demonstrated ability to solve programming problems with high-quality codeProficiency writing software in C#, or a similar language such as Java or SwiftAbility to write embedded software and tests in C or C++A passion for quality, a keen eye for detail, and a methodical approach to testingA desire to contribute to multiple concurrent projects, with effective prioritisation and time management skillsExcellent collaboration and communication skills, to operate successfully within a local and international development teamAbility to work independently under only general guidanceAnd 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 designElectronic testing using equipment such as signal generators, oscilloscopes and spectrum analysersProgramming in Python or MATLABCommunications protocols such as UART, SPI, I2C, and CAN, and the ability to test and debug these using tools such as logic analysersARM microcontrollers from ST, Nordic, Texas Instruments and NXPEmbedded platforms such as Raspberry Pi and ArduinoVersion control tools (e.g. Git)Agile (Scrum) software development methodologyMechanical design and 3D printingResponsibilities: Summary: Take ownership of software testing for consumer radar productsHelp establish a software testing team within the company that will serve multiple products in developmentStreamline product development by developing well-oiled testing infrastructure, such as:Writing automated test software in C# and other languagesDeveloping 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 projectsEnsure adequate test coverage of the software by contributing to requirements analysis, and spearheading the creation of software test plansHelp development teams find bugs and their root cause by following a methodical approachContribute to the development culture of the company by ensuring that testing is prioritised in the development cycleYou may also:Write automation and data processing scripts in Python or MATLABDesign mechanical fixtures and prototypes that will aid development and testingTravel to the international offices in the USA, Canada and TaiwanPlease note only shortlisted candidates will be contacted. If you have not heard from us in 2 weeks, please consider your application unsuccessful.