Software Engineer (Python/C++)
IT – Software Development
Somerset West – Western Cape – South Africa
ENVIRONMENT:
A well-established technology and automation solutions provider is looking for a skilled and passionate Software Engineer/Developer to join their dynamic Application Software Team. The successful candidate will contribute to the development of software for user applications as part of a collaborative and innovative team. A Bachelor’s degree in Computer Science or Engineering (BSc/BEng) is required, along with proficiency in one or more general-purpose programming languages such as Python, C++, or Java.
DUTIES:
- Design, develop, and maintain mission-system-related software including software for payload control, payloads emulators, relay applications, mission logic, etc.
- Manage and optimise Docker environments for mission system appliances.
- Enhance software productivity by maintaining CI pipelines, integrated development platforms (IDPs), and build systems.
- Develop and support other general software productivity tools.
- Play a major role in the generation of outputs for projects, including design, testing, documentation, production and verification artefacts.
- Implement the company’s engineering processes, plans and policies as applicable to a specific project; and
- Perform minor support roles within the company, if required.
REQUIREMENTS:
Minimum Qualifications
- Bachelor’s Degree in Computer Science (BSc) or Engineering (BSc Eng. / BEng).
Required Skills and Experience:
- Proficiency with one or more general-purpose programming languages: Python, C++, Java etc.
Recommended Skills and Experience:
- Practical experience with modern Python, particularly versions 3.10 and beyond.
- Strong knowledge of the Python Standard Library and common third-party libraries such as lxml, numpy, and argparse.
- Familiarity with markup languages and related technologies, including XML, XSLT, XML Schema, JSON, and YAML.
- Proficiency with containerisation technologies such as Docker.
- Solid understanding of the Linux operating system, particularly distributions like Debian and Ubuntu.
- Competence in one or more scripting languages, such as Bash, Batch, or PowerShell.
- Hands-on experience with version control systems, including Git, Subversion, or Perforce
- Experience working within Agile teams and/or using issue tracking tools like Jira; and
- 2–3 years of relevant industry or postgraduate experience would be advantageous.
ATTRIBUTES:
- Ability to learn fast and absorb new information quickly.
- Ability to work as part of a team and collaborate on large projects.
- Ability to work independently.
- Strong problem-solving skills; and
- High standard of communication skills in English (both verbal and written).