SARAO has an excellent career opportunity in our Engineering Software division for a Software Engineer. The primary responsibility for Software Engineering with a focus on user interface development. The successful incumbent will report to the Functional Manager: Software.

Minimum education required:

  • B.Eng. / B.Sc. / B Tech or higher in Computer Science or Engineering with a software focus or related field

Minimum work experience required:

  • 5+ years of experience in a software engineering environment, preferably in an engineering development project environment with a strong GUI software focus
  • experience in specification, evaluation, design, development, testing, deployment, commissioning, release and support of Graphical User Interfaces
  • technical knowledge of development in Linux operating systems (experience in system administration of such will be beneficial)
  • technical experience in architecture design and development of large software projects (experience with control and monitoring will be beneficial).
  • A relevant Masters’ degree will be considered equivalent to 3 years of experience.

Job specification:

  • Prototyping and software development od the telescope graphical user interfaces (all stages off the full software development life-cycle may be encountered) from requirement analysis, architectural input, software design and development, to testing, integration and deployment
  • Provide hands-on technical support in the system administration of the GUI hardware platforms, deployment environments and processing, which may include site visits to the Karoo
  • Collaborate with departmental stakeholders to support engineering, commissioning, operations and early science activities/
  • Assist in maturing of software development and quality assurance processes towards greater standardisation and improved long-term maintainability and robustness
  • Facilitate coding standard compliance and code reviews, which include mentoring junior engineers
  • Compile document sets
  • Provide project management and progress reporting input as required by the Functional Manager and for team communication
  • Participate in development of project schedules and activities
  • Participate in the development of budgets and cost/benefit analysis for compliance with project procurement policies
  • These tasks will be re-evaluated on an on-going basis and may change according to the needs of the project.

Desirable additional education, work exp. & personal qualities:

  • Knowledge of front-end technologies such as AngularJS, web sockets, RESTful APIs and back-end systems developed using the Python programming language will be beneficial
  • Understanding and experience in implementation of project management and system engineering principles
  • Experience with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control and build systems
  • Experience with quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality procedures
  • Willingness to play a leading role in mentoring juniors
  • Ability both to work independently and be a good team player
  • Ability to participate and thrive in a collaborative environment
  • Self-motivated and an ability and willingness to self-train and up-skill independently
  • Keen attention to detail
  • Strong oral and written communication skills

The ideal candidate will have the following competencies:

Ability

  • work in a team
  • work without supervision
  • programming of device drivers under linux
  • programming embedded software

Experience

  • willingness to participate in improving software development processes and software quality procedures
  • experience with test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems
  • development, testing, deployment, commissioning, release

Knowledge

  • system engineering

Learn more/Apply for this position