Snr Control Software Engineer

Engineering/Technical
Cape Town – Western Cape

ENVIRONMENT:
A radio astronomy company is seeking a Senior Control Software Engineer to plan, implement, modify, administer, and evaluate Control and Data Acquisition (SCADA) software and systems for a cutting-edge telescope. The ideal candidate should have extensive experience and deep understanding of Agile methodologies and DevOps processes. Proficiency in Python, Git, Test-Driven Development, Test Automation, and Continuous Integration is required.  Qualifications include a BTech with 13 years of full-time experience in a software engineering environment, preferably in an engineering development project with a strong focus on control systems software development, or BEng/MTech with 9 years of full-time experience in a software engineering environment, preferably in an engineering development project with a strong focus on control systems software development, or MEng with 7 years of full-time experience in a software engineering environment.
 
DUTIES:
  • Development and maintenance of the telescope operational software
  • Assist in systems engineering documentation refinement
  • Support users, operators, as well as the implementation of releases, system changes and fixes.
  • Establish and maintain working relationships with members of other teams within the organization.
  • Work with other Software Team members to respond to inter-team issues.
  • Participate in project management and activity management activities
  • Attend relevant training/courses to gain experience and improved knowledge.
  • Research new technologies, methods or approaches, with the purpose of utilizing them within the organization.
  • Participate in innovation and technology development initiatives.
  • Mentor and educate more junior engineers as and when required
 
REQUIREMENTS:
Qualifications:
  • MEng with 7 years of full-time experience in a software engineering environment, preferably in an engineering development project environment with a strong control systems software development focus, or
  • PhD with 5 years of full-time experience in a software engineering environment, preferably in an engineering development project environment with a strong control systems software development focus
  • Experience in Python or C/C++ programming, including development, testing, deployment, commissioning, release, and support of projects
  • Specialization or leadership in one or more required job knowledge areas
Knowledge:
  • Experience in programming in Python
  • Experience in developing SCADA, control systems, and PLC development
  • Experience with control systems frameworks, e.g., TANGO toolkit, including TANGO device development and client-side tools, or comparable toolkits
  • Software development, including database development, real-time sensor messaging management, behavior-driven development
  • Computer and environment setup and configuration, including the use of containers, Kubernetes, Gherkin, etc.
  • Practical experience configuring instrumentation, integrating and commissioning control systems, and operator training
  • Willingness to transition between system development and system support and operations team
Skills/Competencies/Abilities:
  • Extreme Importance/Essential:
 
  • Control systems software engineering and development
  • IT and information systems analysis, design, implementation, integration, delivery, and operations
  • Agile approaches to 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