We are looking for engineers who are comfortable entering complex and unfamiliar systems, quickly understanding how they work, and turning operational concepts into clean software models and architectures.
You should enjoy reasoning about entities, relationships, state, events, commands, missions, resources, and system boundaries - and designing software that represents and coordinates them reliably.
Responsibilities
Design and build software systems for autonomous platform operations and Command & Control
Translate complex operational requirements and domain concepts into robust software architectures
Model operational entities, relationships, state transitions, commands, events, and workflows
Lead architecture and system design decisions across services, communication layers, and domain boundaries
Build scalable, low-latency, resilient production services
Design reliable communication and messaging flows between distributed system components
Solve complex challenges involving concurrency, scalability, latency, synchronization, and fault tolerance
Build abstraction layers for integrating heterogeneous autonomous devices, platforms, and external systems
Develop internal SDKs, APIs, and reusable infrastructure components
Design systems that can be consumed and operated by humans, autonomous components, and AI agents
Improve observability, debugging capabilities, and operational reliability
Drive engineering best practices, clean architecture, and code quality standards
Explore new technologies and approaches when existing solutions are not sufficient
Requirements: Strong experience building complex production software systems
Strong proficiency in at least one of Java, Python, or C++
Strong software engineering, system design, and architecture fundamentals
Experience with distributed, event-driven, or real-time systems
Understanding of concurrency, networking, messaging, state management, and failure handling
Experience modeling entities, relationships, states, events, and workflows
Experience with communication technologies such as RabbitMQ, gRPC, WebSockets, or similar
Hands-on experience using AI-assisted development tools and coding agents to design, develop, debug, and improve software
Ability to quickly understand unfamiliar technologies and complex systems
Strong ownership and independent problem-solving skills
This position is open to all candidates.