Senior Software Engineer | Computer Vision | C++ | Python | 3D | OpenGL | Hybrid, London
Senior Software Engineer | Computer Vision | C++ | Python | 3D | OpenGL | Hybrid, London
Senior Software Engineer — 3D Asset Processing & Rendering
We’re looking for a senior software engineer to own the 3D asset processing and rendering infrastructure in our desktop material-capture application for Windows. You’ll work across the full product: 3D asset processing pipelines, OpenGL rendering libraries, integration with third-party 3D tools, backend database connectivity, and Windows releases.
This role is ideal for a C++ and Python expert passionate about 3D graphics, real-time rendering, and VFX/game workflows, and who wants to help build a next-generation system connecting advanced AI to 3D asset creation. You should have a product mindset and balance building robust, performant systems with pragmatic delivery.
Mission
Own the 3D rendering and asset-processing systems that power our material-estimation technology and help ship our desktop material-capture tool for high-end photogrammetry workflows.
You will:
- Build and scale our Windows-based desktop material-capture application as a core member of the engineering team
- Architect and maintain the 3D asset-processing and rendering modules that support our material-estimation technology across product and research functions
- Deliver high-performance systems from raw image processing through to OpenGL-based rendering, optimized for high-resolution assets and production workflows
Key Responsibilities
- Contribute to establishing our application as an industry standard for material capture in high-end photogrammetry workflows
- Own end-to-end 3D and rendering modules across the product
- Develop robust, high-performance C++ and Python modules for 3D geometry processing
- Collaborate with data, ML, and product teams to deliver and integrate 3D format support, 3D transformations, and rendering systems
- Build Python interfaces for pipeline integration, tooling, and automation for internal production and external partners
- Own the release cycle for core modules, ensuring stability, performance, and quality
- Establish best practices for graphics programming and performance optimization
Key Requirements
Must have:
- 5+ years of professional software engineering experience
- A track record of building and shipping graphics/rendering capabilities in software products
- Strong expertise in both C++ and Python with a focus on performance optimization
- Comfort working across multiple paradigms (C++ for performance, Python for flexibility), build systems (CMake, Conda, pip), and platforms (Windows, Linux)
- Strong understanding of 3D fundamentals:
- Assets (USD, Alembic, GLB)
- Rendering (OpenGL)
- Physically-based materials (PBR)
Important:
- Effective communication skills and experience in cross-functional collaboration with software teams, ML researchers, and product management
- Familiarity with computer-vision concepts and photogrammetry (camera calibration, reprojection)
- Understanding of game-engine workflows (Unreal, Unity) and production asset pipelines
- Familiarity with CI/CD for desktop applications
Nice to have:
- Experience with parallel-computing frameworks (OpenMP, CUDA)
- Knowledge of advanced rendering techniques (ray tracing, global illumination)
- Experience with computer-vision libraries (OpenCV)
Tech Stack:
Languages: C++, Python
Graphics: OpenGL, GLSL
3D Tools: Blender, Unreal
Formats: Alembic, USD, glTF/GLB, OpenImageIO, OpenEXR
Optimization: OpenMP, CUDA
IPC: ZeroMQ (cppzmq/pyzmq)
Build: CMake, Conda, Git, CI/CD
Platforms: Windows (primary), Linux
Senior Software Engineer | Computer Vision | C++ | Python | 3D | OpenGL | Hybrid, London
- Company
- Enigma
- Location
- United Kingdom, UK
Hybrid/Remote Options - Posted
- Company
- Enigma
- Location
- United Kingdom, UK
Hybrid/Remote Options - Posted