Firmware Engineer
Listed on 2026-08-24
-
IT/Tech
Hardware Engineer
Firmware / Diagnostics Software Engineer
This role focuses on developing and validating embedded diagnostics software on Linux-based systems for advanced networking and telecom hardware products. You will contribute to new hardware system bring-up, create and maintain diagnostic test suites, and help troubleshoot complex hardware issues. The position offers the opportunity to work on both existing and next-generation products, collaborating closely with ASIC engineers, hardware teams, vendors, and manufacturers while using cutting-edge networking and high-speed interface technologies.
Responsibilities- Design, develop, and maintain embedded diagnostics software using C and C++ in a Linux environment.
- Implement and enhance diagnostic test suites to validate hardware functionality, performance, and reliability.
- Participate in new hardware system bring-up, including initial power-on, configuration, and validation of boards.
- Develop, integrate, and debug low-level device drivers for embedded peripherals such as I2C, PCIe, SPI, MDIO, and other interfaces.
- Work with board support packages (BSP), including bootloaders and low-level system initialization for new and existing platforms.
- Perform hands-on work in the lab to bring up boards, configure and test Ethernet and networking interfaces, and validate PHY, SSD, and other high-speed components.
- Troubleshoot and resolve hardware and software interaction issues across microcontrollers, networking ASICs, PHYs, and storage devices.
- Collaborate closely with ASIC and hardware engineering teams to define diagnostics requirements and support hardware validation.
- Coordinate with vendors and manufacturers to support hardware testing, diagnostics integration, and issue resolution.
- Apply knowledge of Layer 2 and Layer 3 networking protocols and technologies, including TCP/IP, to design and validate network-related diagnostics.
- Test and validate networking ASICs and PHYs, including functional, performance, and interoperability testing.
- Develop and execute diagnostics for storage and non-volatile memory devices such as SSD, USB, NVRAM, and eMMC.
- Work with high-speed serdes hardware and software to ensure reliable operation, signal integrity, and performance.
- Document designs, test procedures, and troubleshooting steps to support ongoing product development and maintenance.
- Minimum of a bachelor's degree in computer engineering, computer science, electrical engineering, or a closely related field.
- At least 2 years of professional experience in embedded software development using
C. - Extensive experience with C and C++ programming languages for low-level and embedded systems.
- Hands-on experience with microcontrollers and embedded peripherals such as I2C, PCIe, SPI, MDIO, and similar interfaces.
- Strong experience developing and debugging software in a Linux environment.
- Experience working with board support packages (BSP), including board bring-up, low-level device driver development, and bootloaders.
- Practical lab experience with board bring-up, including configuring and validating Ethernet, networking interfaces, PHYs, SSDs, and other high-speed components.
- Understanding of Layer 2 and Layer 3 network protocols and technologies, including TCP/IP.
- Experience testing and validating networking ASICs and PHYs.
- Experience working with storage and non-volatile memory technologies such as SSD, USB, NVRAM, or eMMC.
- Experience with high-speed serdes hardware or software.
Skills & Qualifications
- Bachelor of Science in electrical engineering, computer engineering, computer science, or a related discipline.
- Experience with embedded C and embedded software development for diagnostics and device drivers.
- Experience in firmware development, including bootloaders and low-level board initialization.
- Experience with device driver development for Linux-based systems.
- Familiarity with board support packages and hardware abstraction for complex networking platforms.
- Exposure to diagnostics methodologies and tools used in large-scale networking or telecom product environments.
- Ability to work effectively with cross-functional teams, including ASIC, hardware, and manufacturing partners.
- Strong analytical and troubleshooting skills for complex hardware-software interaction issues.
This is an onsite position based in Austin, with work performed on-site five days per week. You will spend significant time in a lab environment working directly with development boards, networking equipment, high-speed interfaces, and diagnostic tools. The role involves close collaboration with engineering teams and access to the latest networking, telecom, and hardware technologies, providing a dynamic, technically challenging environment focused on both existing and new product development.
JobType & Location
This is a Contract position based out of Austin, TX.
Pay and BenefitsThe pay range for this position is $50.00 - $52.00/hr individual compensation offered for this position within this range will depend on many…
(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).