Software Engineer (Python)

Company Details

We are a satellite programme and systems engineering bureau. Our programme management and systems engineering expertise specialise in adding value to satellite programmes through facilitating solutions for customers on missions, systems and sub-system levels.

Job summary (Purpose of the job):
Define, Build and Test software as part of an agile team working on the Square Kilometer Array project.

Minimum requirements:
B.Eng or B.Sc Comp. Sci. (minimum). Masters Degree preferred.

At least 5 years software development experience in a science and engineering context (required). Preferably in high performance computing (HPC), data intensive computing or Radio Astronomy

The following skills are required:

  • Python 3 (working collaboratively, according to PEP 8 style guide)
  • Experience with distributed version control (specifically: git)
  • Working in an agile team using agile tools

The following skills are desirable:

  • Experience or academic background in Radio Astronomy or
    RF engineering
  • Experience with Python packages including SciPy, NumPy, Dask
  • Test driven development using Continuous Integration systems
    (e.g. Jenkins)
  • Other programming languages (e.g. Java, C++)
  • Experience with Cloud Computing Platforms (like OpenStack)
  • Risk Analysis, including FMEA.

Duties & Responsibilities:

  • Collaborate with team members (incl Product Owner) to create and refine Stories and acceptance criteria.
  • Participate in creating iteration plans and team objectives and committing to these team objectives and plans.
  • Working with the Product Owner in the team to confirm that the code and acceptance tests reflect the desired functionality.
  • Software development using Python or other languages as necessary.
  • Conducting research, design, prototyping and other exploration activities.
  • Checking new code into the SKA/SDP source code repository.
  • Creating unit tests and automated acceptance tests.
  • Executing acceptance tests and maintaining the test cases in the SKA/SDP repository.
  • Continuous improvement of the team’s process.

Desired behavioural attributes:

  • Ability to see the big picture, yet get into the details
  • Intellectual curiosity – ability and desire to learn new things
  • Ability to make system-wide connections
  • Strong team member and leader
  • Comfortable with uncertainty and unknowns
  • Proper paranoia – expect the best, plan for the worst
  • Self-confidence and decisiveness (short of arrogance)
  • Appreciation for process – rigor and knowing when to stop
  • Diverse technical skills – ability to apply sound technical judgement
  • Comfortable with change
  • Good two-way communication


Tagged as: java, C++, python 3, jenkins, pep 8 style guide, SKA/SDP, SciPy, NumPy, Dask, Square Kilometer Array

Visit us on LinkedInVisit us on FacebookVisit us on Twitter