> Markdown version of [/jobs/ext/2763223-staff-firmware-and-operating-system-engineer](https://www.wearedevelopers.com/jobs/ext/2763223-staff-firmware-and-operating-system-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Staff Firmware And Operating System Engineer - **Company:** Openchip And Software Technologies SL - **Location:** Barcelona, Spain - **Contract:** Permanent contract - **Skills:** Advanced Configuration and Power Interface (ACPI), Application Programming Interfaces (APIs), Assembly Language, JIRA, BIOS, Booting (BIOS), Software Quality, Continuous Integration, Software Design Documents, Linux, Device Drivers, Middleware, Emulators, Firmware, Kernel-Based Virtual Machine, Linux Kernel, Quick EMUlator (QEMU), Reduced Instruction Set Computing, Simple Data Format, System Programming, Toolchain, Xen Servers, Extensible Firmware Interface, Git, Free and Open-Source Software, U-Boot, Software Version Control, Programming Languages - **Published:** September 6, 2026 - **Apply:** https://www.buscojobs.com.es/staff-firmware-and-operating-system-engineer-en-barcelona-ID-369533938 ## About the Role Bachelor or Master's degree in a relevant field. - Experience in the relevant field (more than 10 years ). - Solid knowledge about computer architecture (CPU, cache and memory hierarchy, buses,.. . ). - Good understanding of pre-boot and boot process, and Linux kernel internals. - Knowledge about compilation and linking process (toolchains, object file formats, binutils, dynamic loading,.. . ). - Solid knowledge of low-level development languages (C, Rust). - Experience with assembly language (of any architecture). - Experience with standard tools for source control (git), continuous integration, task management (Jira). Preferred qualifications: - Experience with RISC-V development at the assembly-language level. - Experience with kernel and/or device driver development. - Experience with emulators and simulators (Qemu, Gem5, Spike). - Experience with hypervisor technology (KVM, Xen). - Experience with open source software development. - Experience with system boot technology (UEFI/EDK2, ACPI, u-boot, devicetree) Soft skills: - Within- and cross-team collaboration at the technical level. - Experience leading teams at the technical level (not necessarily with a formal management role). ## Description The Role: Develop low- (BIOS, firmware, device drivers) and mid-level software (emulation, simulation, and virtualization) to enable the use of Openchip's novel hardware features and accelerators, bringing visible improvements to end users.Key responsibilities:- Understand the technical landscape of their project and make decisions about it.- Make independent technical contributions, especially for the most foundational or challenging parts of the project.- Develop and maintain low-level software (BIOS and firmware) for novel hardware architectures.- Develop and maintain device drivers for operating systems (mainly Linux) to expose novel hardware features (e.G., telemetry) and acceleration, as well as to support their emulation and virtualization.- Provide monitoring, instrumentation, and telemetry to export system status and health metrics.- Provide workload control and configuration, and API entry points to allow remote operation.- Configure and extend emulation, simulation, and virtualization software.- Interact with engineers and leads from their and other teams to unblock issues, or to reach consensus on technical topics.In particular: - Work with hardware teams, influencing hardware/software co-design.- Work with teams developing middleware, and/or contribute to middleware.- Provide technical guidance to more junior team members, also acting as a mentor.- Review team artifacts (design documents, code changes) both for correctness but also for code quality and consistency.- Identify opportunities for code and/or process improvement.- Loop in directors and above as needed, for instance to surface potential risks or get feedback based on area-level technical knowledge.- Collaborate with program managers for task and deliverable tracking, as well as process improvements.- Communicate outside the team, explaining and divulging technical topics to less technical parts of the organization.Required qualifications:- Bachelor or Master's degree in a relevant field.- Experience in the relevant field (more than 10 years ).- Solid knowledge about computer architecture (CPU, cache and memory hierarchy, buses,.. . ).- Good understanding of pre-boot and boot process, and Linux kernel internals.- Knowledge about compilation and linking process (toolchains, object file formats, binutils, dynamic loading,.. . ).- Solid knowledge of low-level development languages (C, Rust).- Experience with assembly language (of any architecture).- Experience with standard tools for source control (git), continuous integration, task management (Jira).Preferred qualifications:- Experience with RISC-V development at the assembly-language level.- Experience with kernel and/or device driver development.- Experience with emulators and simulators (Qemu, Gem5, Spike).- Experience with hypervisor technology (KVM, Xen).- Experience with open source software development.- Experience with system boot technology (UEFI/EDK2, ACPI, u-boot, devicetree) Soft skills:- Within- and cross-team collaboration at the technical level.- Experience leading teams at the technical level (not necessarily with a formal management role).What do we offer?Join an innovative team and experience company growth.We believe in investing in our employees and providing them with the opportunities they need to grow and develop their careers.Enjoy a hybrid work environment.We also offer flexible schedule.We offer a remuneration that values your experience.The position will have the base in Barcelona.We are looking for outstanding people willing to join our mission to change this industry and help to build a better world.If you feel identified with Openchip, please contact us.We can offer a competitive compensation package in a flexible work schema that will help you to keep a balance between your personal and professional life.At Openchip & Software Technologies S.L. , we believe a diverse and inclusive team is the key to groundbreaking ideas.We foster a work environment where everyone feels valued, respected, and empowered to reach their full potential - regardless of race, gender, ethnicity, sexual orientation, or gender identity. ## Related Videos - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [10M Data Records Lost, Underwater Computing, and Psychedelic Fish - Matthias Geniar](https://www.wearedevelopers.com/videos/1908-10m-data-records-lost-underwater-computing-and-psychedelic-fish-matthias-geniar) - [Improving quality with Agentic AI with Rovo Dev and Xray](https://www.wearedevelopers.com/videos/2005-improving-quality-with-agentic-ai-with-rovo-dev-and-xray) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [How to Submit CFPs and Get into Public Speaking - Moran Weber](https://www.wearedevelopers.com/videos/2112-how-to-submit-cfps-and-get-into-public-speaking-moran-weber) - [Collaboration Quantified: Lessons from Open Source Developer Networks](https://www.wearedevelopers.com/videos/1422-collaboration-quantified-lessons-from-open-source-developer-networks) ## Related Articles - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [What’s the Difference between a Junior, Mid, and Senior Developer?](https://www.wearedevelopers.com/magazine/238-what-s-the-difference-between-a-junior-mid-and-senior-developer) - [Why Upskilling And Reskilling is Important For Developers](https://www.wearedevelopers.com/magazine/428-why-upskilling-and-reskilling-is-important-for-developers) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology)