About This Role
This role leads the architecture, technical evolution, and operational design of a large-scale, globally distributed mission platform deployed across multiple countries and managed remotely from the United States. The Software Architect serves as the overall software architecture authority for a modern Linux-based microservices platform supporting real-time processing, distributed data, external integrations, device orchestration, observability, and administration.
Responsibilities
- Own the overall software architecture for a distributed microservices platform operating across global environments
- Maintain and evolve an ecosystem of approximately 25 core Java-based microservices plus supporting and integration services
- Define and govern architecture across service boundaries/contracts, data flows/event patterns, control-plane/backplane behavior, node roles/deployment topologies, observability, fault tolerance, and service recovery
- Lead architecture for a platform using RHEL/Rocky Linux, Java (JDK 21+), Vue.js 3, MongoDB, Elasticsearch/Logstash, RabbitMQ, Consul, Nomad, and Vault
- Architect deployment patterns for server, data, arbiter, and workstation/user-facing nodes
- Guide technical design of transactional processing, rules/screening/correlation, authorization/access control, reference/master data, internationalization, health/status, and biometric/matching services
- Oversee architecture for peripheral/device services and external standards-based or partner-system interfaces
- Ensure the platform remains remotely observable, supportable, and maintainable across all deployments
- Partner with cloud, network, security, data, field engineering, and operations teams to align architecture with deployment realities
- Review and guide software design decisions, technical-debt reduction, modernization priorities, roadmap sequencing, design/readiness reviews, problem resolution, and major incident analysis
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Data Engineering, Information Systems, or a related technical field; four additional years of experience may substitute for a degree
- Twelve or more years of software engineering experience, including significant software architecture experience with distributed or mission-critical systems
- Five or more years architecting microservices-based platforms in production
- Demonstrated ability to serve as technical authority over a multi-service software ecosystem
- Experience guiding multiple development teams and reviewing architecture across service boundaries
- Strong written and verbal communication skills, including development of design artifacts and presentation of architecture decisions
- Experience balancing long-term architecture quality with delivery constraints and operational realities