The company makes commercial PC platforms and needs a principal embedded systems software engineer to lead technical work on advanced embedded solutions for assigned products and programs.
You will design, build, integrate and tune embedded software, firmware and device drivers, steer technical choices within your products, and solve hard problems alongside hardware, software, silicon, supplier and external teams across the full product lifecycle.
You will help shape reusable architectures, engineering standards and product roadmaps, write design specs, technical documents, guidance and best practices, and track emerging technologies so the embedded solutions stay scalable, secure, distinctive and matched to product and customer needs.
Responsibilities
Lead design, development, integration and validation of embedded software and firmware for assigned products and programs.
Turn system, customer, security and platform requirements into clear software designs, interfaces and implementation plans.
Make sound calls on complex problems by weighing performance, power, memory, security, reliability, cost, schedule and maintainability.
Work with hardware, firmware, software, operating system, silicon, security, manufacturing, supplier and external development teams to deliver integrated solutions.
Evaluate technologies and find opportunities for product and platform roadmaps, then recommend practical options.
Build reusable software components, frameworks, tools and engineering practices that speed delivery and improve quality and maintainability.
Lead design and code reviews, spot technical risks and dependencies, and drive mitigation for your areas.
Diagnose and fix complex cross-layer issues spanning firmware, hardware, performance, power, security, reliability and interoperability.
Act as the go-to embedded systems expert and explain recommendations clearly to engineering, product and program stakeholders.
Work with silicon providers, suppliers and development partners to resolve technical issues and meet product commitments.
Create and maintain architecture specifications, design documents, decision records, development guidance and technical manuals.
Mentor less experienced engineers, share technical knowledge and encourage disciplined engineering and problem solving on the team.
Requirements
A bachelor's or master's degree in computer science, computer engineering, electrical engineering or a related field is recommended.
Typically 12 years of progressive experience in embedded software, firmware, device drivers or a related area, including leading technically complex product deliverables.
Certification in embedded software engineering is preferred.
Strong experience designing and shipping structured embedded systems on bare-metal and RTOS platforms.
Experience building modular, reusable and scalable firmware architectures across products or subsystems.
Experience building secure, low-footprint, decentralized peer-to-peer systems. Familiarity with emerging architectures is preferred.
Strong knowledge of control-system design, performance optimization and systems constrained by power or resources.
Experience designing fault-tolerant, resilient and high-availability systems.
Experience applying CI/CD, automated validation, code quality and release practices to embedded development.
Experience with embedded security, including secure boot, cryptography, identity, security protocols, device onboarding and lifecycle protection.
Experience developing and integrating wireless protocol stacks. Knowledge of several wireless technologies is preferred.
Strong knowledge of device connectivity, interoperability, coexistence, provisioning and manageability protocols.
In-depth knowledge of hardware communication protocols and published specifications, with the ability to define interfaces and apply standards to new designs.
Proven ability to resolve system-level interoperability issues across devices, operating systems, networks, cloud services and partner ecosystems.
Advanced firmware development on Arm-based processors and SoC or MCU platforms.
Advanced C, with working knowledge of C++, Python, batch scripting and command-line shells.
Strong system design and technical decision-making, weighing performance, power, memory, cost, security, reliability and schedule tradeoffs.
Experience with Git-based source control, code reviews, branching strategies and collaborative development.
Strong knowledge of bare-metal systems, bootloader architectures, RTOS concepts, concurrency and multithreaded firmware.
Advanced embedded debugging with JTAG, SWD, trace tools, crash analysis and system-level instrumentation.
Experience with UART, I²C, SPI and other hardware communication protocols.
Ability to use logic analyzers, protocol analyzers, oscilloscopes and related lab equipment to isolate complex cross-layer issues.
Strong grasp of analog and digital electronics, including reviewing schematics and contributing to hardware design decisions.
Ability to read technical specifications and datasheets and turn them into robust, production-ready firmware.
Excellent written and verbal communication, with the ability to influence technical and business stakeholders through expertise and collaboration.
Conditions
Full-time role in the software job family, with no shift premium.
Pay range is $147,050 to $230,850 USD per year for United States candidates. Actual pay depends on work location, job-related knowledge, skills and experience.
Bonus and/or equity may also be offered, for United States candidates only.
Travel and relocation details are not specified in the posting.
The company may change its compensation and benefits information at any time, with or without notice, subject to applicable law.
Benefits
Comprehensive benefits, including health, dental and vision insurance.
Long-term and short-term disability insurance, life insurance, an employee assistance program and a flexible spending account.
4 to 12 weeks of fully paid parental leave, based on tenure.
11 paid holidays.
Flexible paid vacation and sick leave, as described in the US benefits overview.