Software Development Engineer C++ (Johannesburg)

Min Requirements:

  • Electrical engineering related degree from a recognized institution
  • C, C++
  • Matlab
  • Embedded processors
  • Computer Literacy – Advanced Level; Competency in Microsoft applications including Word, Excel

Additional Skills:

  • Linux
  • C# and other development languages
  • Radio systems
  • Control algorithms
  • Planning algorithms
  • Mapping and GIS systems
  • QT
  • Field bus interfaces (CAN, RS232, RS485, SPI, Ethernet)
  • NXP IMX series processors
  • Networking

The role is for development of our V2x solution for use in manned interactions with automated mobile equipment in the mining industry. The solution is an inhouse built platform with various partners providing pieces to the final system. The role will cover the following key responsibilities:

  • Assistance in development of scopes of work
  • Assistance in risk assessment on functional software logic
  • Development in line with safety standards (IEC 61508, ISO26262, ISO13849)
  • Code review of peer’s development
  • Experience in version control software such as bitbucket
  • Development of software
  • Software optimization
  • Algorithm optimization and development
  • Server architectures
  • Communications architectures
  • Bootstrap development and remote upgrading
  • System integration (hardware / firmware / software / report)
  • Designing of unit tests and performing unit testing on software
  • Complete system testing
  • Development of documentation for software systems
  • Bug fixing and management or