C/C++ Software Engineer
Summary
Develops hand-optimized low-level compute kernels for LLM inference/training on a custom RISC-V-based chip, focusing on SIMD intrinsics, memory hierarchy, and mixed-precision pipelines.
About the role
We are looking for a C/C++ Software Engineer who enjoys solving complex technical problems and writing efficient, high-quality code. You will work on performance-critical software together with experienced DSP engineers, improving existing algorithms and developing new solutions for RISC-V processor architectures. If you enjoy optimization, low-level programming, and learning new technologies, we’d love to hear from you.
Responsibilities
Design and implement software components in C/C++.
Develop and improve algorithms for performance-critical applications.
Analyze and optimize code for execution speed and memory efficiency.
Debug and troubleshoot complex software issues.
Collaborate with software engineers and architects to deliver high-quality solutions.
Participate in code reviews and contribute to engineering best practices.
Learn and apply new optimization techniques and processor technologies.
Required Qualifications
Strong C/C++ programming skills.
Experience designing and implementing algorithms independently (not only integrating existing libraries).
Good understanding of software engineering principles and debugging techniques.
Strong analytical and problem-solving skills.
Ability to work independently and as part of an international engineering team.
Good written and spoken English.
Nice to Have
Interest in software performance and memory optimization.
Experience optimizing C/C++ applications.
Experience writing compute kernels or performance-critical code.
Familiarity with SIMD/vectorization concepts.
Exposure to embedded software, DSP, or low-level programming.
Familiarity with RISC-V or other processor architectures.