French version here:
Senior Engine Engineer
<aside>
🔥 Title : Senior 3D Engineer
Role : Full Time
Location : Paris, remote
Hiring Manager : Paul Borensztein, co-founder & CTO
</aside>
<aside>
💻 Tech Stack
Infrastructure : Kubernetes, docker, grafana, prometheus, Postgresql
Backend : Golang, NodeJS
Frontend : React / Typescript
Engine : OpenGL, C++, Blender
Tools : Qt, OpenGL, C++, Blender
</aside>
Why this role ?
Build the foundations of Omi : As an Engineer working full-time on our 3D code at Omi, you'll have outsized influence on the infrastructure and foundations of the services we develop.
Work on a unique technology : Omi exploits the potential of the most performant rendering engines to create the most powerful and effective 3D marketing technology of the last (or next) decade. Let's achieve this goal together.
Join us at a magical time: We've just raised capital and we're starting to work on our product-market fit while acceleration our tech development, which gives us a huge green field to work with. You'd join at the perfect time to shape what we build and how we grow.
Responsibilities
As a Senior 3D Engineer at Omi, your responsibilities and missions will be:
- Develop and maintain asset processing pipelines in C++ to allow us to integrate the OMI assets with external platforms (Unity, Unreal, AR, social media, e-commerce).
- Add features to our existing applications used in house by our artists for processing assets and building scenes (C++, Qt).
- Develop Python scripts to improve artists work flow when importing, exporting, and visualizing assets in Blender (Blender, Python).
- Improve our existing interactive webviews written in C++, OpenGL, and Emscripten that are used by our customers to edit and preview scenes.
- Debug and optimize desktop applications (C++, Qt), backend rendering pipelines (C++, Python, Blender), and real time webviews (C++, EMCC, OpenGL).
- Write and integrate tests on the code base.
- Work with front and backend teams to integrate new features into asset processing pipelines, rendering pipelines, and webviews.
- Contribute to the existing and very modular code base in a way that is consistent with existing code (C++17, CMake, QMake, GNU make, Git).
- Write clean, readable, and well documented code and wherever possible use and improve our existing code base.
- Be comfortable building and integrating third party code and libraries (Eigen, PCL, OptiX, Emscripten...).
- Participate in code reviews for less experienced members of the team.
Qualifications
For this role, the required qualifications are:
- BS, MS or PhD Degree in Computer Science, Computer Vision, 3D Graphics or similar domain.
- 5+ years of commercial experience working in an 3D/computer graphics/game related product.
- Required: OpenGL, C++, Linux, GLSL, Python, Blender, Image Processing Algorithm, Computation Geometry, Docker Experience, C++17, STL, Git.
- Experience with build systems, ideally QMake, CMake, and make.
- Nice to have: Qt, OpenCV, AR experiences as well as AR Web, Computer Vision experiences, Machine Learning experiences (PyTorch), Photogrammetry experiences, GPU underlying tech understanding (Cuda, OpenCL etc.), Emscripten / Web Assembly.
- Experience debugging C++ / OpenGL applications, GDB, Valgrind, Callgrind, or similar tools.
Bonus
For this role, the bonus qualifications are :
- Nice to have: Knowledge in front-end development (asynchronous programming, typing, closures, testing…)
- Proven experience in the 3D, AR or gaming field is a plus.
- Experience with 3D graphics software especially Blender.
- Experience with WebGL, WebAssembly, or JavaScript.
- Experience with mobile development.
- Experience with cloud computing services.
- Can integrate well with other teams and be efficient when integrating services.
- Able to thrive in a dynamic environment where goals and requirements may be changing.
- Personal or academic projects or papers