Job Title: Mid/Senior R&D Engineer
Location: Soho, London
About Ncam Technologies
Ncam offers a complete and customisable augmented reality platform that enables photorealistic virtual elements in real-time. At its core is a unique camera tracking solution that offers Film & TV productions virtual and augmented graphic technology without limits.
Our multi-award winning patented technology integrates seamlessly to any production, capable of adapting to a wide range of applications form indoor and outdoor use to mounted or even hand-held camera configurations. Through versatile real-time application and pre-visualisation of graphics, Ncam creates technology efficiencies that streamline the on-set production process, saving notable post-production time and incremental costs.
Ncam’s products are known worldwide and have been utilised by: Fantastic Beasts (Warner Bros), UEFA Champions League (BT Sport), NFC Championship Game (Fox Sports), Game of Thrones 8 (HBO), Monday Night Football (ESPN), The Super Bowl XLVIII (Fox Sports), Avengers: Age of Ultron (Marvel), Daytona (Fox Sports), and Jupiter Ascending (Warner Bros).
About the role
The R&D department of Ncam is looking for C++ developers with strong foundations in real-time software design and development to join our talented team of engineers to help architect and bring to market a new and novel product. There are multiple openings from mid to senior level. All positions are subject to immediate start and are based in Soho, London (UK).
Ideal candidates should have an applied understanding of software design with practical experience architecting and contributing to large-scale projects preferably with real-time performance constraints. They should be familiar with AGILE development cycles and comfortable working closely with other developers using team management systems (such as Redmine, GitHub, Jira etc.) and version control software (git, svn, perforce).
They will be responsible for aiding in the design and implementation of a large, multi-platform software product that will leverage GPU and SIMD CPU hardware to achieve real-time performance. This is in addition to growing the core supporting libraries using test case driven development. All applicants are expected to a have good written and verbal communication skills and be effective at conveying ideas, progress and issues with their teammates and management.
- Delivering high-end, cutting-end tools and software
- Clearly communicating with peers and managers, using industry standard language, on topics such as progress and blockers, problems and solutions
- Proactively solving easy and hard problems such as algorithms, patterns, software delivery, deadlines, as well as social and team building issues
- Capturing architectural requirements and designs of existing and new systems whilst sharing this information with the team
- Supporting the team to ensure company wide success
Essential experience required:
Degree in Computer Science or Software Engineering (MSc, PhD, Engineer Degree, Technical Degree) with 4+ years of industry experience, preferably in Computer Graphics (Computer Games, VFX and Film, AR or VR).
Candidates must have:
- Strong foundations in C/C++ programming
- Object-oriented software design paradigms
- Software development patterns such as chain-of-command, MVC, observer, etc.
- Algorithm design and conversations about same
- They should be comfortable working in Linux, Windows or Mac (preferably all three)
- Be familiar with one or more of the common build systems on each platform (Visual Studio, Scons, CMake, Xcode etc.)
- Agile, AINO, LEAN, RUP or similar development processes and familiarity with estimating and tracking work
Ideal experience required
Their knowledge should include one or more of the following areas:
- Python and/or writing python bindings using Boost Python or an equivalent library
- Clang and cross-compiler design
- Any of OpenGL and GLSL, DirectX and HLSL, CUDA, OpenCL, Metal
- Modern games engine development (UE4, Unity, CryEngine etc.)
- Performance focused SIMD optimisation on both CPU and GPU (SSE/AVX extensions, optimisation of GPU code etc.)
- Colour pipeline knowledge and tools such as LUTs, OpenColorIO, ACES or related
To apply for this opportunity, please send your CV through to email@example.com specifying “Computer Graphics Developer” within the subject line.