Role Overview As a Computer Engineer, you will play a central role in the design, development, and optimisation of embedded systems and hardware/software interfaces underpinning the company's core product range. This is a hands-on technical role suited to an engineer equally comfortable at hardware level and within software environments.Key Responsibilities Design, develop, and test embedded software and firmware for hardware systems across the product portfolio. Develop and maintain software at the hardware/software interface, including device drivers, BSPs, and low-level system code. Collaborate with hardware engineers to define system architecture, conduct design reviews, and support PCB bring-up and validation. Write clean, efficient, and well-documented code (primarily in C/C++, with Python for tooling and scripting). Develop and execute unit, integration, and system-level test plans to ensure product reliability and performance. Support fault diagnosis, root cause analysis, and resolution of field and lab issues. Maintain thorough technical documentation in line with industry standards and internal quality frameworks. Skills & Experience Degree-level qualification in Computer Engineering, Electronic Engineering, Computer Science, or related discipline. Proven experience in embedded systems development, including firmware and RTOS. Strong proficiency in C/C++; Python desirable. Experience with microcontrollers/microprocessors (e.g. ARM Cortex-M). Knowledge of communication protocols CAN, UART, SPI, I2C, and/or Ethernet. Familiarity with Git and agile methodologies.
Computer Engineer
RECRUITPRO SOLUTIONS
johannesburg, johannesburg
Published 2 days ago
Report job