Senior Firmware Engineer

HumCap
  • Richardson, TX
  • Quick Apply
30+ days ago

Job Description


Position Summary
We are seeking a Senior Embedded Linux Software Engineer to design, develop, and support embedded software solutions for advanced imaging and scanning systems. This role will be responsible for developing Linux-based embedded applications, kernel drivers, manufacturing test software, and system-level integrations while working closely with Electrical, Mechanical, and Systems Engineering teams.
IMPORTANT: Recent, hands-on experience with the Yocto Project is required. Candidates without meaningful Yocto experience will not be considered.
The ideal candidate is a hands-on engineer with deep expertise in Embedded Linux, Yocto, device driver development, and hardware/software integration. This individual will play a key role in bringing next-generation products from concept through production while supporting existing platforms in the field.
Essential Responsibilities
Embedded Software Development
  • Design, develop, test, and maintain embedded software for Linux-based products and embedded processors.
  • Develop Linux kernel modules, device drivers, and hardware abstraction layers for custom hardware platforms.
  • Create software interfaces for hardware utilizing I2C, SPI, UART, GPIO, MIPI-CSI2, and SoC-specific peripherals.
  • Develop embedded applications using C, C++, Python, and Shell scripting.
  • Configure, customize, build, and maintain Embedded Linux distributions using the Yocto Project.
  • Develop scalable, maintainable, and production-ready software architectures.
System Integration & Hardware Bring-Up
  • Work closely with Electrical Engineers to support board design reviews, hardware validation, and system bring-up.
  • Read and interpret electronic schematics to troubleshoot hardware and software interactions.
  • Develop prototypes to evaluate new hardware, firmware, and software technologies.
  • Integrate new hardware platforms into existing software environments.
  • Rapidly understand and contribute to existing codebases and software architectures.
Product Development & Optimization
  • Debug complex embedded systems and resolve software, hardware, and integration issues.
  • Implement system diagnostics, logging, and error reporting capabilities.
  • Analyze and optimize system performance, reliability, and scalability.
  • Participate in design reviews and contribute to technical decisions throughout the product lifecycle.
Manufacturing & Production Support
  • Develop embedded software and automated test applications used in manufacturing environments.
  • Support manufacturing and technical support teams in troubleshooting production and field-related issues.
  • Create tools and utilities that improve product testing, diagnostics, and quality.
Collaboration & Continuous Improvement
  • Collaborate with cross-functional engineering teams to develop innovative solutions.
  • Participate in code reviews and maintain software development best practices.
  • Contribute to build automation, CI/CD initiatives, and release management processes.
  • Create and maintain technical documentation related to software architecture, development, testing, and deployment.
Required Qualifications
Education & Experience
  • Bachelor's or Master's degree in Computer Engineering, Computer Science, Electrical Engineering, or a related technical discipline.
  • 5+ years of experience developing embedded software for commercial products.
  • Proven experience supporting products through development, manufacturing, and production environments.
Technical Requirements
  • Strong programming skills in C, C++, Python, and Shell scripting.
  • Extensive experience with Embedded Linux development.
  • Experience developing Linux kernel drivers and user-space applications.
  • Experience with U-Boot, Linux kernel configuration, and Linux device tree development.
  • Experience with embedded communication interfaces including I2C, SPI, UART, GPIO, and MIPI-CSI2.
  • Experience using GCC toolchains, CMake, and related embedded development tools.
  • Ability to read and troubleshoot electronic schematics.
  • Experience supporting hardware bring-up and board-level debugging.
  • Strong debugging and root-cause analysis skills.
REQUIRED - Yocto Project Experience
Candidates must possess hands-on experience with the Yocto Project, including:
  • Building and maintaining custom Linux distributions using Yocto.
  • Creating and modifying recipes, layers, and BitBake configurations.
  • BSP integration and customization.
  • Using BitBake, Devtool, and associated Yocto development tools.
  • Image generation, package management, and deployment processes.
  • Troubleshooting build environments and dependency issues.
  • Supporting production-level embedded Linux platforms built on Yocto.
Yocto experience is a mandatory requirement and will be heavily weighted during the evaluation process.
Preferred Qualifications
  • Experience with Video4Linux2 (V4L2) and Videobuf2 APIs.
  • Experience developing multimedia pipelines using GStreamer, including custom plugins and elements.
  • Experience with Linux kernel debugging techniques, including KGDB, OpenOCD, kernel instrumentation, and dynamic debugging.
  • Experience with JTAG and ICE debugging tools such as Segger J-Link.
  • Experience with FPGA development and integration using Verilog or VHDL.
  • Experience working with CCD or CMOS image sensors.
  • Experience with motion control systems, motor drives, and electromechanical products.
  • Experience setting up and maintaining Docker-based build environments.
  • Experience implementing CI/CD pipelines using Jenkins or similar tools.
  • Experience developing manufacturing, diagnostic, or test applications on Linux, Windows, or macOS.
  • Experience developing products subject to FCC, UL, RoHS, or similar regulatory standards.
Success Profile
The successful candidate will serve as a key technical contributor responsible for the Embedded Linux software stack, from bootloader through application layer. They will be comfortable working directly with hardware engineers, owning complex technical challenges, and delivering reliable, production-ready solutions for advanced imaging and scanning systems.
One recruiting tweak I'd make: change the title to "Senior Embedded Linux Software Engineer (Yocto Required)". Putting "Yocto Required"in the title will eliminate a huge number of unqualified applicants before they ever hit your ATS.
 

Numbers & Facts

LocationRichardson, TX

Skills

  • Analysis Skillsunmatched
  • Application Programming Interface (API)unmatched
  • Automationunmatched
  • BSPunmatched
  • Best Practicesunmatched
  • Bootingunmatched
  • Boundary Scanunmatched
  • C Programming Languageunmatched
  • C++ Programming Languageunmatched
  • CMOSunmatched
  • CMakeunmatched
  • Code Reviewsunmatched
  • Computer Engineeringunmatched
  • Computer Firmwareunmatched
  • Computer Programmingunmatched
  • Computer Scienceunmatched
  • Continuous Deployment/Deliveryunmatched
  • Continuous Improvementunmatched
  • Continuous Integrationunmatched
  • Cross-Functionalunmatched
  • Debugging Skillsunmatched
  • Debugging Toolsunmatched
  • Device Driversunmatched
  • Dockerunmatched
  • Dynamic Debugging Techniqueunmatched
  • Electrical Engineeringunmatched
  • Electricityunmatched
  • Electromechanicsunmatched
  • Embedded Linuxunmatched
  • Embedded Processorsunmatched
  • Embedded Softwareunmatched
  • Embedded Systemsunmatched
  • Environmental Issuesunmatched
  • FCC (Federal Communications Commission)unmatched
  • FPGAunmatched
  • GNU C Compilerunmatched
  • Hardware Administrationunmatched
  • Hardware Designunmatched
  • Hardware Evaluationunmatched
  • Hardware-Software Integrationunmatched
  • I2Cunmatched
  • Identify Issuesunmatched
  • Instrumentationunmatched
  • Jenkinsunmatched
  • Kernel Programmingunmatched
  • Linux Administrationunmatched
  • Linux Distributionsunmatched
  • Linux Kernelunmatched
  • Linux Kernel Driversunmatched
  • Linux Operating Systemunmatched
  • Mac Operating Systemunmatched
  • Manufacturingunmatched
  • Manufacturing Softwareunmatched
  • Manufacturing/Production Testingunmatched
  • Mechanical Engineeringunmatched
  • Microsoft Windows Operating Systemunmatched
  • Motion Controlunmatched
  • Motor Control Systemsunmatched
  • Multimediaunmatched
  • Performance Tuning/Optimizationunmatched
  • Peripheral Hardwareunmatched
  • Printed Circuit Board Designunmatched
  • Product Developmentunmatched
  • Product Lifecycleunmatched
  • Product Supportunmatched
  • Product Testingunmatched
  • Production Supportunmatched
  • Production Systemsunmatched
  • Programming Toolsunmatched
  • Prototypingunmatched
  • Python Programming/Scripting Languageunmatched
  • Recipe Developmentunmatched
  • Reduction of Hazardous Substances (RoHS)unmatched
  • Regulationsunmatched
  • Release Management/Engineeringunmatched
  • Reporting Skillsunmatched
  • Root Cause Analysisunmatched
  • Scalable System Developmentunmatched
  • Schematicsunmatched
  • Software Administrationunmatched
  • Software Architectureunmatched
  • Software Designunmatched
  • Software Developmentunmatched
  • Software Engineeringunmatched
  • System Integration (SI)unmatched
  • System-on-a-Chip (SoC)unmatched
  • Systems Analysisunmatched
  • Systems Engineeringunmatched
  • Systems Reliabilityunmatched
  • Technical Deliveryunmatched
  • Technical Supportunmatched
  • Technical Writingunmatched
  • Test Automationunmatched
  • Test Plan/Scheduleunmatched
  • Testingunmatched
  • Universal Asynchronous Receiver-Transmitter (UART)unmatched
  • Unix Shell Programmingunmatched
  • VHDL Hardware Description Languageunmatched
  • Verilog Hardware Description Languageunmatched
  • Web Client Plug-insunmatched

Be found by employers

5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

Level up your application

Professional resume templates

Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

Free resume templates

Free resume builder

Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

Free resume builder