Controls Software Engineer

W. M. Keck Observatory in Kamuela, HI is looking to hire a full-time Controls Software Engineer to support, troubleshoot, and maintain our adaptive optics (AO) systems. Are you experienced with AO and looking for a new opportunity to thrive? Would you like to work in a beautiful, enchanting location on two of the world’s most advanced telescopes? Do you want to help our organization achieve exciting breakthroughs in space observation? If so, please read on!

The starting salary range for this full-time position is $98,924 to $120,250 + 4 weeks annual paid vacation + 8% 403(b) employer contribution (4% employee contribution) + 100%-paid employee health insurance + additional benefits.


From Hawaii’s Maunakea, astronomers around the world use our observatory to observe the universe with unprecedented power and precision. Our twin observatory telescopes are the world’s most scientifically productive optical and infrared telescopes! With our highly advanced technology, we focus on service and stewardship and are very committed to being the science leader in large land-based telescopes. We support the mission of the observatory and work to unravel the mysteries of the universe!

Each employee is a part of our mission. We provide meaningful jobs and an exciting place to pursue careers. Employees are able to work with a variety of equipment and scientific applications for the good of humanity and pure science. We work in a wonderful setting and environment and are passionate about what we do. We’re looking for more individuals to join us!


As a Controls Software Engineer, your work is vital to improving our telescopes and giving us a clearer view of the stars! You love the thrill of solving problems and developing innovative solutions to help us expand and strengthen our galactic reach. Alongside your team, you develop and maintain our AO systems by designing, coding, testing, and integrating effective software and data analysis tools. With these tools, you monitor our AO operations and gather data. Through data analysis and reduction, you measure our AO system’s strength and troubleshoot areas that need improvement. You then lead the development of real-time processing architectures and systems to optimize our wavefront sensing and control processes, improving our telescopes’ image quality. When brainstorming ideas with your team, you encourage creative thinking and facilitate the development of innovative techniques such as sensor fusion and laser usage.

This is a highly cooperative role in which you coordinate and provide highly effective collaborations across disciplines. This includes working with software, electronics, and opto-mechanical engineers as well as scientists at the observatory and external collaborators at other institutions.

Whatever project you’re working on, you ensure that the relevant software functions optimally and meets all requirements. You diligently document your software and develop operations handover training to ensure the person who takes it over is knowledgeable and capable. You find satisfaction in overcoming obstacles to improve our telescopes, getting humanity one step closer to unlocking the secrets of the stars!


  • Bachelor of Science or equivalent in computer science, electrical engineering, physics, astronomy, or math
  • 5+ years of experience developing real-time control applications
  • Experience with real-time processing using CPU or GPU architectures such as CUDA
  • Experience programming in C, C++, and Python
  • Data analysis experience in either Python, IDL, or MATLAB
  • Proficiency with Unix, Linux, and shell scripting
  • Knowledge about software engineering principles and practices

Experience in adaptive optics system development would be preferred. Knowledge about control systems performance and control parameters as well as experience with JavaScript, Java, PHP, or XML would be a plus! Can you manage your time well and effectively prioritize multiple tasks? Do you thrive in fast-paced environments? Are you highly motivated to succeed? Can you work well both independently and with a team? If yes, you might just be perfect for this software engineering position!


This software engineering position works a full-time schedule with some after-hours and on-call work.

Provide nighttime engineering support for deployment of new systems as needed.

Our salary ranges are determined by the role and level of the position. The range displayed on each job posting reflects the minimum and maximum starting base pay for new hire salaries for the position. Within the range, individual pay is determined by experience, skillset, and qualifications of the new hire. Should you be selected for an interview, the HR team will be happy to further discuss the compensation details of this position with you.

Apply Here: