At a Glance
- Tasks: Join us to develop a cutting-edge ML backend and functional simulator for AI models.
- Company: Flux Computing creates innovative optical processors for advanced AI applications.
- Benefits: Enjoy flexible working arrangements and the chance to work on groundbreaking technology.
- Why this job: Be part of a dynamic team pushing the boundaries of AI and machine learning.
- Qualifications: 5+ years in software engineering, strong C/C++ skills, and a degree in a relevant field.
- Other info: This is a 3-month contract role outside of IR-35 regulations.
Company Overview: Flux Computing designs and manufactures optical processors to train and run inference on large AI models.
The Contract: Weβre seeking a highly experienced and motivated Compiler Engineer [contractor] for a 3 month engagement outside of IR-35 to work on our ML Backend and functional simulator for our next-generation OTPUs with our permanent team. Your mandate will be to deliver a production-ready ML backend (compiler, runtime, debugger) and functional simulator that can accurately run most large AI models. This role demands deep expertise in C and C++ programming, ML framework internals, compiler construction, and optimisation techniques.
Key Deliverables:
- Implement Runtime: Build a runtime that seamlessly integrates with PyTorch, JAX, and TensorFlow (PJRT) for both training and inference execution patterns. The runtime must support asynchronous execution and multiple devices.
- Implement Compiler: Build a compiler that is extensible to future optimisation patterns across operation fusion, layout optimisation, tiling, and scheduling.
- Implement Debugger & Diagnostics: Support optional runtime assertions and compile-time dumps, tensorboard timelines, and JAX I/O callbacks.
- Implement Functional Simulator: Build a functional simulator that mocks our kernel-space driver, allowing the software team to lower operations ahead of hardware teams.
Skills & Experience:
- 5+ years of experience in software engineering with a focus on C/C++ programming.
- Extensive experience in compilers, low-level programming, and optimisation techniques.
- Practical experience applying machine learning in high-performance computing contexts.
- Strong problem-solving skills and the ability to think critically and creatively.
- Experience in high-pace, dynamic environments.
- Bachelor's degree in computer science, electrical engineering, telecoms engineering, mathematics, or a related field.
- Excellent communication skills, with the ability to collaborate effectively with cross-functional teams.
Compiler Engineer [Contractor] employer: Flux Computing
Contact Detail:
Flux Computing Recruiting Team
StudySmarter Expert Advice π€«
We think this is how you could land Compiler Engineer [Contractor]
β¨Tip Number 1
Familiarise yourself with the specific ML frameworks mentioned in the job description, such as PyTorch, JAX, and TensorFlow. Understanding their internals will not only help you during interviews but also demonstrate your commitment to the role.
β¨Tip Number 2
Brush up on your C and C++ programming skills, focusing on compiler construction and optimisation techniques. Consider working on small projects or contributing to open-source projects that involve these languages to showcase your expertise.
β¨Tip Number 3
Prepare to discuss your problem-solving approach in high-performance computing contexts. Think of specific examples where you've successfully tackled complex issues, as this will highlight your critical thinking and creativity.
β¨Tip Number 4
Network with professionals in the field of compiler engineering and machine learning. Engaging with communities or attending relevant meetups can provide insights into industry trends and may even lead to referrals for the position.
We think you need these skills to ace Compiler Engineer [Contractor]
Some tips for your application π«‘
Tailor Your CV: Make sure your CV highlights your experience in C and C++ programming, compiler construction, and optimisation techniques. Use specific examples from your past work that demonstrate your expertise in these areas.
Craft a Compelling Cover Letter: In your cover letter, explain why you are interested in the Compiler Engineer position at Flux Computing. Mention your relevant experience with ML frameworks like PyTorch, JAX, and TensorFlow, and how you can contribute to their next-generation OTPUs.
Showcase Problem-Solving Skills: Provide examples of how you've tackled complex problems in previous roles. Highlight any experience you have in high-performance computing contexts, as this is crucial for the role.
Highlight Collaboration Experience: Since the role requires effective collaboration with cross-functional teams, include instances where you've successfully worked in team settings. Emphasise your communication skills and ability to thrive in dynamic environments.
How to prepare for a job interview at Flux Computing
β¨Showcase Your Technical Expertise
Be prepared to discuss your experience with C and C++ programming in detail. Highlight specific projects where you've implemented compilers or worked on ML frameworks, as this will demonstrate your deep understanding of the technical requirements for the role.
β¨Demonstrate Problem-Solving Skills
Expect to face technical challenges during the interview. Prepare to walk through your thought process on how you would approach solving complex problems related to compiler construction and optimisation techniques. This will showcase your critical thinking abilities.
β¨Familiarise Yourself with Relevant Frameworks
Since the role involves integrating with PyTorch, JAX, and TensorFlow, make sure you have a solid understanding of these frameworks. Be ready to discuss how you would implement a runtime that supports asynchronous execution across multiple devices.
β¨Communicate Effectively
Strong communication skills are essential for collaborating with cross-functional teams. Practice explaining complex technical concepts in a clear and concise manner, as this will help you stand out during the interview.