Software Engineer (Simulation)
London / Paris
Engineering (All Teams) – Simulation /
Permanent /
Hybrid
InstaDeep, founded in 2014, is a pioneering AI company at the forefront of innovation. With strategic offices in major cities worldwide, including London, Paris, Berlin, Tunis, Kigali, Cape Town, Boston, and San Francisco, InstaDeep collaborates with giants like Google DeepMind and prestigious educational institutions like MIT, Stanford, Oxford, UCL, and Imperial College London. We are a Google Cloud Partner and a select NVIDIA Elite Service Delivery Partner. We have been listed among notable players in AI, fast-growing companies, and Europe's 1000 fastest-growing companies in 2022 by Statista and the Financial Times. Our recent acquisition by BioNTech has further solidified our commitment to leading the industry.
Join us to be a part of the AI revolution!
Are you a Simulation Software Engineer? At InstaDeep, your role is pivotal. You'll be responsible for designing, building, and continuously updating InstaDeep's specialised high-performance simulation platform. This isn't just any platform; it's the backbone that allows our AI teams to pioneer and roll out innovative products, services, and groundbreaking research that were once deemed unattainable. Your collaboration with our researchers will be key. Together, you'll delve into their specific needs, brainstorm potential solutions, and then bring those solutions to life. Your expertise will be crucial in implementing strategies and tools that optimise and elevate computational performance, ensuring that our AI solutions remain at the forefront of the industry.
Key responsibilities
- Designing and developing our in-house simulation libraries.
- Implementing various approaches for high-performance and distributed computing.
- Cover solutions with the needed unit and integration tests.
- Write high-quality, maintainable and modular software libraries.
- Work side by side with our researchers and engineers.
Requirements
- Degree in computer science or equivalent.
- Creative problem solving, starting from first principles.
- Strong knowledge of OOP, SOLID principles and design patterns.
- Strong knowledge of algorithmic thinking and data structures.
- Cross-functional ability to experiment, simulate and analyse data.
- Ensuring high-quality deliverables with extensive testing from Unit Tests to E2E tests.
- Experience with profiling tools (GPU, CPU, Memory, Garbage Collection).
- Strong communication skills.
Nice to have
- Strong knowledge in modern C++ (C++17, C++20) or willingness to learn.
- Basic knowledge of machine learning.
- Experience in contributing, maintaining and/or building open-source projects.
- Experience in parallel and high-performance computing.
- Experience in TDD, BDD and/or DDD is a plus
Our commitment to our people
We empower individuals to celebrate their uniqueness here at InstaDeep. Our team comes from all walks of life, and we’re proud to continue encouraging and supporting applicants from underrepresented groups across the globe. Our commitment to creating an authentic environment comes from our ability to learn and grow from our diversity, and how better to experience this than by joining our team? We operate on a hybrid work model with guidance to work at the office at least 2 to 3 days per week to encourage close collaboration and innovation. We are continuing to review the situation with the well-being of InstaDeepers at the forefront of our minds.
Right to work: Please note that you will require the legal right to work in the location you are applying for.