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