Role Description:
We are looking for an experienced, highly skilled and motivated Software Engineer to join our core team. In this role, you will be responsible for designing, developing, and maintaining critical components of our AI-driven software stack. You will work on the core interfaces that allow applications, frameworks, and APIs to communicate efficiently and reliably with our hardware. This is a hands-on technical position where you will solve complex problems, optimize for performance, and contribute to the next generation of our technology.
What You’ll Do:
- Develop and maintain key components of Majestic software stack, including API layers, command submission pipelines, and memory management
- Collaborate with hardware architects to influence the design of next-generation chips and ensure a smooth software/hardware co-design
- Work with kernel-space driver developers to define and implement the user/kernel interface
- Debug complex issues across the entire stack, from user applications to the underlying hardware
- Optimize code for maximum performance, throughput, and efficiency
Requirements:
What We’re Looking For
- Bachelor’s or Master’s in Computer Science, Computer Engineering, or a related field from a recognized university
- Proven experience developing software for Linux, with a solid grasp of OS fundamentals like memory management, multi-threading, and inter-process communication
- 5+ years of experience in software development
- Proven experience in C programming
- Excellent communication skills with a strong track record of cross-functional collaboration
Ways to stand out from the crowd:
- Experience with Python and C++
- Knowledge of GPU or other accelerator architectures (e.g., CUDA, OpenCL, ROCm)
- Experience in linux kernel-space development