Software Engineer II (Applications)
Role details
Job location
Tech stack
Job description
As a Software Engineer II (Applications) you will build mission systems software that flies on real uncrewed aircraft, working alongside a small, fast-moving team of engineers who love autonomy and robotics. This is a hands-on role for someone who wants real ownership of hard problems - designing, developing, and testing the software that powers vision-based navigation and autonomous flight, and seeing it deployed on live systems.
- Design, build, and test onboard Linux software powering AV's vision-based navigation, autonomy, and mission systems for uncrewed aircraft
- Write software that integrates sensors, processors, and other robotics systems onto real aircraft - and see it fly
- Own features end to end: from design and implementation through automated testing and deployment
- Participate in software design reviews and contribute your ideas to how the team builds and ships
- Turn detailed software requirements and algorithm designs into working, well-tested code
- Collaborate closely with other software developers, reusing and improving shared software across multiple programs
- Learn fast in a hands-on environment with strong senior mentorship, and level up quickly
- Tackle problems of moderate scope, using good judgment to figure out the right approach
- Other duties as assigned
Requirements
-
Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Math, or Physics, or equivalent combination of education, training, and experience
-
2 - 5 years of software development experience, or a strong track record of internships, research, personal projects, or startup work. New and recent graduates from top programs are encouraged to apply
-
Proficiency in C++ (C++11/17), Python, or C, with a solid grasp of object-oriented design
-
Comfortable developing on Linux
-
Writes tests and debugs code; genuinely curious about how and why things work
-
Familiarity with version control (git) and modern development tooling (IDEs, debuggers, CI/CD)
-
Strong mathematical and analytical skills
-
Willingness to travel locally (Occasionally)
-
Hands-on experience with UAS, drones, robotics, autonomous vehicles, or other embedded systems
-
Exposure to computer vision, machine learning, or sensor integration on embedded systems
-
Experience or strong interest in the Robot Operating System (ROS2) on Linux/ARM
-
Familiarity with unit testing frameworks, containerized development (Docker), and CI/CD workflows
-
Embraces AI-assisted development tools (e.g., code generation, review, and debugging assistants) to write better software faster and to accelerate related engineering work
-
Advanced degree is a plus
-
Genuinely passionate about autonomous systems and writing great software - the kind of person who tinkers, builds, and can't stop learning
-
Thrives in a fast-paced environment where a small team owns a broad variety of problems
-
Takes ownership of their work and is driven to improve, iterate, and get better every day
-
Strong problem-solving, analytical, and communication skills
-
Collaborative and team-first, and enjoys working through hard problems together
-
Ability to work in an office environment (Constant)
-
Required to stand and sit for long periods; talk, hear, and use hands and fingers to operate a computer and telephone keyboard (Frequent)
-
U.S. Citizen, U.S. Permanent Resident (Green Card holder) or asylee/refugee status as defined by 8 U.S.C. 1324b(a)(3) required.
-
Occasionally may be required to travel within the Continental U.S.