> Markdown version of [/jobs/ext/2602865-senior-software-engineer-architecture-systems](https://www.wearedevelopers.com/jobs/ext/2602865-senior-software-engineer-architecture-systems). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Software Engineer - Architecture & Systems... - **Company:** CACI International Inc. - **Location:** Herndon, VA, United States - **Experience:** Expert - **Salary:** $94,400.0 - $198,200.0 - **Contract:** Permanent contract - **Skills:** Build Automation, Unit Testing, C++ (Programming Language), Computer Engineering, Continuous Integration, Software Debugging, Software Design Patterns, Linux, DevOps, Programming Tools, Memory Management, Field-Programmable Gate Array (FPGA), GNU Debuggers, IEEE 802.11, Python (Programming Language), Software Architecture, Software Maintenance, Memory Leaks, Signal Processing, Software Engineering, Data Streaming, UML, Multithreading, High Performance Computing, Real Time Systems, Concurrency, Gitlab, Perf (Linux), Containerization, Information Technology, Optimization Algorithms, Build Tools, IEEE 802.15, C++ Frameworks, Data Pipelines, Docker - **Published:** August 5, 2026 - **Apply:** https://www.juju.com/job/00000000gm59g8 ## About the Role + 5-7+ years of professional software engineering experience in embedded systems and/or high-performance computing in Linux based environments + BS or MS in Computer Science, Software Engineering, Electrical or Computer Engineering, or related field + Strong proficiency in C++ development for embedded real-time systems, including concurrency, memory management, and optimization techniques + Demonstrated experience designing and implementing software architectures and communicating technical concepts through documentation and diagrams + Experience with multi-threaded application development and debugging concurrency issues, including race conditions in inter-processor and microservice architectures + Working knowledge of software 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 and debugging tools (vTune, perf, gdb, valgrind, or similar) to identify and optimize bottlenecks + Ability to make informed trade-offs between portability, performance, and architecture-specific optimizations _Desired:_ + Experience with communications systems and digital signal processing, including filters, modulation/demodulation schemes, channel equalization, and forward error correction (FEC) + Experience with wireless communications protocols (3GPP, IEEE 802.11, IEEE 802.15) + Understanding of the signal processing pipeline from RF data collection through digital processing ## Description + Design distributed software architectures spanning multiple processing domains (x86, ARM, FPGA fabric), defining communication patterns and data flows for real-time RF signal processing systems + Develop high-performance C++ frameworks for inter-processor communication in systems where latency and throughput are critical constraints + Create technical documentation including message sequence charts, UML class diagrams, and software architecture specifications that enable distributed teams to build complex systems correctly and efficiently + Design microservice architectures for x86 and ARM platforms, balancing modularity, performance, and resource constraints + Profile and optimize software for memory-bound and compute-bound workloads using tools like vTune, identifying bottlenecks and implementing measurable performance improvements + Work with signal processing engineers to design data pipelines that move RF samples from ADCs through filters, demodulators, and decoders + Develop debugging approaches for resource-constrained embedded systems where standard tools provide limited visibility + Build C++/Python test harnesses and unit tests that generate representative workloads, validate system behavior, and verify edge cases + Integrate modern development tools and practices including CI/CD pipelines, containerization, and build automation + Collaborate with FPGA engineers to define hardware/software interfaces that leverage programmable logic capabilities while maintaining software flexibility ## Related Videos - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Unlocking the potential of Digital & IT at Vodafone](https://www.wearedevelopers.com/videos/602-unlocking-the-potential-of-digital-it-at-vodafone) - [Docker Compose: Rediscovered](https://www.wearedevelopers.com/videos/1978-docker-compose-rediscovered) - [ChatGPT and Java: A Match Made in Heaven or Hell?](https://www.wearedevelopers.com/videos/536-chatgpt-and-java-a-match-made-in-heaven-or-hell) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) - [Docker build without Docker](https://www.wearedevelopers.com/videos/100114-docker-build-without-docker) ## Related Articles - [The 12 Best Jobs for Software Engineers](https://www.wearedevelopers.com/magazine/401-the-12-best-jobs-for-software-engineers) - [Best Countries for Software Engineers](https://www.wearedevelopers.com/magazine/267-best-countries-for-software-engineers) - [Highest Paying Tech Companies for Developers](https://www.wearedevelopers.com/magazine/220-highest-paying-tech-companies-for-developers) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard)