onsite
Embedded Software Engineer - CACI International
Software Engineer
Embedded Software Engineer who designs, analyzes, and secures low‑level firmware for proprietary devices, leveraging C/C++ development, reverse engineering, and cybersecurity expertise to build custom test tools and assess system robustness.
About the role
Key Responsibilities
- Design, develop, and maintain firmware for microcontroller‑based products using C and C++.
- Perform reverse engineering of existing embedded binaries to understand functionality and identify security weaknesses.
- Develop custom debugging and analysis tools to evaluate hardware‑software interactions.
- Conduct security assessments, threat modeling, and vulnerability mitigation for embedded platforms.
- Collaborate with hardware engineers to troubleshoot low‑level issues and improve system robustness.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 3+ years of hands‑on experience with embedded C/C++ development on microcontrollers or SoCs.
- Proven expertise in reverse engineering firmware and binary analysis.
- Strong understanding of cybersecurity principles applied to embedded systems.
- Experience with hardware debugging tools (e.g., JTAG, logic analyzers) and software debugging environments.