CACI International

Senior Software Engineer - Architecture & Systems Design

CACI International$94K — $198K *
Aerospace & Defense
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • 5-7+ years of professional software engineering experience in embedded systems or high-performance computing in Linux 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
  • Experience designing and implementing software architectures, with strong documentation skills
  • Knowledge of multi-threaded application development and debugging concurrency issues
  • Familiarity with software design patterns and modern development methodologies
  • Experience with performance analysis and debugging tools like vTune and gdb

Responsibilities

  • Design distributed software architectures for real-time RF signal processing systems
  • Develop high-performance C++ frameworks focusing on latency and throughput
  • Create technical documentation that aids distributed teams in system construction
  • Design microservice architectures for various platforms, balancing modularity and performance
  • Profile and optimize software using tools to identify and resolve bottlenecks
  • Work with engineers to design data pipelines for RF signal processing
  • Develop debugging methodologies for embedded systems with limited tool visibility

Benefits

  • Comprehensive healthcare benefits
  • Financial and wellness programs
  • Retirement savings plans
  • Support for family needs
  • Continuing education support
  • Flexible work-life balance options
  • Generous time off benefits
Full Job Description
Job Title: Senior Software Engineer - Architecture & Systems Design

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: 

  • 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

-

Pay Range:

There are a host of factors that can influence final salary including, but not limited to, geographic location, Federal Government contract labor categories and contract wage rates, relevant prior work experience, specific skills and competencies, education, and certifications. Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives. We offer competitive compensation, benefits and learning and development opportunities. Our broad and competitive mix of benefits options is designed to support and protect employees and their families. At CACI, you will receive comprehensive benefits such as; healthcare, wellness, financial, retirement, family support, continuing education, and time off benefits.

The proposed salary range for this position is:

$94,400 - $198,200

About CACI International

CACI International Inc is a multinational professional services and information technology company. It provides services to many branches of the federal government including defense, homeland security, intelligence, and healthcare. CACI has approximately 23,000 employees worldwide. The company's mission is to provide enterprise and mission technology services and solutions that best fit the needs of its customers. CACI has been named a Fortune World's Most Admired Company, a Washington Post Top Workplace, and a Forbes Best Employer for Diversity.
Learn more about CACI International
Size
22,000 employees
Market Cap
$7.1 billion
Industry
Net Income
$374.4 million
Founded
1962
5 Year Trend
+7.3%
Revenue
$5.8 billion
NASDAQ

Similar Jobs

More Jobs at CACI International

More Aerospace & Defense Jobs

Find similar Senior Software Engineer - Architecture & Systems Design jobs: