Position: Senior C++ Developer
Company: Infopulse
Category: C++
Experience required: 3y
English level: intermediate

Our Customer`s engine team is in charge of developing the image processing library shared between all our software (PhotoLab, Nik Collection, PureRAW, FilmPack, ViewPoint). ). This component, mainly written in C++, is mostly developed internally and our critical component. It brings together the different image processing algorithms, but also the management of parameters and their validity, as well as optimization strategies (multi-threading, tiling, caches, GPU …).

**Areas of Responsibility**
Within this R&D team made up of both image processing engineers and software engineers, you will actively contribute as a software engineer to:

the performance and architectural choices of the engine
the implementation of good practices concerning quality

You will work closely with the other specialties in the team to:

develop, integrate and optimize the different algorithms
ensure (with the other product teams) a fluid, safe and agile integration of the engine in our various software

**Qualifications**
5 years of experience in C++ development
Excellent knowledge of the C++ language
Good knowledge of multi-threading and memory management
Code quality is your priority
Use of design patterns
Experience in continuous integration with short cycles, and various integration issues
Good knowledge of different automated test strategies, writing tests
Working in a team and familiar with agile methods (ideally SCRUM)
Rigorous while you develop
Intermediate+ level of English

**Will be an advantage**
Experience in benchmarking, optimization and / or knowledge of low-level architecture
Experience on Visual Studio (Windows), XCode (macOS), CMake
Experience in GPU development (OpenGL, Vulkan, DirectX, Metal, ...)
Experience in python development
Experience in pair-programming
Experience in image processing (use or implementation of algorithms
Ideally, you are passionate about photography