Epiq Solutions is a product-focused engineering company that develops Software Defined Radio (SDR) transceiver cards, systems, and turnkey processing solutions that push the state of the art in RF sensing, security, and wireless communications. Our products are utilized by 400+ commercial and defense/security customers around the world, providing solutions for multiple markets including embedded wireless transceivers, cellular survey, RF test and measurement, technical surveillance countermeasures (TSCM), drone detection systems, and more. Since bootstrapping the business in 2009, the company has been steadily growing, with a team-focused get-stuff-done culture that enables makers to thrive.
Do you enjoy developing complex multi-threaded Linux software applications?
Is your sweet spot writing code to interact with the real world through a range of different hardware interfaces?
Have you ever been challenged to architect software components that have to efficiently manage and process 100s - 1000s of Mbytes of data per second?
If so, we’d like to talk.
We are growing our software team responsible for the core set of software libraries and device drivers that enable our customers to build products leveraging our Sidekiq software defined radio portfolio. These software components (collectively called libsidekiq) provide a well-defined unified API to accelerate our customers developing radio applications in support of a wide range of use-cases, including applications such as 4G/5G base stations, RF test and measurement equipment, drone detection systems, and everything in between.
The ideal candidate has demonstrated experience developing Linux user space applications and/or libraries that control low level hardware peripherals (everything from temperature sensors to DMA controllers to FPGAs), as well as efficiently handling high-rate data streaming applications that move 100s to 1000s of Mbytes of data per second. Our customers are building radio products that integrate our Sidekiq SDRs with our libsidekiq library targeting platforms ranging from small ARM-based embedded Linux systems all the way up to server-class multicore x86 Linux systems with GPUs capable of an exceptional amount of processing. The combination of our SDR hardware plus libsidekiq software library serve a foundational element in their product success.
You’ll be part of a team of makers responsible for architecture, prototyping, implementing, testing, and releasing new software features and enhancements supporting our portfolio of SDRs. You should be comfortable using modern Linux software development tools including GCC, GDB, git, make/cmake, and CI/CD tools on a daily basis. While you’ve no doubt spent most of your time in the software world, you don’t shy away from understanding how the hardware works, enabling your software to operate efficiently and effectively. That may not mean picking up a soldering iron, but it typically would include having an interest in being part of the team reviewing schematic diagrams for our future SDR products.
Epiq Solutions’ headquarters is located in Rolling Meadows, IL. We have engineers working locally and remotely from around the country. We ensure our remote employees have the hardware and software tools to succeed in their job and count on them to be proactive in their daily development efforts with the rest of the team.
- Minimum of 8 years of relevant software development experience.
- Bachelor's degree or higher in engineering, computer science or equivalent experience in software development.
- Significant demonstrated software engineering skills with experience in C/C++ development (if you can share any relevant open-source projects where you’ve contributed, we’d love to take a peek).
- Hands-on experience developing Linux user space applications for either ARM or x86-based platforms; ideally these applications also interface with low level hardware peripherals and interfaces such as SPI and I2C, as well as high-rate data streaming transports such as USB, PCIe, or 10/40/100 Gigabit Ethernet.
- Experience with software development and debugging on both embedded and server-class Linux systems, using tools such as GCC, GDB, make/cmake, docker, CI/CD, and rpm/deb packaging.
- Demonstrated ability to take a set of high level goals/requirements and translate them into the detailed software components and interfaces needed to achieve the desired end result.
- Comfortable with communication (both in-person and remote, written and verbal).
- Able to work both independently and as part of a team.
- Exhibits attention to detail.
- Self-motivated and able to multitask between two or more projects.
- Eligibility to work on Federal contracts that require US Citizenship.
- Experience developing software applications that leverage GPU-accelerated processing.
- General understanding of RF.
- Previous experience working in the field of software defined radio.
- In addition to significant C/C++ experience, familiarity with one or more programming languages such as Java, Python, or Go.
- Experience developing and debugging Linux kernel space device drivers.
- Experience with test automation through the control of external test equipment including USB/ethernet-enabled RF switches, attenuators, signal generators, and vector signal analyzers.
- Basic understanding of digital signal processing concepts.
- Active United States Secret security clearance or the ability and willingness to obtain one.
- Flexible work hours and telecommuting options (full-time remote is an option)
- Generous vacation policy
- Paid five-week sabbatical every five years
- 401(k) matching
- 401(k) profit sharing
- Health, dental, vision insurance
- Life and long-term disability insurance
- Employee assistance program
- Wellness reimbursement
- On site fitness facility
- Charitable giving company match
- Competitive salary commensurate with experience and performance
- Fun, laid-back culture and rewarding work!
Epiq Solutions is an Equal Employment Opportunity Employer - All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.