The Gemini Observatory operates two state-of-the-art 8-Meter telescopes, one in Chile and one in Hawaii. Gemini is undertaking an upgrade of its Observatory Control Software (OCS) and is seeking a dedicated software engineer to assist with this work. The OCS provides the infrastructure and tools to support proposal submission, program preparation, planning and execution of science projects, and is a critical component of the telescope operational software. In addition, the OCS will be integrated with a global network of observatories enabling Gemini to perform follow up observations of time-domain based astronomy.
Duties and Responsibilities:
- Develop and maintain end user software tools to support telescope operations.
- Translate complex requirements into software models and elegant user experience designs.
- Translate software models into their relational database representations.
- Collaborate with other software engineers, scientists and telescope operator specialists.
- Follow a rigorous software development life cycle, including all phases: requirements gathering, design, documentation, development, testing and deployment.
- Provide clearly written documentation, both technical and user-oriented, including software interface control documents and user manuals.
This position requires a Bachelor’s degree in computer science, engineering or related field; an advanced degree in computer science is preferred.
Must be self-motivated and able to work independently to solve problems and organize work. Must be able to work effectively as part of a widely distributed team. Must be able to rapidly read, understand and document existing and poorly documented code. Must have a rigorous approach to software development, documentation and testing. Must demonstrate good design skills. A good working level of the English language is required for this position.
The successful candidate will have a strong background in both functional and object oriented languages with experience in user interface design and development, especially in Scala and Java. Experience using GitHub and willingness to work with legacy code is required. Experience contributing to open source projects is a plus.