C++ Software Engineer, Distributed Systems
Listed on 2026-01-22
-
Software Development
Software Engineer
About Forterra
Forterra is a leading provider of autonomous systems for ground‑based movement in the working world. Amongst some of the earliest innovators in the field of driverless technology, Forterra is focused on building systems that protect front‑line soldiers and enable civilian workers in our industrial base. Forterra is the go‑to provider of ground autonomy solutions for the U.S. Department of Defense, which harnesses the technology for asymmetric warfare in critical conditions.
Aboutthe role About Fabric
Fabric is Forterra's distributed systems platform for registering, discovering, and replicating mission critical data across dynamic mesh network topologies. Fabric enables interoperability between autonomous vehicles, operators, services, and partner systems across unreliable, bandwidth‑constrained networks. It is foundational infrastructure used by multiple internal teams and external integrators, and it directly impacts system scalability, reliability, and operational success for Forterra.
About this jobWe are seeking a Senior/Staff Software Engineer to help design and build Fabric, Forterra's core distributed systems platform. This role is ideal for a senior engineer who thrives in ambiguous problem spaces, enjoys building foundational infrastructure, and has deep experience with modern C++ and distributed systems.
As a Staff Engineer, you will operate at a system‑wide level: shaping architecture, setting technical direction, and delivering high‑impact features. You will work closely with platform, autonomy, networking, and application teams to ensure Fabric scales across products, teams, and deployment environments.
This is a hands‑on technical role with significant architectural ownership and cross‑team influence.
What you'll do- Lead the design and implementation of core Fabric services and libraries in modern C++
- Architect distributed systems that operate reliably over low‑bandwidth, high‑latency, and unreliable networks
- Design APIs and abstractions that enable teams to register, serialize, replicate, and query arbitrary data types
- Define and evolve patterns for discovery, addressing, routing, and replication across fixed and dynamic topologies
- Build and maintain high‑performance messaging, transport, and synchronization layers
- Drive decisions around consistency models, reliability guarantees, and failure handling
- Collaborate with partner teams (autonomy, Terra Link, ATAK, web, and external integrators) to ensure Fabric meets real‑world requirements
- Establish best practices for correctness, performance, observability, and maintainability
- Contribute to long‑term technical strategy, roadmap planning, and architectural reviews
- Document designs clearly for both engineering and integration audiences
- What Sets This Role Apart
- You'll lead projects and own subsystems
- You'll build software that operates in real‑world, high‑consequence environments
- You'll influence architecture, standards, and long‑term technical direction and develop a core piece of Forterra infrastructure.
- Bachelor's degree in Computer Science, Engineering, or equivalent practical experience
- 8+ years of professional software engineering experience
- Expert‑level proficiency in modern C++ (C++17 or later)
- Experience with publish/subscribe or message‑oriented middle wares (eg, gRPC, DDS, ZeroMQ, MQTT, custom transports)
- Strong testing fundamentals and experience developing automated tests in C++ using Google Test, Boost.
Test, or similar frameworks (unit, integration, regression). - Familiar with best practices such as test case design, edge‑case coverage, mocking/stubbing, and maintaining reliable CI‑friendly test suites.
- Solid understanding of distributed systems fundamentals, including:
- Replication and consistency models
- Leader election and coordination
- Failure detection and recovery
- Concurrency and synchronization
- Experience building or operating production distributed systems
- Deep familiarity with Linux‑based development and deployment environments
- Proven ability to lead technical projects from concept through production
- Strong written and verbal communication skills, with the ability to explain complex systems clearly
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).