Senior Software Architect
Job in
Herndon, Fairfax County, Virginia, 22095, USA
Listed on 2026-10-13
Listing for:
CACI International
Full Time
position Listed on 2026-10-13
Job specializations:
-
Software Development
Software Engineer, Software Architect, Embedded Software Engineer, C++ Developer
Job Description & How to Apply Below
Senior Software Architect Job Category:
Engineering Time Type:
Full time Minimum Clearance Required to Start:
None Employee Type:
Regular Percentage of
Travel Required:
None Type of Travel:
None*
*
* The Opportunity:
Design, architect, and implement complex embedded RF systems as part of a multi-disciplinary team working on specialized tools, sensors, and communications devices for demanding applications
Contribute to software architecture decisions for inter-processor and microservice systems where your technical choices directly impact system performance, real-time behavior, and the ability to process high-rate RF data in resource-constrained environments
Work with engineers across the full embedded system stack—from signal processing algorithms to FPGA fabric, from application layer to hardware interfaces
Own technical design from initial architecture through production deployment, making practical trade-offs between competing constraints like schedule, performance, portability, and maintainability Responsibilities:
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
Qualifications:
Required:
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 Dev Ops tools (Conan, Docker, Git Lab 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 Must be a US Citizen Desired:
Experience with communications systems and…
Position Requirements
10+ Years
work experience
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×