Senior Software Engineer - Rolling Meadows, IL
Listed on 2026-09-05
-
Software Development
Software Engineer, Embedded Software Engineer, C++ Developer, DevOps
Senior Staff Embedded Software Engineer
Epiq Solutions develops cutting-edge software-defined radio (SDR) products and processing solutions to enable spectrum dominance for maritime, land, air, and space domains. With 15 years serving government and commercial enterprise customers and 25K+ devices fielded to date, Epiq Solutions is a trusted partner with a proven heritage of delivering open architecture products in radically small form factors where time-to-market, cost, and performance are critical for mission success.
We are seeking a Senior Staff Embedded Software Engineer to join our team and contribute to the integration and development of embedded C/C++ drivers, libraries, and components into our SDR platforms. In addition, you will implement and maintain APIs using various standards (MORA, CMOSS, etc.) to enable end-user configuration, control, and status monitoring of the radios. Applicants should be comfortable with the full SW design and implementation flow including contributing to automated testing and CI/CD workflows.
This position involves close collaboration with a cross functional engineering team to deliver value to the end customer.
- Collaborate with cross-functional teams to design and implement new radio features and add support for new radio products
· Decompose high-level goals/requirements into the detailed software components and interfaces needed to achieve the desired result. - Deliver reliable and accurate estimates for development efforts.
- Promote and implement best practices in software design, development, testing, and documentation.
- Drive continuous improvement initiatives across the development lifecycle.
- Develop applications on embedded Linux systems, using tools such as GCC, GDB, make/Cmake, docker, Jenkins, and rpm/deb packaging.
- Expand automated test coverage of codebase using Pytest with signal in the loop control of external test equipment including USB/ethernet-enabled RF switches, attenuators, signal generators, and vector signal analyzers.
- Support technical investigations and address technical questions.
- Conduct code reviews and mentor junior engineers to promote best practices.
- Document technical specifications, design patterns, and development processes.
Required Skills
- Bachelor's degree in Engineering, Computer Science, or equivalent experience in software development.
- Minimum of 5 years of experience in software development specializing in ARM-based Linux embedded sensors and systems or other hardware-intensive platforms.
- Proficiency in C/C++ library and application development.
- Experience with Python for scripting, tooling, and test automation.
- Familiarity with build systems and CI/CD workflows (Docker, Bitbucket, Jenkins, etc.).
- Hands-on experience working with memory-mapped I/O and hardware register interfaces.
- Knowledge of Linux-based embedded systems, preferably Debian.
- Strong communication skills—both written and verbal.
- Self motivated with exceptional analytical and problem-solving capabilities.
- Willingness to mentor junior engineers.
- Ability to collaborate effectively with a cross functional team of engineers.
- Eligibility to work on Federal contracts which require US Citizenship
Preferred Qualifications
- Strong proficiency in modern C++, including practical experience with C++20.
- Experience designing and maintaining clean C++ APIs, hardware abstraction layers, device interfaces, and reusable software libraries.
- Familiarity with FPGA-based systems and the software interfaces used to configure, control, and validate FPGA functionality.
- Experience with AMD Versal MPSoC or similar platforms.
- Experience working with Git-based source control, containerized development environments, issue tracking, and collaborative development workflows.
- Proficiency in Python for hardware control, automation, data analysis, test development, and engineering utilities.
- Experience with hardware/software integration, including bringing up new functionality, isolating issues between software, FPGA, firmware, and hardware, and developing diagnostic tests.
- Ability to clearly document interfaces, test procedures, design decisions, and troubleshooting findings for software, FPGA, and hardware engineering…
(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).