View job here

Overall Job function

Contribute to the design, development and maintenance of software systems for engineering, under the guidance of senior software engineers. This includes automated test systems, reporting systems, PC-to-hardware communications and hardware programming tools for aeronautical products. The role also supports the team's CI/CD, dashboard and server infrastructure.

Job Responsibilities

  • Develop and maintain PC-based applications for automated testing, reporting, PC-to-hardware communications and hardware programming, based on hardware communication specifications and client requirements. Apply industry-standard design patterns, testing methodologies, and appropriate data structures and algorithms so that software is efficient, scalable and maintainable.
  • Write and maintain production and verification test scripts for aeronautical products, using the in-house test tool, based on specifications from design and system engineers.
  • Assist with debugging production test failures by analysing automated test logs and extracting results using SQL.
  • Follow formal software life cycle and release processes, producing documentation as required by the configuration department.
  • Maintain and develop CI/CD pipelines and scripts in Jenkins and GitLab. 
  • Maintain and develop dashboards in Grafana.
  • Assist with setting up and administering backend servers.
  • Assist with evaluating new technologies, such as Docker for containerized build and test environments.

Job Requirements

Essential

  • BSc in Computer Science, Computer or Electronic Engineering, or a related qualification.
  • Solid understanding of software development fundamentals: object-oriented design, data structures, algorithms and unit testing.
  • Proficiency in Python or C++, including debugging in an IDE (breakpoints, variable inspection, call stacks, stepping through code).
  • Working knowledge of SQL.
  • Willingness to learn complex hardware systems and translate engineering test specifications into automated test scripts.
  • A team player who is self-motivated, with good verbal and written communication skills.

Advantageous

  • Experience with Delphi.
  • Exposure to JavaScript, VBScript or PowerShell.
  • Familiarity with Git, CI/CD tools and Windows server administration.
  • Exposure to embedded or electronic systems.

 

Affirmative Action and/or EE candidates will be given first preference as per our employment equity strategies.

Only shortlisted candidates will be corresponded with.