About the Role
Summary
As a Master Software Engineer, Native and Web Applications, you join the Pirate Team—the highest engineering team at the company. Reporting directly to the CEO and acting as a collective, council CTO, the Pirate Team is the best of the best: a small band of the most senior engineers who set the technical direction, take on the problems no one else can, and hold the bar for how the entire company builds. This is not a role for people who want to be told what to do; it is for the engineers others look to when the answer isn't obvious.
In this role you own the software that people use to command our robots and the software that runs the infrastructure behind them. On the native side, you design and write cross-platform desktop applications for macOS, Windows, and linux that control robots and support the full arc of robot development, from bring-up on the bench to operation in the field. On the web side, you build distributed cloud applications with heavy back-end components that must run anywhere we need them to—managed cloud, customer VPCs, or bare metal in a hangar. You are a deep systems programmer: you know how the machine actually works, you debug the hard problems others give up on, and you treat testing as a first-class part of shipping.
Duties
- Architect, design, and write cross-platform native desktop applications for macOS, Windows, and linux that operate and monitor our mobile robotics platforms—UAVs, UGVs, USVs.
- Build the tooling and applications engineers rely on across the robot development lifecycle: bring-up, calibration, telemetry, logging, tuning, diagnostics, and field operation.
- Design and implement distributed cloud applications with substantial back-end components—services, data pipelines, APIs, and real-time interfaces to fleets of robots.
- Ensure our web applications are deployable across heterogeneous environments—managed cloud, private clouds, on-prem, and baremetal—without forking the codebase.
- Own performance, correctness, and reliability at the depth where it matters: memory, concurrency, latency, protocol handling, and the seams between native and cloud.
- Debug the hardest problems across the stack—cross-platform behavior differences, concurrency and timing bugs, protocol and networking failures, resource leaks—and drive them to root cause.
- Establish and enforce engineering standards for the applications team: architecture, code review, testing strategy, and release engineering.
- Define the interfaces between native applications, cloud back ends, and the embedded software running on the robots, in partnership with the embedded and systems teams.
- Build and maintain the test infrastructure that keeps a cross-platform, multi-environment product honest—unit, integration, and end-to-end coverage across OSes and deployment targets.
- Act as a member of the Pirate Team's council CTO: shape company-wide technical direction, weigh in on the hardest architectural calls across teams, and raise the level of every engineer around you through design review, pairing, and example.
Required Skills
- Deep, demonstrated mastery of software engineering as a senior individual contributor—you have designed and shipped substantial applications and can be trusted with the hardest technical decisions.
- Strong proficiency building cross-platform native desktop applications across macOS, Windows, and linux, with a real understanding of what differs between them.
- Command of a systems-level language (C++, Rust, or equivalent) and the discipline that comes with it: memory, concurrency, and performance are things you reason about precisely.
- Proven experience designing and operating distributed cloud applications with heavy back-end components—services, storage, messaging, and real-time data flows.
- Experience deploying software across diverse target environments, including baremetal and air-gapped or on-prem settings, not just managed cloud.
- Exceptional debugging ability—you are the person who finds the bug that has stumped the rest.
Requirements
Cross-platform development
Strong proficiency building cross-platform native desktop applications across macOS, Windows, and linux.
Systems-level programming
Command of a systems-level language (C++, Rust, or equivalent) with a focus on memory, concurrency, and performance.
Distributed cloud applications
Proven experience designing and operating distributed cloud applications with heavy back-end components.
Debugging skills
Exceptional debugging ability to resolve complex issues across the stack.
Nice to Have
Experience with mobile robotics platforms such as UAVs, UGVs, and USVs.
Experience in establishing and enforcing engineering standards for software development.
Benefits
Equity
Opportunity to earn equity in the company.
Remote work
Flexible remote work options available.
Learning budget
Access to a budget for professional development and learning.