Firmware Engineer
Job in
Sunnyvale, Santa Clara County, California, 94087, USA
Listed on 2026-06-27
Listing for:
Actalent
Full Time
position Listed on 2026-06-27
Job specializations:
-
Software Development
Embedded Systems/ Firmware/ IoT, Python, Software Testing, Embedded Software Engineer
Job Description & How to Apply Below
Firmware Engineer
This role focuses on designing, developing, testing, and optimizing low‑level firmware and operating‑systems–level software for embedded systems used in advanced computing applications. You will work at the intersection of embedded systems, graphics and display pipelines, and emerging AR/VR and AR/AI technologies, contributing directly to next‑generation hardware–software integration. The position offers the opportunity to tackle complex engineering challenges across firmware, hardware, and graphics systems while collaborating with advanced engineering teams and external partners.
Responsibilities- Design, develop, and maintain high‑quality firmware using C and C++ for embedded environments, ensuring portability across various processors and platforms.
- Develop optimized firmware for graphics and display pipelines to support product use cases and deliver high‑performance visual experiences.
- Collaborate with internal engineering teams and external vendors to improve, tailor, and integrate existing firmware, device drivers, software stacks, and applications to meet project requirements.
- Debug issues across the full software stack, including hardware functionality, firmware, and device drivers, delivering rapid workarounds for time‑critical problems and robust long‑term solutions.
- Write new tests and maintain existing test suites, including unit tests, manual tests, and CI‑based automated tests, to ensure firmware quality and reliability.
- Manage the full software development lifecycle (SDLC), from requirements gathering and design through development, testing, deployment, and ongoing support.
- Develop and maintain scripting utilities using Python or similar languages to support test automation, CI/CD pipelines, and development workflows.
- Work with real‑time operating systems (RTOS) and multi‑threaded environments to design, implement, and debug concurrent firmware components.
- Perform performance tuning and optimization of firmware, device drivers, and low‑level software to meet stringent resource, latency, and throughput constraints.
- Use debugging tools and techniques such as JTAG, logic analyzers, and trace tools to diagnose and resolve complex hardware–software interaction issues.
- Collaborate closely with hardware engineers, system architects, and cross‑disciplinary engineering groups to ensure seamless hardware–software integration.
- Document designs, implementation details, and test results clearly and thoroughly to support ongoing maintenance, reviews, and cross‑team communication.
- Prioritize tasks effectively, manage deadlines, and operate with minimal supervision while maintaining high standards of code quality and system reliability.
- 8+ years of industry experience developing and testing low‑level firmware for embedded systems.
- 8+ years of solid, hands‑on programming experience in C and C++ in production environments, including development of production‑level firmware and test applications.
- Demonstrated expertise developing production‑level firmware and low‑level software for embedded systems using C and C++.
- Hands‑on experience designing, implementing, and debugging firmware in real‑time operating systems (RTOS) and multi‑threaded environments.
- Expert knowledge of the full software development lifecycle, including requirements gathering, design, development, testing, and deployment.
- Strong experience debugging across the hardware–software stack, including firmware, device drivers, and hardware layers, with the ability to deliver rapid fixes and long‑term solutions.
- Experience with CI/CD development tools and processes and building or maintaining CI/CD pipelines.
- Scripting skills using Python or equivalent languages for developing utilities and test automation.
- Expert problem‑solving skills with the ability to troubleshoot complex system issues and implement effective system changes.
- Ability to work independently, prioritize tasks, and manage one’s time effectively under deadlines.
- Strong verbal and written communication skills, with the ability to engage in technical discussions and produce clear documentation.
- Bachelor’s degree in Computer Science, Software Engineering, or a…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
Search for further Jobs Here:
×