Senior Software Engineer
The Overwatch Imaging Software Engineer will design and implement software and firmware to transform high-level user inputs and raw data into real-time customer intelligence. The full-stack Engineer will work hands-on with prototype and low-rate production automated imaging systems to develop and test embedded hardware drivers, realtime onboard image processing and artificial intelligence algorithms, and user interfaces.
Overwatch Imaging is changing the way airborne image-based intelligence is created. Rooted in the airborne intelligence and drone technology cluster of Hood River, Oregon, Overwatch Imaging is revolutionizing human understanding of the world through computer vision-optimized sensing. Overwatch Imaging makes customized imaging payloads designed for mission-critical, automated remote sensing roles. Our products allow tactical UAS and general aviation aircraft to automatically detect small targets, collect precision survey maps, conduct autonomous search, and provide real-time image-based intelligence to users. Overwatch Imaging payloads feature autonomously gimballed cameras combined with onboard image processing and AI software, which we leverage to reduce operator workload, accelerate data processing workflows, and identify hard-to-find small signals from large datasets.
Major Areas of Responsibility:
The ideal candidate will be strong in many of the following areas:
Imaging Payload Embedded Software: Supports code development, version management and testing for motion control, camera and IMU drivers, and data management. Balances code-change urgency and unit-to-unit customization with long-term software sustainability and code reuse.
Image Data Processing: Develops image data processing software for real-time and post-flight automatic detection, visualization, rectification, mosaicking, and more.
User Interface: Modifies elements of the Overwatch user interfaces and associated underlying datasets to simplify the user experience, accelerate mission planning and processing workflows, and expand payload compatibility with external systems such as ArcGIS and Google Earth.
Software Deployment: Creates automatic build tools to build, test, and deploy new software versions and manage dependencies.
Experience and Education:
Formal education in software engineering, computer science, aeronautical engineering, robotics, optics or related fields.
Experience in airborne or space-based remote sensing and image processing; hands-on experience with mid-sized unmanned aircraft and/or airborne camera systems.
Academic or professional experience with image processing software, machine learning techniques, and/or autonomous systems.
Experience with device driver implementation and embedded system deployment.
Knowledge of multithreading, parallel programming, interoperability, and algorithm optimization.
Experience with version control software (Git)
5+ years of experience with a Bachelor’s degree, or
2+ years of experience with a Master’s degree, or a Ph.D degree.
Programming in C, C++, C#, Python, CUDA, OpenCV, and MATLAB
Control Systems, IMU, and GPS/INS Hardware and Software
Linux Operating System on GPU-Accelerated Hardware
Machine Learning Model Training and Refinement
Software versioning and branch management
Thrives in a dynamic, fast-paced small startup business environment
Highly motivated self-starter able to work independently and with a team
Collaborates well in a small team environment
Enjoys hands-on work and learning new skills
Eager to learn and solve real-world problems and accept new challenges
Takes pride in seeing new products reach operational use quickly
This position is based in Hood River, Oregon, and requires occasional business travel and work in and around light aircraft. All applicants must be authorized to work on a permanent basis in the United States.
WE'RE HIRING A