Senior Software Engineer at Overwatch Imaging
Hood River, OR, US
Position Description:
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.
 
Level Description:
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.
Company Description:
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:
The ideal candidate will be strong in many of the following areas:
  • 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. Implements cloud-based web map service approaches to simplify user consumption of big sets of image 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.

  • 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.

  • Image Processing Software Programming: Supports development of image manipulation and data management software for deployment in Overwatch airborne payloads, cloud sites or ground stations, to accelerate data extraction and simplify post processing workflows.

  • Application Software: Supports and creates software tools that allow users to view, analyze, and exploit imagery and geospatial data. Tasks include reducing imagery to information using classical computer vision, machine learning, and data compression, and displaying both imagery and geospatial data beautifully and intuitively.

  • Software Deployment: Creates automatic build tools to build, test, and deploy new software versions and manage dependencies.

 
Experience and Education:
  • 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. Implements cloud-based web map service approaches to simplify user consumption of big sets of image 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.

  • 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.

  • Image Processing Software Programming: Supports development of image manipulation and data management software for deployment in Overwatch airborne payloads, cloud sites or ground stations, to accelerate data extraction and simplify post processing workflows.

  • Application Software: Supports and creates software tools that allow users to view, analyze, and exploit imagery and geospatial data. Tasks include reducing imagery to information using classical computer vision, machine learning, and data compression, and displaying both imagery and geospatial data beautifully and intuitively.

  • Software Deployment: Creates automatic build tools to build, test, and deploy new software versions and manage dependencies.

Technical Competence:
  • Strong experience with one or more programming languages such as: C, C++, C#, Python, CUDA, OpenCV, MATLAB, React-based framework, JavaScript, TypeScript, C#, .Net 6, AWS/Kubernetes.

  • 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 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.

What We Offer:

  • Growth Opportunities: As a team member of a true startup, you will learn by doing and shape our future. The opportunities are limitless for those who want to grow their career.

  • Impact Opportunity: We work on missions that matter to keep people safe and make the world better, and we do it without bureaucracy at the speed of a startup.

  • Team Collaboration: Work in a fast-paced, collaborative environment with amazing teammates. The Overwatch Imaging leadership team believes in an open-door policy, meaning everyone has a voice and access to guidance, advice, feedback, and the ability to pitch crazy new products or ideas.

  • Late Start Wednesday: You will look forward to Wednesdays! We start work at 1pm every Wednesday!

  • Time Off: Generous PTO to empower employees to make decisions about work life balance based on work and home needs.

  • Holidays: Overwatch Imaging recognizes 10 company holidays.

  • Ownership: Equity/Stock Options in our rapidly growing company.

  • Health Benefits: Medical/Dental premiums 100% covered by Overwatch Imaging for employees and their families, plus available pre-tax health savings account.

  • 401K: Employer matching contributions up to 4% of pay.

  • Remote Friendly: Depending on the role, part or full time remote or work-from-home arrangements may be an option.