COMPANY BACKGROUND
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.
For more information, visit https://epiqsolutions.com.
JOB SUMMARY
We are seeking a diligent and innovative Staff Linux Board Support Package Engineer to join our dynamic team. In this pivotal role, you will lead the development of Board Support Packages (BSP) for our cutting-edge hardware platforms. Your expertise in hardware abstraction layers, firmware, cross discipline platform bring-up, and driver development will be crucial in delivering robust and scalable solutions that drive our technology forward. If you are passionate about embedded systems and eager to work on challenging projects that push the boundaries of technology, we invite you to apply and make a significant impact with us.
- Design and develop Board Support Packages (BSP) for embedded systems, ensuring compatibility with the hardware and operating system.
- Collaborate with hardware engineers to understand board schematics and contribute to the hardware design process with insights from a software perspective.
- Develop and maintain device drivers for on-board peripherals and external devices.
- Implement power management features and optimize the BSP for performance and power efficiency.
- Customize and optimize boot loaders for the specific hardware platform.
- Integrate and validate new product designs with the BSP.
- Troubleshoot and resolve BSP-related issues during the development cycle and post-release.
- Support the creation of software development kits (SDKs) for external developers and clients.
- Maintain and update BSPs for product lifecycle, including patches, security updates, and feature enhancements.
- Provide technical support and guidance to the software development team in the integration of the BSP with application layers.
- Document BSP development processes, configurations, and updates to ensure reproducibility and maintainability.
- Review and adhere to all relevant industry standards and regulatory requirements for embedded system software.
- Collaborate with cross-functional teams to support the overall project and product development timelines.
- Stay current with emerging technologies and industry trends to suggest improvements and advancements for future BSP developments.
- Utilize CI/CD tools for BSP generation and deployment
REQUIRED SKILLS
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field
- Minimum of 6 years of experience in embedded software development with a focus on Board Support Packages (BSPs)
- Strong proficiency in C and C++ programming languages
- Understanding of hardware abstraction layers
- Expertise in developing and debugging device drivers for various peripherals (e.g., SPI, I2C, DMA, PCIe, USB, Ethernet
- Familiarity with processor architectures such as ARM or x86
- Knowledge of bootloaders, kernel configuration, and system initialization
- Experience with Linux kernel development and patch management
- Proficient in working with open-source development tools and environments
- Familiarity with industry standards and certifications relevant to embedded systems
- Experience with version control systems, preferably Git
- Strong critical thinking skills and ability to debug complex hardware and software issues
- Excellent written and verbal communication skills
- Ability to read and interpret complex technical documentation and schematics
- Comfortable working in a cross-functional team and collaborating with hardware engineers
- Familiarity with board bring-up processes and hardware-software integration
- Eligibility to work on Federal contracts which require US Citizenship
PREFERRED SKILLS
- Experience with:
- Scripting languages such as Python or Bash
- Virtualization and containerization technologies such as Docker, QEMU, and/or KVM
- BSP build systems such as Yocto and/or PetaLinux
- AMD Xilinx products such as the UltraScale+
- Remotely deploying updates on embedded devices
- Real-time operating systems (RTOS)
- Familiarity with embedded and operating system security including TPMs, Secure Boot, AppArmor, STIGs, etc.
BENEFITS
- Join a successful and growing company investing in our future success
- Flexible work hours
- Generous vacation policy
- Paid five-week sabbatical every five years
- 401(k) matching
- Health, dental, vision insurance
- Life and long-term disability insurance
- Employee assistance program
- Wellness reimbursement
- 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.