Senior Software Engineer

Kamo Placements · Cape Town, Western Cape · R Undisclosed

Stop applying one at a time.

JobAlertsZA auto-applies to South African jobs like this one for you, overnight. Upload your CV once — we do the applying.

Start free — we apply for you →

To research, analyse and evaluate requirements for the existing or new software applications. JOB DESCRIPTION

  • Prototyping and software development of the telescope operational software (all stages of the full software development life cycle will 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 site.
  • Collaborate with departmental stakeholders to support engineering, commissioning, operations and early science activities.
  • Assist and ensure 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.
  • 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 directions.
  • Innovate independently towards improving the software.
  • Troubleshoot and solve very difficult software bugs.

JOB REQUIREMENTS

Qualification

  • Tech/B.Sc Computer Science, Computer Engineering or related field
  • 10 years experience in a software engineering environment, preferably in an engineering project environment with a strong software focus.

Experience

  • Experience in a software engineering environment, preferably in an engineering development project environment with a strong software focus.
  • Python programming language and experience in development, testing, development, commissioning, release and support of large-scale projects in Python.
  • 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.
  • Quality assurance processes and software development processes and willingness to participate in improving software development processes and software quality procedures.
  • Test-driven development and integration testing techniques, methodologies and frameworks; and supporting systems like revision control.
  • Experienced in computer and environment setup and configuration, including the use of containers, and Kubernetes. Knowledgeable to analyse and implement cybersecurity threats suggested.
  • Developing applications targeted for the Linux operating system.
  • Implementation of project management and system engineering principles.

Knowledge

  • Modern software collaboration tools such as Github, Containers, Google Drive, JIRA.
  • Python programming language.
  • Database development, real-time sensor messaging management.
  • Knowledgeable or willing to learn to develop and design ML models.

Desired Skills

  • attention to detail
  • communication skills
  • project management
Auto-apply to this jobView original posting ↗