What are the responsibilities and job description for the Senior Software Engineer position at Overwatch Imaging?
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 area
not all required) :
- 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.
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 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.
Thrives in a dynamic, fast-paced small startup business environment
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.