Firmware Engineer

Overview

On Site
$60-$67 per hour
Full Time

Skills

C++
I2C
Software development
Device drivers
Firmware development
Microsoft Windows
Program management
Hardware development
Product requirements
Computer science
Embedded systems
Windows drivers
Collaboration
Firmware
Computer hardware
Debugging
RTOS
Usability
WinDbg
Extract
transform
load
ROOT
Specification
C
Electrical engineering
Automation
Design
Linux
UEFI
Interfaces
SPI
USB
UART
Audio
Sensors
Microcontrollers
Oscilloscope
Communication
Science
Innovation
Network
Recruiting
Law
Interviewing

Job Details

Description:
Seeking a talented software development engineer with strong systems experience with hardware and device drivers or firmware interaction. Qualified candidates should have strong software or firmware development and debugging experience, including knowledge of RTOS or Windows OS kernel.
Responsibilities
This is a firmware and drivers development and debugging role. The ideal candidate will contribute to the successful development of Surface products by developing new features, improve existing drivers, and investigate and resolve various complex technical challenges to improve the usability and stability of the products.
You will work in a fast-paced environment and will need to demonstrate ability to learn new technologies, make progress quickly. Candidates must enjoy working collaboratively with development, program management, hardware engineers, test engineers, and other partner teams.
This is an excellent opportunity for a motivated engineer with passion for quality and integrated experiences to thrive in a customer focused environment. This person will ensure we are delivering the complete end-to-end hardware and software experiences that will delight our customers.
The Candidate will:
  • Work on new devices at various stages of hardware development including prototype hardware. Work closely with software and hardware developers and program managers, located in Redmond and in Asia, to create or improve various components of the Surface software/firmware.
  • Be able to investigate, repro and debug problems and collaborate with project team on solutions.
  • Use WinDbg, Windows Performance Analyzer, ETL traces, and various software/firmware debugging tools to root cause and resolve product issues.
  • Develop device drivers or other drivers features to light up new features according to Surface product requirements and specifications.
  • Participate in development forums and discussions to propose and implement software solutions.

Skills:
  • Firmware
  • C/C++
  • Kernel
  • Windows
  • Debug

Additional Skills & Qualifications:
  1. Bachelor's Degree in Computer Science/Electrical/Electronic/Automation Engineering or related field.
  2. Excellent C/C++ design and coding skills.
  3. Minimum of 3 years of experience in firmware, embedded system, or device drivers development.
  4. Experience in any of Kernel, Windows Internals, Windows Drivers, Linux Drivers, UEFI, WDF, KMDF and UMDF. Windows device drivers or kernel experience strongly preferred.
  5. Experience with Windows kernel and drivers debugging, and memory crashdump or ETL trace analysis. Specific experiences in troubleshooting system stability or performance through debuggers are preferred.
  6. Experience with various interfaces including SPI, USB, I2C, UART are beneficial.

Desired Experience/Qualities:
1. Domain knowledge on significant PC subsystems and industry specifications around graphics, audio, cameras, sensors or touch, inputs.
2. Experience and ability to ramp-up quickly on complex and unfamiliar code across various technology areas.
3. Experience in the design and development of a product or significant product subsystem through multiple new consumer product releases.
4. Experience in development of UEFI or microcontroller firmware including working within an RTOS environment on any OS platforms.
5. Able to debug across various environments, and multiple layers of the software/firmware stack, and to quickly identify and resolve issues spanning multiple subsystems, owners, and organizations.
6. Experience with oscilloscopes, protocol analyzers, or other HW debugging tools and techniques.
7. Motivated, with a sense of ownership to drive multiple efforts and investigations to achieve successful customer-focused outcomes.
8. Tolerance for ambiguity with an ability to make progress in the face of it.
9. Strong communication skills and ability to work across multiple disciplines and functions (Program Management, Test, Hardware etc.)

About Actalent

Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 30,000 consultants and more than 4,500 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500.

Diversity, Equity & Inclusion

At Actalent, diversity and inclusion are a bridge towards the equity and success of our people. DE&I are embedded into our culture through:
  • Hiring diverse talent
  • Maintaining an inclusive environment through persistent self-reflection
  • Building a culture of care, engagement, and recognition with clear outcomes
  • Ensuring growth opportunities for our people

The company is an equal opportunity employer and will consider all applications without regard to race, sex, age, color, religion, national origin, veteran status, disability, sexual orientation, gender identity, genetic information or any characteristic protected by law.

If you would like to request a reasonable accommodation, such as the modification or adjustment of the job application process or interviewing process due to a disability, please email for other accommodation options.