Software Engineer — Computation Kernels and Performance
AragoJob Title
Software Engineer — Computation Kernels and Performance
Role Summary
Build and optimize low-level computation software that runs on Arago's custom AI accelerators. The role spans kernel development, runtime components, firmware and drivers, and hands-on chip bring-up, working closely with hardware architects and RTL teams to ensure deterministic, high-performance behavior.
Experience Level
Mid-level. No specific years-of-experience requirement stated.
Responsibilities
Primary responsibilities include:
- Develop and optimize low-level software primitives in C/C++, assembly, and architecture-specific intrinsics for RISC-V and ARM platforms.
- Implement performance-critical kernels, runtime components, hardware abstraction layers, drivers, and firmware for bare-metal or constrained environments.
- Collaborate with hardware architects and RTL/design teams to define and validate hardware-software interfaces, memory maps, registers, interrupts, synchronization, and boot flows.
- Analyze and optimize software for latency, throughput, memory footprint, instruction count, and efficient use of processor/accelerator features.
- Bring up and debug software on simulation, emulation, FPGA, and silicon platforms, resolving low-level integration issues.
- Develop validation tests, benchmarks, and diagnostic tools for processors, DSPs, accelerators, and SoC functionality.
- Contribute to architecture decisions around ISA extensions, compiler intrinsics, memory hierarchy, DMA, and cache/coherency behavior.
Requirements
Must-have skills and experience:
- Proven low-level systems programming in C/C++ and assembly; strong understanding of how compiled code maps to machine instructions and hardware behavior.
- Bare-metal development experience: startup code, linker scripts, memory layout, MMIO, interrupts/exceptions, timers, synchronization, and direct peripheral access.
- Strong understanding of computer architecture: pipelines, caches, memory hierarchies, virtual/physical addressing, atomics, DMA, and performance implications of access patterns.
- Hands-on experience with RISC-V and/or ARM: instruction sets, calling conventions, ABI concepts, and architecture-specific intrinsics.
- Experience debugging hardware/software interactions using GDB, JTAG, trace/debug interfaces, simulators, emulators, or FPGA platforms.
- Ability to read hardware specifications, register descriptions, and RTL documentation and translate them into robust software implementations.
- Performance-analysis and optimization skills: profiling, disassembly inspection, understanding compiler optimizations, and hand-tuned assembly where appropriate.
- Language: English proficiency required; French is a plus.
Nice-to-have:
- Prior experience with FPGA platforms or silicon bring-up in production or prototype environments.
Education Requirements
Bachelor’s, Master’s, or PhD in Computer Science, Computer Engineering, or a related field.
About the Company
Company: Arago
Arago is an AI and computer hardware startup (founded 2024) developing AI-driven semiconductor and photonics solutions. The company brings together engineers and researchers in photonics, electronics, software, mathematics, and machine learning to accelerate prototype-to-silicon development across hubs in France, North America, and Israel.
