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.
Job responsibilities: 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 ICs from their and other projects to unblock themself, or to reach consensus on small technical topics. In particular:
Work with hardware teams, influencing hardware/software co-design. Work with teams developing middleware, and/or contribute to middleware. Collaborate with colleagues through code reviews, bug triaging, design documents. Contribute to shared team responsibilities (CI failure triaging, documentation, code fixits, rotations). Required qualifications: Bachelor or Master's degree in a relevant field. Experience in the relevant field (3-5yr). 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 bare metal (without OS) development (e.g., embedded systems, microcontrollers). 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). Team player: communicative and collaborative person who focuses on the outcome of the team above the individual needs. Curious about learning new technologies/stacks. Capable of within- and cross-team collaboration at the technical level. Can-do attitude, proactive and willing to solve any obstacle by themself. Self-aware, self-starter, and self-motivated. 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.
#J-18808-Ljbffr