Mid – Controls Software Engineer

Engineering/Technical
Cape Town – Western Cape

ENVIRONMENT:
A radio astronomy company is seeking a mid-Controls Software Engineer to manage Control and Data Acquisition (SCADA) software and systems. This role is integral to the Computing and Software team, collaborating within the Observation Monitoring and Control Agile Release Train alongside the Control System Architect and peers. Responsibilities include developing control systems using the TANGO framework, applying Agile methodologies and DevOps processes. Essential skills include proficiency in Python, Git, Test-Driven Development, Test Automation & Continuous Integration. Preferred qualifications include experience or readiness to gain expertise in the TANGO toolkit, including device development and client-side tools, Interferometry techniques, C++, Docker, Kubernetes, Gherkin, and Behavior Driven Development. Practical experience in configuring instrumentation and commissioning control systems and scientific instruments is highly valued. The ideal candidate should possess a BTech/BEng/MTech/MEng/PHD in Mechatronics, Electronic Engineering, Control Systems, Computer Science, or related fields.
 
Key Responsibilities:
  • Develop and maintain telescope control system software.
  • Assist in refining systems engineering documentation.
  • Support users, operators, and implement releases, system changes, and fixes.
  • Establish and maintain relationships with cross-functional teams.
  • Collaborate with Software Team members to address inter-team issues.
  • Manage relationships with mentors and senior engineers to foster learning.
  • Participate in project and activity management.
  • Attend training to enhance knowledge and skills.
  • Research new technologies for organizational implementation.
  • Contribute to innovation and technology development initiatives.
Key Requirements: Qualification:
  • BTech/BEng/MTech/MEng/PhD in Mechatronics, Electronic Engineering, Control Systems, Computer Science, or related fields.
Experience:
  • BTech in relevant field with 6 years of experience; or
  • BEng/MTech in relevant field with 4 years of experience; or
  • MEng in relevant field with 3 years of experience; or
  • PhD in relevant field with 1 year of experience.
  • Experience in software engineering, particularly in engineering development projects with strong control systems focus.
  • Proficiency in Python or C/C++ for development, testing, deployment, commissioning, release, and support.
Knowledge:
  • Proficient in Python programming.
  • Experience in SCADA, control systems, and PLC development.
  • Familiarity with control systems frameworks such as the TANGO toolkit, including device development and client-side tools, or similar.
  • Software development skills, including database development, real-time sensor messaging management, and Behaviour Driven Development.
  • Familiarity with computer and environment setup and configuration, including containers, Kubernetes, Gherkin, etc.
  • Practical experience in configuring instrumentation, integrating and commissioning control systems, and conducting operator training.
  • Willingness to transition between system development and support operations.
Additional Notes: Skills/Abilities/Competencies:
  • Control systems software engineering and development.
  • IT and information systems analysis, design, implementation, integration, delivery, and operations.
  • Agile methodologies in systems development.
  • IT systems architecture concepts.
  • Understanding of DevOps processes.
  • Data curation, transfer, management, archival, and governance.
  • IT services, operations, and support management.
  • Risk management.
  
ATTRIBUTES:
  • Passion for Excellence
  • World-class service
  • People-centered
  • Respect
  • Integrity and Ethics 
  • Accountability