We are seeking a highly skilled Embedded Software Engineer III to join our team in Redmond, WA. The ideal candidate will be responsible for developing low-level, embedded software components for a variety of microcontroller-based systems. This role requires a strong background in C programming, a deep understanding of hardware-software interactions, and the ability to work in a dynamic, fast-paced environment. The successful candidate will play a critical role in bringing our next-generation hardware products to life by building foundational firmware and drivers.
location: Redmond, Washington
job type: Contract
salary: $90 - 100 per hour
work hours: 8am to 5pm
education: Bachelors
responsibilities:
- Develop low-level, embedded software in C, including microcode, Real-Time Operating System (RTOS) components, Digital Signal Processing (DSP) algorithms, and physical/Media Access Control (PHY/MAC) layer firmware.
- Create Board Support Packages (BSPs), drivers, and kernel software to manage hardware peripherals such as I2C and PCIe.
- Collaborate with hardware engineering teams and software developers to define and implement firmware and software interfaces.
- Lead the execution of firmware releases, including validation testing and comprehensive reporting of results.
- Identify, track, and manage software defects, providing detailed root cause analysis and implementing corrective actions.
- Maintain high code quality through active participation in code reviews and adherence to best practices for code hygiene.
qualifications:
- B.S. degree in Computer Science, Electrical Engineering, or a related field, or equivalent practical experience.
- A minimum of one year of experience in developing embedded software or firmware for microcontroller-based systems that use wireless communication protocols (e.g., Bluetooth, BLE, 802.15.4, Sub-GHz, or 802.11), with a focus on low-latency, high-throughput applications.
- At least four years of experience using the C programming language for systems or firmware development, with a strong understanding of C build systems, debuggers, and profiling tools.
- A minimum of four years of experience in Cortex-M or similar architecture microcontroller-based system design, including writing and maintaining on-chip peripheral device drivers.
- Proven ability to work with simple serial interfaces (e.g., UART, SPI, I2C) to connect with sensors, memory devices, and other external peripherals. The ability to use sniffers and logic analyzers to verify system-level embedded software support is essential.
- Demonstrated ability to autonomously identify, report, and solve technical problems with minimal supervision.
- Adaptability to a dynamic, high-paced work environment where job duties may frequently change.
- Direct experience with creating new BLE GATT services, using BLE sniffing and performance profiling tools, and optimizing BLE performance in the context of interoperability.
- Experience with the Infineon PSoC Creator and Modus Toolbox toolchains and the PSoC6x family of microcontrollers.
- Familiarity with the use of electromechanical transducers, such as encoders, load cells/strain gauges, or capacitive force/displacement sensors.
skills: C Programming and Low-Level Firmware Development: minimum of 4+ years of experience in the C language for firmware development. This includes microcode, RTOS, drivers, and Board Support Packages (BSPs). This is the foundational skill for building software directly on hardware.
Microcontroller/SoC Systems Experience: A candidate must have at least 4+ years of experience with Cortex-M or similar microcontroller architectures.
Wireless Communication Protocols: The role requires a minimum of 1+ years of experience with wireless communication protocols such as BLE, Bluetooth, or 802.11. The focus is on low-latency, high-throughput applications, indicating this is a primary function of the final product.
Hardware Interfacing: Proficiency in using serial interfaces like I2C, UART, and SPI is essential for connecting to sensors and other external peripherals. The ability to use physical tools like sniffers and logic analyzers to debug these interfaces is also a crucial must-have.
Problem-Solving and Autonomy: Need a candidate who can "autonomously identify, report, and solve problems with minimal direction." This highlights a preference for a self-motivated engineer who can operate effectively in a dynamic, high-paced environment.
Equal Opportunity Employer: Race, Color, Religion, Sex, Sexual Orientation, Gender Identity, National Origin, Age, Genetic Information, Disability, Protected Veteran Status, or any other legally protected group status.
At Randstad Digital, we welcome people of all abilities and want to ensure that our hiring and interview process meets the needs of all applicants. If you require a reasonable accommodation to make your application or interview experience a great one, please contact HRsupport@randstadusa.com.
Pay offered to a successful candidate will be based on several factors including the candidate's education, work experience, work location, specific job duties, certifications, etc. In addition, Randstad Digital offers a comprehensive benefits package, including: medical, prescription, dental, vision, AD&D, and life insurance offerings, short-term disability, and a 401K plan (all benefits are based on eligibility).
This posting is open for thirty (30) days.