Senior Embedded Software Engineer
caci · Herndon
Job description
About the role
CACI is looking for a Senior Embedded Software Engineer in Herndon to design, architect and implement complex embedded RF systems as part of a multi-disciplinary team building specialized tools, sensors and communications devices. The engineer contributes to software architecture decisions for inter-processor and microservice systems, owns technical design from initial architecture through production deployment, and works across the full embedded stack from signal processing algorithms to FPGA fabric.
Key responsibilities
- Design distributed software architectures spanning x86, ARM and FPGA fabric, defining communication patterns and data flows for real-time RF signal processing systems.
- Develop high-performance C++ frameworks for inter-processor communication and design microservice architectures for x86 and ARM platforms.
- Create technical documentation such as message sequence charts, UML class diagrams and software architecture specifications.
- Profile and optimize software for memory-bound and compute-bound workloads using tools like vTune.
- Work with signal processing engineers to design data pipelines moving RF samples from ADCs through filters, demodulators and decoders.
- Build C++/Python test harnesses and unit tests, and develop debugging approaches for resource-constrained embedded systems.
- Integrate CI/CD pipelines, containerization and build automation, and collaborate with FPGA engineers on hardware/software interfaces.
Required profile
- 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 a related field.
- US citizenship required.
- Desired: experience with communications systems, digital signal processing and wireless protocols (3GPP, IEEE 802.11, IEEE 802.15).
Required skills
- Strong C++ for embedded real-time systems, including concurrency, memory management and optimization.
- Multi-threaded application development and debugging of race conditions.
- Software design patterns and modern build systems and DevOps tools (Conan, Docker, GitLab or similar).
- Performance analysis tools (vTune, perf, gdb, valgrind or similar).
What we offer
- Proposed pay range of $113,200 - $237,800 depending on location, experience and skills.
- Healthcare, wellness, financial, retirement, family support, continuing education and time off benefits.
- Flexible time off and learning resources.
Questions fréquentes
Why are you reporting this job?
Explore further
Salaries, guides and searches in the United States.
Salary: Senior Software Engineer Based on 41 job offers in the United StatesSalaries by job title
- Delivery Specialist 330
- Line Cook 259
- Restaurant Host 249
- Dishwasher 241
- Shift Supervisor 226
- Parts Specialist 208
- Retail Service Specialist 176
- Server - Red Robin 140
Apply in 30 seconds
Enter your email to apply. An account will be created automatically.
By continuing, you accept our terms of use.
Already have an account? Login
A question about this job?
Ask it here: you will get the full job summary by e-mail, right away.
Published 4 hours ago
Expires 1 month from now
4 views · 0 interested
Boost your chances
Upload your CV — we will match you with relevant openings.
Analyzing your CV...
caci
Herndon