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.