Senior Application Software Engineer (C++)
IT – Software Development
Somerset West – Western Cape – South Africa
ENVIRONMENT:
An established Automation company is seeking a talented and passionate Software Engineer/Developer to join their dynamic Application Software Team. In this role, you will be part of a team developing software for user applications, with a focus on highly reliable, safety-critical, and mission-critical systems. The ideal candidate will hold a Bachelor’s Degree in Computer Science or Engineering (BSc/BEng) and demonstrate proficiency in one or more general-purpose programming languages (e.g., C++, Java) as well as scripting languages (e.g., Python, Bash, PowerShell).
DUTIES:
- Take a senior role in the development of application software, mainly for operator-facing, mission-critical software used in C2 and ISR systems.
- Take ownership of features from requirements through design, implementation, and testing for front-end and back-end development.
- Research and understand new domains and technologies sufficiently to understand user requirements and implement features.
- Assist with the company’s production efforts related to application software.
- 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: C++,Java etc.
- Proficiency with one or more scripting languages: Python, Bash, PowerShell etc.
- Understanding of object-oriented design and common software patterns.
- Experience with collaboration using version control software such as Git, Subversion, or Perforce; and
- Experience Recommended Skills and Experience
- 3 – 7 years of relevant industry or postgraduate experience advantageous; working in a team using Agile methods and/or issue tracking software such as Jira.
- Modern C++ experience, especially C++11 and onwards.
- Markup languages and associated technologies including XML, XSLT, XML Schema, JSON, YAML; and
- Master’s Degree in Computer Science (MSc) or Engineering (MSc Eng. / MEng).
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).