High Level Software Engineer

  Date of publication
2018-12-12
  Deadline for applications
2019-06-15
  Minimum qualifications:
This position requires a Bachelor's degree in computer science, engineering or related field; an advanced degree in computer science is preferred
  Salary range
Gemini Observatory offers a competitive compensation and benefits and relocation package, promotes continued education and career growth and cultivates a dynamic and diverse working environment
  Contact
Angelica Junco - AURA Chile HR Representative
ajunco@aura-astrnomy.org


Description

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.

This position will work closely with Gemini software engineers, scientists and telescope operators to upgrade the OCS, simplify its operation, reduce complexity and facilitate long-term maintenance. Our legacy system is Java-based but we are working towards upgrading it to a pure functional system using Scala and the Typelevel software stack. End-user tools will be web-based, using React, css, scala.js and Javascript.

 
Tasks and activities
  • 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.
 
Skills and experience

Experience Required:
Must have a minimum two years of experience in design, implementation and testing of high-level software for both new and existing systems, especially focused on end-user software. Must have experience in functional programming using Scala and working experience on object-oriented languages, like Java. Must have experience in user interface development, especially in web applications using React, css, and javascript. Experience with scala.js will be a plus. Must have visual and user-focused design skills with an eye for details. Previous experience in an astronomical research or scientific environment is highly desirable.

Skills Required:
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.

How to Apply?
Please, with the on-line application submit a Cover Letter and Resume, including 3 reference contact information, one of which must be from a supervisor