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