Back to results

Senior Software Engineer – Computer Vision

£70,000 - £85,000

As a Senior Software Engineer, you will be part of a world-class team of researchers and engineers who create useable Artificial Intelligence for the real world. With numerous partnerships with global organisations, this team are recognised as leaders within Vision, more specifically within the fields of facial recognition & object detection.

You will be a part of a diverse, multinational team that are continuously pushing the boundaries of what technology can achieve whilst working on complex and challenging assignments. As part of this team, you will receive world-class training and will gain in-depth experience with cutting edge systems in this highly ambitious environment.

Your main goal will be to build highly optimised, portable Machine Learning software for Computer vision which targets modern parallel platforms. To be a successful Parallelisation Engineer you will need a solid knowledge of C++11, GPGPU and a good understanding of generic programming as well as high-level C++ abstractions.

Responsibilities will include designing, deploying and maintaining Machine Learning libraries in C++, as well as implementing, optimising and parallelising deep learning algorithms with the main focus on CNNs & RNNs. A good understanding of parallel programming concepts is essential to being successful. As part of this team, you will be creating tools for state-of-the-art hardware which incorporates bleeding-edge Deep Learning, Computer Vision applications, you will also be able to research emerging languages such as Halide & frameworks such as Open CL.


The must-haves:

  • Solid knowledge and experience of C++11.
  • Experience developing fast & scalable concurrent programs.
  • Good knowledge of software parallelisation techniques.
  • Experience with performance profiling and optimisation.
  • Knowledge and experience using GPGPU programming models like CUDA, OpenCL, SYCL.
  • Ability to debug code effectively.
  • Experience with version control systems.
  • Must have the ability to learn new technologies and development approaches on the job.
  • Excellent communication skills, both verbally and written.

Bonus points:

  • Engineering knowledge of machine learning frameworks such as TensorFlow or Caffe.
  • Cross-platform development

For more information contact me

John Stephenson

Share Job
Know someone who may be interested?

Upload your CV
One of our consultants will contact you
to find out more about you