Job Title: Mid/Senior R&D Engineer
Location: Soho, London
About Ncam Technologies
Ncam is a pioneer of real-time visual effects solutions that empower its customers to achieve their artistic visions and take greater control of the creative process. At its core is a unique camera tracking solution that is supported by a suite of workflow tools and plug-ins for industry standard real-time renderers which 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 from 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 Championships 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 full-stack developers with strong foundations in C++ software development to join our talented team of engineers to help develop, maintain, and support our product line. All positions are subject to immediate start and are based in Soho, London (UK) with options to work remotely.
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 or using web technologies. 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 developing new product features as well as improving, maintaining, and supporting our entire product line. This includes development of Ncam Reality (our camera tracking software), web-based apps and our products that leverage game engine technologies for real-time visualization. Hands-on experience isn’t necessarily required in all of these key areas which provides applicants with variety and the opportunity to learn and expand their skill sets. All applicants are expected to have good written and verbal communication skills and be effective at conveying ideas, progress and issues with their teammates and management.
This role would be ideal for candidates who are degree educated in Computer Science or Software Engineering, with a passion for and knowledge of Computer Graphics or Computer Vision.
- Collaborating with the development team to create new features across all our existing and upcoming software products
- Improving, maintaining, and supporting existing products as well as the libraries and build systems they are built upon
- 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++ programming and at least the C++11 standard
- Strong knowledge of object-oriented software design paradigms
- Knowledge of software development patterns such as chain-of-responsibility, MVC, observer, etc.
- Applied experience with test-driven development
- Comfortable working in both Windows and
- 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
- Be comfortable working with others using git flow and peer-review processes.
Ideal experience required
Their knowledge should include one or more of the following areas:
- Software development using Python 3.
- Accepted contributions to open source projects
- Architectural design of a software project
- 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.)
- 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)
To apply for this opportunity, please send your CV through to firstname.lastname@example.org specifying “Software Developer” within the subject line.