> Markdown version of [/jobs/ext/3547696-senior-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/3547696-senior-embedded-software-engineer). 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 Embedded Software Engineer - **Company:** Caci Inc - **Location:** Florham Park, NJ, United States - **Experience:** Expert - **Salary:** $113,200.0 - $237,800.0 - **Contract:** Permanent contract - **Skills:** C (Programming Language), Assembly Language, C++ (Programming Language), Cyber Security, Software Debugging, Device Drivers, Embedded Software, Firmware, Field-Programmable Gate Array (FPGA), Joint Test Action (IEEE Standards), Python (Programming Language), Linux Kernel, PCI Express, Program Analysis, Queueing Systems, Real-Time Operating Systems, Powerpc, Reverse Engineering, Reduced Instruction Set Computing, System Programming, Universal Asynchronous Receiver/Transmitter, VxWorks, Serial Peripheral Interface, IDA Pro, Build Tools, U-Boot - **Published:** October 2, 2026 - **Apply:** https://www.clearancejobs.com/jobs/9213060/senior-embedded-software-engineer ## About the Role * Must be a US Citizen and the ability to obtain a security clearance. * 5+ years of professional experience in embedded software development with reverse engineering skills. * Proficiency in C, C++, and assembly programming for embedded architectures such as ARM, MIPS, x86, or RISC-V. * Experience with RTOS environments, including VxWorks and embedded Linux device driver development. * Understanding of embedded software IPC mechanisms, such as message queues, shared memory, and semaphores. * Familiarity with embedded hardware interfaces, including SPI, I2C, PCIe, UART, and memory-mapped I/O. * Proficient in Python3 for scripting and automation. * Hands-on experience with disassembly and decompilation tools (e.g., IDA Pro, Ghidra, Binary Ninja) and debugging tools (GDB, JTAG). * Knowledge of embedded security concepts, including secure boot, firmware encryption, and hardware authentication. Desired: * An active security clearance is highly desired. * Experience in cybersecurity research, vulnerability discovery, or exploit development in embedded or telecom environments. * Familiarity with PowerPC assembly, including QUICC-based systems. * Experience with ARM assembly and debugging of SoC-based embedded platforms. * Understanding of Linux kernel internals and/or VxWorks internals. * Hands-on experience with FPGA-based systems, including those with embedded ARM or PowerPC cores. * Background in embedded hardware design and debug, including the use of oscilloscopes, logic analyzers, and firmware extraction techniques. * Ability to build tools and infrastructure to support analysis workflows in a team setting. ## Description We are seeking anSenior Embedded Software Engineer with expertise in embedded systems, reverse engineering, and cybersecurity. This role is ideal for someone who thrives on technical ambiguity, enjoys uncovering how complex systems really work, and excels in low-level software and hardware analysis. You'll play a key role in evaluating security and robustness of proprietary embedded systems-developing custom tools, uncovering vulnerabilities, and contributing directly to national cybersecurity efforts. * Challenging, impactful work at the intersection of embedded systems, telecom, and cybersecurity. * A technically driven environment that encourages innovation and deep technical exploration. * Opportunities to publish research, present findings, or contribute to classified mission success. * A team culture that values technical mastery, curiosity, and mentorship. * Support for continued learning, certifications, and reverse engineering challenges., * Reverse engineer embedded firmware, device drivers, and proprietary telecom systems to identify undocumented functionality and potential security issues. * Perform firmware extraction, binary diffing, static and dynamic analysis, and hardware-assisted debugging. * Collaborate with hardware engineers to access debug interfaces (e.g., JTAG, SWD), extract flash images, and inspect hardware state. * Develop custom tools and scripts (e.g., in Python3) to automate analysis workflows such as firmware unpacking, protocol decoding, and memory analysis. * Investigate edge-case behaviors, error-handling routines, and low-level system initialization logic to reveal attack surfaces. * Document findings clearly and translate technical complexity into actionable reports for security and engineering teams. ## Related Videos - [Unleashing the Full Potential of the Arm Architecture – Write Once, Deploy Anywhere](https://www.wearedevelopers.com/videos/940-unleashing-the-full-potential-of-the-arm-architecture-write-once-deploy-anywhere) - [Passive ARM Assembly Skills for Debugging, Optimization (and Hacking)](https://www.wearedevelopers.com/videos/1083-passive-arm-assembly-skills-for-debugging-optimization-and-hacking) - [Cyber Security: Small, and Large!](https://www.wearedevelopers.com/videos/259-cyber-security-small-and-large) ## Related Articles - [9 Ways to Make Money Hacking](https://www.wearedevelopers.com/magazine/333-9-ways-to-make-money-hacking) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Dev Digest 134 - Where pixels sing?](https://www.wearedevelopers.com/magazine/477-dev-digest-134-where-pixels-sing) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Fully Remote Software Engineer Jobs](https://www.wearedevelopers.com/magazine/447-fully-remote-software-engineer-jobs)