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.