SENIOR SOFTWARE ENGINEER (CAM)
REPORTS TO FUNCTIONAL MANAGER – SOFTWARE
LOCATION: WESTERN CAPE
SALARY: NEGOTIABLE
JOB DESCRIPTION
The Main Purpose of this role:
- Prototyping and software development of the telescope operational software (all stages of the full software development life-cycle may be encountered)
- Provide hands-on technical support in the system administration of the 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 standardization 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
- Make technical decisions independently without direction from Technical lead
- Has deep understanding of version control to the point of being able to help out junior and software engineers
- Innovate independently towards improving the software
QUALIFICATIONS AND EXPERIENCE
- Eng / B.Sc Hons (Comp Science) with 9+ years; OR
- Eng / [URL Removed] (Comp Science) with 7+ years; OR
- PhD / [URL Removed] with 5+ years
- Experience in a software engineering environment, preferably in an engineering development project environment with a strong software focus
- Python or C/C++ programming language and experience in development, testing, development, commissioning, release and support of large scale projects in Python or C/C++
- 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
Desirable Additional Educational, Work Experience, and Personal Qualities
- 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
- Communicate effectively (written and verbal)
- Participate and thrive in a collaborative environment
- Both work independently and be a good team player
- Troubleshoot issues methodically
Experience
- Quality assurance processes and software development processes
- Programming in the Python programming language
- Development, testing, deployment, commissioning, release and support large scale projects
- Developing applications targeted for the Linux operating system
- Implementation of project management and system engineering principles
- Test-driven development and integration testing techniques, methodologies and frameworks and supporting systems
Knowledge
- Modern software collaboration tools such as Github, Containers, Google Drive, JIRA
- Python programming language.
TO APPLY:
Update your CV on Career Junction in line with the Job Spec above and mark your cover letter for ATTENTION: SHASHI PREMRAJ.
Desired Skills:
- python systems
- Github
- Containers
- Google Drive
- JIRA
Desired Work Experience:
- More than 10 years
Desired Qualification Level:
- Honours