> Markdown version of [/jobs/ext/2189178-firmware-engineer](https://www.wearedevelopers.com/jobs/ext/2189178-firmware-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). --- # Firmware Engineer - **Company:** CareerCircle - **Location:** Austin, TX, United States - **Experience:** Experienced - **Salary:** $104,000.0 - $108,160.0 - **Contract:** Temporary contract - **Skills:** Board Bringup, Microsoft Access, C (Programming Language), Artificial Intelligence, Booting (BIOS), Binary Space Partitioning, C++ (Programming Language), Computer Engineering, System Configuration, Software Debugging, Linux, Device Drivers, Embedded C, Embedded Software, Ethernet, Hard Disk Drives, Firmware, Networking Hardware, Interoperability, Network Layer, Linux System Administration, Network Protocols, Non-Volatile Memory, PCI Express, Signal Integrity, System Programming, TCP/IP, Transmission Control Protocol (TCP), Diagnostic Tools, Storage Devices, Serial Peripheral Interface, PIC Microcontroller, Application Specific Integrated Circuits, Hardware Testing, Information Technology, EMMC, Programming Languages - **Published:** August 22, 2026 - **Apply:** https://www.careercircle.com/jobs/all/all/usa/tx/austin/7abd7f79-f468-4216-8a36-130c4335d58c ## About the Role I2C, Linux TCP/IP Firmware Ethernet Debugging Visionary Innovation Embedded C Test Design PCI Express Boot Loaders Network Layer Device Drivers Board Bring-Up Computer Science Diagnostic Tools Hardware Support Microcontrollers Interoperability Diagnostic Tests Signal Integrity Embedded Software Network Protocols Peripheral Devices Telecommunications Solid-State Drives Networking Hardware Non-Volatile Memory Computer Engineering Firmware Development Hardware Abstraction Programming Languages Laboratory Experience Electrical Engineering New Product Development Artificial Intelligence C (Programming Language) Binary Space Partitioning Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Management Data Input/Output Serializer/Deserializer (SerDes) Troubleshooting (Problem Solving) Non-Volatile Random-Access Memory Transmission Control Protocol (TCP) Application Specific Integrated Circuits, * 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. * in low-level programming, including direct interaction with hardware and memory. * 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., * 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., Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors., Firmware Ethernet Debugging Visionary Innovation Embedded C Test Design PCI Express Boot Loaders Network Layer Device Drivers Board Bring-Up Computer Science Diagnostic Tools Hardware Support Microcontrollers Interoperability Diagnostic Tests Signal Integrity Embedded Software Network Protocols Peripheral Devices Telecommunications Solid-State Drives Networking Hardware Non-Volatile Memory Computer Engineering Firmware Development Hardware Abstraction Programming Languages Laboratory Experience Electrical Engineering New Product Development Artificial Intelligence C (Programming Language) Binary Space Partitioning Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Management Data Input/Output Serializer/Deserializer (SerDes) Troubleshooting (Problem Solving) Non-Volatile Random-Access Memory Transmission Control Protocol (TCP) ## Description 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., * 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. ## Related Videos - [An Applied Introduction to eBPF with Go](https://www.wearedevelopers.com/videos/1075-an-applied-introduction-to-ebpf-with-go) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Turning Container security up to 11 with Capabilities](https://www.wearedevelopers.com/videos/718-turning-container-security-up-to-11-with-capabilities) - [Smart, Connected, Unexpected: The Wild Side of IoT and AI](https://www.wearedevelopers.com/videos/1113-smart-connected-unexpected-the-wild-side-of-iot-and-ai) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [Best Countries for Software Engineers](https://www.wearedevelopers.com/magazine/267-best-countries-for-software-engineers) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Highest Paying Tech Companies for Developers](https://www.wearedevelopers.com/magazine/220-highest-paying-tech-companies-for-developers) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated)