Staff Compiler Engineer
Indexed description
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.
– This includes both “traditional” (high-level language to binary) compilers as well as those manipulating ML intermediate representations (e.g., model graphs).
- Interact with engineers and leads from their and other teams to unblock issues, or to reach consensus on technical topics. In particular:
– In other cases, understand ML/AI workloads, both industry standard ones and those of specific clients of the company, and map them to hardware features.
- 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.
- Bachelor or Master’s degree in a relevant field.
- Experience in the relevant field (more than 10 years).
- Experience with compiler frameworks (e.g., LLVM, MLIR, GCC...).
- Experience with computation and parallelism APIs (e.g., CUDA, OpenAcc, OpenCL, OpenML, SYCL,...).
- Solid knowledge of the C++ and C programming languages.
- Experience with code benchmarking, debugging, profiling, and tracing.
- Experience with standard tools for source control (git), continuous integration, task management (Jira).
- Within and cross-team collaboration at the technical level.
- Experience leading teams at the technical level (not necessarily with a formal management role).
- Experience with the Python programming language.
- Experience with lower-level development (e.g., device drivers).
- Experience with ML model training and evaluation.
- Experience with ML frameworks (e.g., TensorFlow, PyTorch, Keras,...) and runtimes (e.g., ONNX, TfLite,...)
- 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 based in Barcelona.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search