Principal Software Engineer - Workload Communications Domain Lead

SciTec · Huntsville

Principal Software Engineer - Workload Communications Domain Lead at SciTec, based in Huntsville. This is a contract role.

Salary
Competitive
Location
Huntsville
Contract
Contract
Posted
18 hours ago
Closes
27 Oct 2026
Sector
Software Developer

Reference workable_scitec_F0EF4CBCBE

About the role

SciTec, a Firefly Aerospace company is a dynamic non-traditional defense contractor that delivers advanced technologies in support of U.S. National Security and Defense. For the past forty-five plus years, we have supported Department of Defense customers by developing innovative remote sensing algorithms, tools, and techniques to deliver world-class data exploitation capabilities supporting missile defense; intelligence, surveillance, & reconnaissance; space domain awareness; and aircraft survivability missions. Important Notice: SciTec exclusively works on U.S. government contracts that require U.S. citizenship for all employees. Applicants that do not meet this requirement will not be considered. We are seeking a Principal Software Engineer to serve as our Workload Communications Domain Lead. In this role, you will guide how our engineering teams design and optimize the flow of data and control between processes, services, containers, and other distributed workloads that support mission critical data processing, visualization, and operational workflows. This role is hands on and combines deep technical work with technical stewardship: you will assess how our teams communicate between workloads today, establish evidence-based recommendations, build reference implementations, and work directly with engineers to raise our organization-wide capability. The ideal candidate has deep, production-grade expertise in distributed messaging, event streaming, and RPC systems, the ability to select communication patterns based on real workload requirements, and the communication and mentoring skills to turn that expertise into practical guidance that other engineers can adopt independently. Responsibilities Assess current communication technologies, patterns, recurring problems, and capability gaps across engineering teams. Define evaluation criteria and use load tests and benchmarks under representative traffic and failure conditions to select and maintain a Core Collection of recommended communication technologies, patterns, and practices. Document recommended technologies, valid alternatives, and exceptional cases through decision guides, reference architectures, architecture decision records (ADRs), and tuning and troubleshooting guides. Build and maintain validated reference implementations, starter templates, and shared libraries for common communication use cases. Guide the choice between synchronous request/response, asynchronous messaging, event streaming, and other communication patterns. Establish practices for delivery guarantees, ordering, retries, deduplication, and idempotency. Guide backpressure, buffering, batching, flow control, and consumer concurrency design. Optimize throughput, latency, serialization overhead, network utilization, and memory pressure. Establish practices for message schemas, data contracts, and backward- and forward-compatible schema evolution. Guide partitioning, fan-out, replay, retention, and consumer-group design. Establish practices for fault handling, dead-letter processing, observability, and recovery. Partner with engineers through pair programming, design and code reviews, troubleshooting, and focused workshops to support consistent adoption of recommended practices. Collaborate with Data Storage and Deployment Environments domain leads on cross-domain problems such as consumer lag, memory pressure, distributed tracing, and end-to-end throughput and latency. Periodically reassess and update recommendations and documentation as technologies, workloads, and engineering needs change. Track adoption and engineering outcomes against established baselines and report results to engineering leadership. Perform other duties as assigned. Requirements Bachelor’s degree in Computer Science, Engineering, Mathematics, Physical Sciences, or a related technical field. 10+ years of professional experience designing, implementing, and troubleshooting production software systems, including significant experience with distributed communication systems. Deep production experience with one or more message brokers or event streaming platforms (e.g., Kafka, RabbitMQ, ActiveMQ, MQTT). Experience with one or more RPC or low-level messaging frameworks (e.g., gRPC, ZeroMQ). Strong understanding of delivery semantics, ordering, idempotency, backpressure, and fault handling in distributed systems. Experience with serialization formats and schema evolution (e.g., Protocol Buffers, Avro, FlatBuffers, JSON Schema). Demonstrated ability to load test and profile communication paths, analyze results, and turn findings into actionable recommendations. Experience evaluating technical alternatives and clearly articulating their tradeoffs. Proficiency in at least one backend language such as C++, Python, Go, Rust, Java, or TypeScript/Node.js. Comfortable working in Linux development environments. Strong technical writing, mentoring, and cross-team communication skills, with the ability to influence engineerin…

Reference: workable_scitec_F0EF4CBCBE · Posted 18 hours ago · Closes 27 Oct 2026 · Listed via SciTec

Know someone who'd be great for this? Get a shareable card

Apply for this job

This role is listed via SciTec. Applications are handled on the employer's site.

Apply on employer site

Opens the employer's website in a new tab.

Safe applying: a genuine employer will never ask you to pay for a DBS check, training or equipment, or move you onto WhatsApp before you are hired. If this listing does, report it and do not pay anything.

Report this job
Salary Competitive
Apply now