Staff Software Engineer – Computer Vision and Remote Sensing
ARAAbout the role
The Computer Vision and Remote Sensing Software Group at Applied Research Associates, Inc. (ARA) is looking for an experienced Software Engineer to join our team of developers operating at the forefront of Computer Vision technology applied to satellite imagery.
Our product runs a data production pipeline that processes a high volume of satellite imagery automatically to generate realistic, simulation- and game-ready textured 3D geometric models of real-world scenes for leading edge government research programs.
The successful candidate for this position will have a strong passion to create “big data” software that is efficient and fault tolerant, easy to deploy whether on a laptop or to the cloud, and convenient for production users and agile researchers alike. In this role you will join a team of algorithm developers, applied scientists, and software developers to create, improve, and maintain production-level software.
Our group collaborates with world-renowned university researchers to find innovative solutions to challenging real-world problems for intelligence and defense communities. We offer an exciting, relevant career with opportunity for professional growth and mentorship.
The opportunity for career advancement and continued learning at ARA goes beyond project work. We strive to identify cross-training opportunities and encourage staff to become involved in upcoming R&D efforts as well as inject new ideas into our longstanding operational programs. At ARA, we foster an environment where technical staff are empowered to research and develop their own ideas – with resources and support from a strong internal technical team and external partners. You can expect day to day to have flexibility in choosing the level of autonomy suited to you, while at the same time enjoying a challenging technical career with great opportunity for personal growth.
Responsibilities include:
- Participate in software design discussions, decision analysis and resolution, and refinement of our best practices for software development and construction
- Support our subject matter experts in software design, development, and construction in presenting topics to external customers and stakeholders during in-depth technical exchange meetings
- Work with our algorithm-focused subject matter experts to gain a basic understanding of our multidisciplinary computer vision and data processing workflow at a sufficient level that enables good software engineering decision-making
- Apply performance-based optimizations and support development that improves code maintainability and performance in a distributed, containerized processing environment
- Create developer and user documentation
- Develop code that is suitable for containerized deployment, following best practices. (Currently we use primarily Python and C++, with some go code. We do not use Java.)
- Work with the team under the guidance of our quality assurance staff to increase or maintain test coverage and assure code quality
- Cross-train with staff to ensure the team is focused on code quality and performance, and, in general, best practices
Staff Software Engineer – Computer Vision and Remote Sensing Qualifications:
- US citizenship required (green card holders are not eligible for this position)
- Eligibility to apply for and hold a U.S. security clearance (selected applicants will undergo a security investigation and must meet eligibility requirements at the time of employment)
- Relocation to the Raleigh, NC metropolitan area strongly preferred.
- Skilled in analyzing, troubleshooting, and refactoring existing source code.
- Experience developing code in a team environment.
- Minimal travel (~2-4 trips / year) required for collaboration with customers and partners.
- Extensive experience with Python 3.x.
- Experience with Python and C++ IDEs, toolchains, profiling, and debugging.
- Experience with Python multiprocessing.
- Familiar with the application of software design patterns and industry best practices for software design and construction.
- Experience in modern C++ (11 and later) is desirable.
- Experience developing containerized services for the AWS cloud environment is desirable.
- Experience with container orchestration using Kubernetes is desirable.
- Experience in managing CI/CD, DevOps, or DevSecOps pipelines and environments, such as Gitlab CI/CD pipelines is desirable.
Education and Experience Qualifications:
- B.S. Degree in Com
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s