Senior Software Engineer - Architecture & Systems Design

CACI International Inc.
Herndon, VA, United States
4 days ago
Apply on us.experteer.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours

Tech stack

Adobe Analytics Computer-Aided Design Build Automation Unit Testing C++ (Programming Language) Computer Engineering Continuous Integration Software Debugging Software Design Patterns DevOps Distributed Systems Memory Management
+24 more
Field-Programmable Gate Array (FPGA) GNU Debuggers Hardware Interface Design Python (Programming Language) Linux System Administration Radio-Frequency Identification Software Architecture Memory Leaks Signal Processing Software Engineering Multithreading Real Time Systems Concurrency Gitlab Perf (Linux) Containerization Information Technology Low Latency Performance Monitor Build Tools C++ Frameworks Data Pipelines Docker Microservices

Job description

Experteer Overview As a Senior Software Engineer, you will design and implement embedded RF systems within a multi-disciplinary team, shaping software architecture for real-time processing. You will influence inter-processor and microservice decisions that impact performance and latency in resource-constrained environments. You’ll span the full stack from signal processing to hardware interfaces, owning designs from architecture to production. This role offers meaningful impact on demanding, high-rate RF data applications. You will work in a mission-driven environment that values integrity, collaboration, and technical excellence. Compensation / Benefits * Design distributed architectures across x86, ARM, and FPGA to enable real-time RF signal processing * Develop high-performance C++ frameworks for inter-processor communication with low latency * Create architecture docs and diagrams to align distributed teams * Design microservices for x86 and ARM platforms balancing modularity and resource constraints * Profile and optimize memory-bound and compute-bound workloads with performance tools * Collaborate with signal processing engineers on RF data pipelines from ADCs to DSP stages * Develop debugging approaches for resource-constrained embedded systems * Build C++/Python test harnesses and unit tests to validate systems * Integrate CI/CD, containerization, and build automation * Collaborate with FPGA engineers to define hardware/software interfaces Tasks * 5-7+ years in embedded systems or high-performance Linux-based environments * Bachelor in Computer Science, Software Engineering, Electrical or Computer Engineering * Strong C++ expertise for embedded real-time systems (concurrency, memory management, optimization) * Experience designing software architectures and documenting them * Experience with multi-threaded development and debugging concurrency issues * Knowledge of design patterns and development methodologies for complex systems * Experience with modern build systems and DevOps tools (Conan, Docker, GitLab or similar) * Experience with performance analysis/debugging tools (vTune, perf, gdb, valgrind or similar) * Ability to trade off portability, performance, and architecture-specific optimizations * Must be a US Citizen Key requirements * flexible time off * robust learning resources * healthcare * retirement benefits * continuing education * time off benefits

Requirements

resource constraints * Profile and optimize memory-bound and compute-bound workloads with performance tools * Collaborate with signal processing engineers on RF data pipelines from ADCs to DSP stages * Develop debugging approaches for resource-constrained embedded systems * Build C++/Python test harnesses and unit tests to validate systems * Integrate CI/CD, containerization, and build automation * Collaborate with FPGA engineers to define hardware/software interfaces Tasks * 5-7+ years in embedded systems or high-performance Linux-based environments * Bachelor in Computer Science, Software Engineering, Electrical or Computer Engineering * Strong C++ expertise for embedded real-time systems (concurrency, memory management, optimization) * Experience designing software architectures and documenting them * Experience with multi-threaded development and debugging concurrency issues * Knowledge of design patterns and development methodologies for complex systems * Experience with modern aa and systems and DevOps tools (Conan, Docker, GitLab or similar) * Experience with performance analysis/debugging tools (vTune, perf, gdb, valgrind or similar) * Ability to trade off portability, performance, and architecture-specific optimizations * Must be a US Citizen Key requirements * flexible time off * robust learning resources * healthcare * retirement benefits * continuing education * time off benefits

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on us.experteer.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:07 min

Inspecting default bridge architectures and custom Docker networks

Oliver Seitz Oliver Seitz · World Congress 2025

6:14 min

Structuring CI/CD pipelines with integrated security and quality checks

Christoph Ruggenthaler · LIVE

2:17 min

Mapping the maturity roadmap for scaled devops adoption

Dominik Krichbaum Dominik Krichbaum · World Congress 2026 Europe

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

2:34 min

Docker sandbox architecture and microVM environment integration

Manuel de la Peña Manuel de la Peña · World Congress 2026 Europe

Videos

See all

Related articles

See all