At a Glance
- Tasks: Join a start-up to develop cutting-edge AI and HPC networking technologies.
- Company: Innovative start-up revolutionising data centres with sustainable tech solutions.
- Benefits: Competitive salary, flexible working, and opportunities for professional growth.
- Why this job: Be a domain expert in a fast-paced environment that values sustainability and innovation.
- Qualifications: 8-10 years in software development, especially Linux PCIe driver experience required.
- Other info: On-site in central London, with visa assistance available.
The predicted salary is between 68000 - 102000 Β£ per year.
This is an exciting and new opportunity for a software engineer / architect to join a start-up involved with the research, development and design of technologies used to enhance AI, ML and HPC networking.
Essential experience: Linux PCIe driver development for highspeed (>100Gbps) application processing (e.g. data centre processors, etc).
Our clientsβ technologies will revolutionise data centres. Their technologies will speed up training and inference while dramatically reducing energy consumption, supporting a sustainable future.
They are looking for an experienced software engineer to develop PCIe drivers for their ultrafast AI/ML and HPC networking solutions. You will work iteratively through a series of prototypes to ultimately deliver a production grade solution. Responsibilities will include software architecture definition, implementation and testing, as well as debugging and benchmarking. This is an opportunity to become the domain expert within the company.
The key focus is Linux PCIe driver development for highspeed (>100Gbps) application processing (e.g. data centre processors, etc). Experience in Linux PCIe driver development is essential.
Typical involvements:
- Software architecture definition in collaboration with the broader team
- Preparing detailed technical documentation and presentations to stakeholders
- Linux PCIe driver development
- Integration with training and inference frameworks on CPU and GPU
- Liaison with embedded software team over network interface card development
- Example application development and benchmarking, such as AI training
- Working with prototype hardware, identifying and root causing bugs and issues
- Experience of RDMA would be preferred as would PCIe peer-to-peer and/or GPU direct
- Linux kernel programming (kernel modules, PCI subsystem, memory management, etc)
Skills & Experience required:
- A Bachelor or Master degree in electronics engineering, physics, or other relevant fields
- At least 8-10 years of software development experience applied to similar technologies using C (essential) and other relevant languages (e.g. C++).
- Software architecture definition and implementation experience
- High speed Linux PCIe driver development experience
- Experience working directly with prototype hardware alongside the hardware design team
- Experience of developing Linux PCIe for AI, ML, data storage or HPC networking technologies (or very similar)
Experience with some/all the following would be beneficial:
- Ability to create an understanding of complex ideas, concepts and designs to a variety of audiences from multiple backgrounds
- RDMA and Libfabrics, CCL libraries
- PCIe peer-to-peer and GPU Direct (highly desirable)
- Knowledge of embedded software, Yocto Linux, ARM, FPGA devices could be useful
- Experience of DPDK (data plane development kit) and eBPF
A strong and demonstrable interest in sustainable technologies, AI, ML and/or HPC would be preferred.
The Senior Software Engineer / Architect opening is based on site in central London, 2 days per week (min). Assistance can be granted to obtain working visas.
Senior Software Engineer employer: Marcus Webb Associates Limited
Contact Detail:
Marcus Webb Associates Limited Recruiting Team
StudySmarter Expert Advice π€«
We think this is how you could land Senior Software Engineer
β¨Tip Number 1
Make sure to showcase your experience with Linux PCIe driver development in conversations. Highlight specific projects where you've worked on high-speed application processing, as this is a key requirement for the role.
β¨Tip Number 2
Network with professionals in the AI, ML, and HPC fields. Attend relevant meetups or conferences to connect with people who might have insights into the company or the industry, which can give you an edge during discussions.
β¨Tip Number 3
Prepare to discuss your approach to software architecture definition. Be ready to explain how you collaborate with teams and stakeholders to create effective solutions, as this will demonstrate your leadership capabilities.
β¨Tip Number 4
Stay updated on the latest trends in sustainable technologies and their applications in AI and HPC. Showing genuine interest and knowledge in these areas can set you apart from other candidates during interviews.
We think you need these skills to ace Senior Software Engineer
Some tips for your application π«‘
Tailor Your CV: Make sure your CV highlights your experience with Linux PCIe driver development and any relevant projects you've worked on. Use specific examples that demonstrate your skills in high-speed application processing and software architecture.
Craft a Compelling Cover Letter: In your cover letter, express your enthusiasm for the role and the company's mission to revolutionise data centres. Mention your strong interest in sustainable technologies and how your background aligns with their needs.
Showcase Relevant Projects: If you have worked on projects involving AI, ML, or HPC networking, be sure to include these in your application. Describe your role, the technologies used, and the impact of your contributions.
Highlight Soft Skills: In addition to technical skills, emphasise your ability to communicate complex ideas to diverse audiences. This is crucial for preparing technical documentation and presentations to stakeholders.
How to prepare for a job interview at Marcus Webb Associates Limited
β¨Showcase Your Technical Expertise
Be prepared to discuss your experience with Linux PCIe driver development in detail. Highlight specific projects where you've worked on high-speed application processing, and be ready to explain the challenges you faced and how you overcame them.
β¨Demonstrate Problem-Solving Skills
Expect technical questions that assess your ability to debug and benchmark software. Prepare examples of how you've identified and resolved issues in previous projects, particularly those involving prototype hardware.
β¨Communicate Clearly
Since you'll need to prepare technical documentation and presentations, practice explaining complex concepts in simple terms. This will help you connect with interviewers from various backgrounds and demonstrate your communication skills.
β¨Express Your Passion for Sustainable Technologies
Given the company's focus on sustainable solutions, share your interest in AI, ML, and HPC technologies. Discuss any relevant projects or research you've been involved in that align with their mission to revolutionise data centres.