Overwatch Imaging
Overwatch Imaging Senior Software Engineer
The Overwatch Imaging Senior Software Engineer will design and implement software and firmware to transform high-level user inputs and raw data into real-time customer intelligence. This Engineer will work hands-on with prototype and low-rate production automated imaging systems to develop, test, and deploy real-time onboard image processing and artificial intelligence algorithms, embedded hardware drivers, image manipulation software, user interfaces, and data post-processing tools. The Senior Software Engineer is responsible for leading the design, development, and maintenance of complex software applications. They may have a technical leadership role in mentoring and managing teams of junior and mid-level software engineers. They are expected to have a strong technical background, excellent leadership skills, and the ability to make high-level decisions that affect the entire software development process. Rooted in the airborne technology cluster of Hood River, Oregon, Overwatch Imaging is changing the way time-critical intelligence is created. Overwatch works at the convergence of aerospace, imaging, AI, computer vision, autonomous systems and big data intelligence. Our automated imaging systems help life-saving agencies quickly find what they are looking for from the air, so they can focus less on the search and more on the best response. Internally, we strive to create the best environment for the amazing people who work here, and we thrive as a team through our shared passion for our mission. Major Areas of Responsibility: Software Development: Design, develop, and maintain complex software applications. Write clean, maintainable, and efficient code, participate in code reviews to ensure code quality, and troubleshoot to optimize performance and functionality. Imaging Payload Embedded Software: Leads 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. Interfaces with low-level hardware using SPI, I2C, UART and analog interfaces. Improves error detection, reporting, and mitigation. Geospatial Imagery Optimization: Creates software to geolocate, rectify, mosaic, register and otherwise combine imagery with map data. Software Interfaces: Develops and maintains connections between Overwatch Imaging payloads and external systems for command and control, outside exploitation algorithms, and data export to other tools. Software Deployment: Creates automatic build tools to build, test, and deploy new software versions and manage dependencies. Required Knowledge, Skills and Abilities: The ideal candidate will meet many of these requirements: Formal education in software engineering, computer science, aeronautical engineering, robotics, optics or related fields. Strong understanding of programming concepts and principles Experience in airborne or space-based remote sensing and image processing; hands-on experience with mid-sized unmanned aircraft and/or airborne camera systems. Experience with image processing software, machine learning techniques, and/or autonomous systems. Experience with device driver implementation and embedded system deployment. At least 8 years of experience with a Bachelor's degree, or At least 5 years of experience with a Master's degree, or a Ph.D degree. Strong experience with the following programming languages: C++, Python, CUDA, OpenCV. Strong experience with software versioning and branch management and issue/defect tracking systems. Knowledge of software development methodologies such as Agile or Scrum. Knowledge of multithreading, parallel programming, interoperability, and algorithm optimization. Knowledge of Control Systems, IMU, and GPS/INS Hardware and Software. Knowledge of Linux Operating System on GPU-Accelerated Hardware. Strong communication and interpersonal skills. Ability to lead and mentor other software developers. Willingness to learn and adapt to new technologies. Character Attributes: 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. Location: This position is an in-office in Hood River, Oregon, and may require 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 encourage all qualified candidates to apply, even if they don't meet every requirement listed in this job description. We value diversity of experience and perspectives and are always looking for talented individuals to join our team.
The Overwatch Imaging Senior Software Engineer will design and implement software and firmware to transform high-level user inputs and raw data into real-time customer intelligence. This Engineer will work hands-on with prototype and low-rate production automated imaging systems to develop, test, and deploy real-time onboard image processing and artificial intelligence algorithms, embedded hardware drivers, image manipulation software, user interfaces, and data post-processing tools. The Senior Software Engineer is responsible for leading the design, development, and maintenance of complex software applications. They may have a technical leadership role in mentoring and managing teams of junior and mid-level software engineers. They are expected to have a strong technical background, excellent leadership skills, and the ability to make high-level decisions that affect the entire software development process. Rooted in the airborne technology cluster of Hood River, Oregon, Overwatch Imaging is changing the way time-critical intelligence is created. Overwatch works at the convergence of aerospace, imaging, AI, computer vision, autonomous systems and big data intelligence. Our automated imaging systems help life-saving agencies quickly find what they are looking for from the air, so they can focus less on the search and more on the best response. Internally, we strive to create the best environment for the amazing people who work here, and we thrive as a team through our shared passion for our mission. Major Areas of Responsibility: Software Development: Design, develop, and maintain complex software applications. Write clean, maintainable, and efficient code, participate in code reviews to ensure code quality, and troubleshoot to optimize performance and functionality. Imaging Payload Embedded Software: Leads 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. Interfaces with low-level hardware using SPI, I2C, UART and analog interfaces. Improves error detection, reporting, and mitigation. Geospatial Imagery Optimization: Creates software to geolocate, rectify, mosaic, register and otherwise combine imagery with map data. Software Interfaces: Develops and maintains connections between Overwatch Imaging payloads and external systems for command and control, outside exploitation algorithms, and data export to other tools. Software Deployment: Creates automatic build tools to build, test, and deploy new software versions and manage dependencies. Required Knowledge, Skills and Abilities: The ideal candidate will meet many of these requirements: Formal education in software engineering, computer science, aeronautical engineering, robotics, optics or related fields. Strong understanding of programming concepts and principles Experience in airborne or space-based remote sensing and image processing; hands-on experience with mid-sized unmanned aircraft and/or airborne camera systems. Experience with image processing software, machine learning techniques, and/or autonomous systems. Experience with device driver implementation and embedded system deployment. At least 8 years of experience with a Bachelor's degree, or At least 5 years of experience with a Master's degree, or a Ph.D degree. Strong experience with the following programming languages: C++, Python, CUDA, OpenCV. Strong experience with software versioning and branch management and issue/defect tracking systems. Knowledge of software development methodologies such as Agile or Scrum. Knowledge of multithreading, parallel programming, interoperability, and algorithm optimization. Knowledge of Control Systems, IMU, and GPS/INS Hardware and Software. Knowledge of Linux Operating System on GPU-Accelerated Hardware. Strong communication and interpersonal skills. Ability to lead and mentor other software developers. Willingness to learn and adapt to new technologies. Character Attributes: 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. Location: This position is an in-office in Hood River, Oregon, and may require 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 encourage all qualified candidates to apply, even if they don't meet every requirement listed in this job description. We value diversity of experience and perspectives and are always looking for talented individuals to join our team.