We are working on an exciting project called the Hobby Eberly Telescope Dark Energy Experiment (HETDEX), which seeks to characterize the mysterious force that is accelerating the expansion of the Universe. The position is based in Austin, but occasional travel to the Observatory in far West Texas and to other sites is required.
Analyzes, understands, corrects, and extends the real-time control software for the Hobby Eberly Telescope Dark Energy Experiment (HETDEX) for McDonald Observatory. Integrates and tests the software in the lab, and then deploys and debugs the software at the telescope.
Coordinating with the Systems Scientist, studies the existing architecture for the real time telescope control system and extends the existing architecture where required. Extends the existing software interfaces and define any missing interfaces, as required. Designs, implements, and documents telescope control loops, pointing and tracking algorithms, required calculations, and measurement and application of corrections from the metrology system. Designs, implements, and documents the engineering test and operational software required to interface and operate instruments, mechanisms, and sensors, in the lab and on the telescope. Designs, implements, and documents camera control and image processing software to point the telescope and keep it aligned through trajectory corrections. Extends, debugs, and documents software to control the science data acquisition system and record the resulting science data on disk. Coordinates, plans, and performs testing of all project control software. Supports HETDEX Integration and Commissioning in the lab, and at the telescope in West Texas.
Other related functions as assigned. Drives UT vehicle to and from the Observatory in far west Texas.
Licenses: Class "C" Operator's Driver's License. Applicant selected must provide a current three year Driving Record from the current state of residence. If not currently a Texas resident, must obtain a Texas Driver's License within 30 days after entering Texas as a new resident.
Bachelor's degree. Three years of experience in systems design, analysis, and programming. Five or more years of experience and demonstrated knowledge of object-oriented C/C++ and Python software development (design, coding, debugging, integration, and testing) in a GNU/Linux environment with a focus on the software-interface portions of electromechanical device control systems. Experience with distributed version control systems such as git. Ability to work independently and as part of a team on complex and challenging software development projects. Proven verbal and written communications skills. Equivalent combination of relevant education and experience may be substituted as appropriate.
Master's degree in computer science and five years of experience in computer systems design and analysis. Four years of recent, cumulative experience in the authoring of control system software for computer-controlled mechanical systems; includes all aspects of the software product from the authoring of low-level hardware/software interface code (device drivers and digital IO) through end-user GUI development. Familiarity with mechanical systems and process control concepts, PLCs, motion controllers, encoders, computer hardware, communications protocols, and operating systems including Linux. Demonstrated ability to handle complex mathematical/statistical concepts and author software which applies these concepts. Experience with image processing concepts and camera control. Experience in analyzing and debugging existing object-oriented C/C++, Tcl/TK, and Python code. Experience with the following libraries/technologies: SWIG, Corba (OmniORB), JSON. Ability to learn new skills and expand personal knowledge base through research and training.
May work in all weather conditions May work around standard office conditions May work around electrical and mechanical hazards Repetitive use of a keyboard at a workstation Use of manual dexterity Travel to local vendor sites and to the telescope in West Texas is required.