Senior Embedded Software Engineer
Job Summary
Role Overview
We are seeking a highly skilled Senior Embedded Software Engineer to join our engineering team. This role demands a seasoned professional with deep technical mastery across the full embedded stack from low-level bare-metal firmware through RTOS-based systems to Linux kernel and application-layer development. The ideal candidate bridges hardware and software domains fluently bringing hands-on FPGA development experience alongside proven capability in upper-computer (PC/host-side) software. This is a senior individual contributor role requiring independent technical judgment architectural thinking and the ability to drive complex projects from concept to production.
Key Responsibilities
Architect develop debug and optimize firmware and software for embedded platforms spanning bare-metal RTOS and embedded Linux environments
Write and maintain board support packages (BSPs) bootloaders peripheral drivers and hardware abstraction layers for microcontrollers and SoCs
Develop and maintain Linux kernel modules device drivers device-tree configurations and root filesystem customization for embedded Linux targets
Design implement and verify FPGA logic (Verilog/VHDL); collaborate with hardware teams on FPGA-based prototyping signal processing pipelines or custom peripheral integration; develop and debug firmware-FPGA interfaces
Develop host-side applications (C/C Python C# or Qt-based) for device communication data acquisition test automation calibration tools and production diagnostics
Lead board bring-up activities integrate software/firmware/FPGA components and drive system-level debugging using oscilloscopes logic analyzers JTAG/SWD debuggers and protocol analyzers
Profile and optimize system performance (latency throughput memory footprint power consumption); implement robust error handling watchdog strategies and fault-tolerant designs
Provide architectural guidance and code reviews; mentor junior engineers; establish coding standards documentation practices and development workflows for the embedded team
Work closely with hardware mechanical test and product teams to translate system requirements into embedded software specifications and deliver integrated solutions
Qualifications :
B.S. or M.S. in Electrical Engineering Computer Engineering Computer Science or a related discipline
8 years of professional embedded software/firmware development experience
Deep proficiency in C/C for resource-constrained targets; extensive experience with at least one commercial or open-source RTOS; solid understanding of real-time scheduling interrupt handling synchronization primitives and deterministic timing
Demonstrated experience with Linux kernel internals driver development kernel module programming user-space/kernel-space interfaces (ioctl sysfs netlink) and cross-compilation toolchains
Hands-on development in Verilog or VHDL targeting Xilinx and/or Intel (Altera) platforms; familiarity with synthesis timing closure simulation and on-chip debug (ILA/SignalTap)
Proven track record building PC-side applications for embedded device interaction serial/USB/Ethernet communication stacks GUI or CLI tools and automated test frameworks
Expert-level use of JTAG/SWD debuggers logic analyzers oscilloscopes; proficiency with version control (Git) CI/CD pipelines and build systems (Make CMake Yocto/Buildroot)
Strong technical writing and verbal communication skills; ability to produce clear design documents interface specifications and technical reports
Proficient in English verbal communication; able to effectively collaborate and conduct technical discussions across cross-functional and cross-regional teams
Preferred Qualifications
Experience with high-speed interfaces: PCIe USB 3.x Ethernet (including RGMII/SGMII) or MIPI
Familiarity with hardware description and verification methodologies (SystemVerilog UVM) or High-Level Synthesis (HLS)
Experience with signal/image processing algorithms implemented in firmware or FPGA fabric
Proficiency in Python for scripting test automation and rapid prototyping
Experience with Agile/Scrum development methodologies in a hardware-software co-development environment
Familiarity with storage systems motor control or industrial/IoT domains is a plus
Additional Information :
All your information will be kept confidential according to EEO guidelines.
WD thrives on the power and potential of diversity. As a global company we believe the most effective way to embrace the diversity of our customers and communities is to mirror it from within. We believe the fusion of various perspectives results in the best outcomes for our employees our company our customers and the world around us. We are committed to an inclusive environment where every individual can thrive through a sense of belonging respect and contribution.
WD is committed to offering opportunities to applicants with disabilities and ensuring all candidates can successfully navigate our careers website and our hiring process. Please contact us at to advise us of your accommodation your email please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.
Notice To Candidates: Please be aware that WD and its subsidiaries will never request payment as a condition for applying for a position or receiving an offer of employment. Should you encounter any such requests please report it immediately to WD Ethics Helpline or email .
Remote Work :
No
Employment Type :
Full-time
About Company
At Western Digital, our vision is to power global innovation and push the boundaries of technology to make what you thought was once impossible, possible. At our core, Western Digital is a company of problem solvers. People achieve extraordinary things given the right technology. For ... View more