Software Engineer

Location
Oxford, Oxfordshire
Salary
Up to £37,375 pa + EXCELLENT Uni Benefits
Posted
24 Nov 2015
Closes
22 Dec 2015
Ref
TTAS/315/Ox
Contract Type
Permanent
Hours
Full Time

Software Engineer

EXCELLENT career opportunity for bright Software Engineer to work at one of the world’s top academic institutions – Oxford University.

Working within the university’s world leading Dept of Engineering Science we are looking for a highly skilled and motivated Software Engineer to join a large multi-faceted research  project  to develop the next generation computer vision methods that are able to analyse, describe and search image and video content with human-like capabilities

Key Responsibilities

1.         You will collaborate with an internationally-leading team of researchers in computer vision and machine learning, working on cutting edge technology such as deep learning. Your chief responsibility will be to design, develop, and implement state-of-the-art computer vision and machine learning software.

2.         You will be part of a growing engineering team who will be immersed in a research environment and so you will need to work closely with academics, post-docs +  research students.

3.         You will develop diverse software components, from popular open-source high-impact software libraries to applications and demonstrators.

4.         You will be able to use an existing code base and adopt existing house styles. However, you will also contribute to the design and review of software, with an eye on the advantages, costs and consequences of refactorisation and upgrading.

5.         You will integrate the latest research outputs into future-proof software libraries programmed to the highest quality standards.

Key Tasks

•           To develop and assist in the design of their research software infrastructure, including popular open-source libraries such as VLFeat and MatConvNet and application and demonstration software.

•           To design, write, test, and maintain code and documentation.

•           To implement and test advanced computer vision and machine learning algorithms, including designing effective application interfaces around them.

•           To develop their existing code base, including understanding its strength and weaknesses, and suggesting, designing, and implementing upgrades when appropriate.

•           To collaborate in designing software libraries and in integrating research outputs in their software infrastructure, including reviewing or refactoring research code as appropriate.

•           To collaborate and interact in a constructive manner with a team of individuals with very diverse skills.

Detailed tasks

•           To write software in C++, MATLAB, Python.

•           To write parallel code, including programming NVIDIA GPUs in CUDA as well as code that runs on large computer clusters.

•           To write software documentation, including design and interface documentation, software presentations, and tutorials.

•           To maintain open source software, including tracking and addressing bugs.

•           To assist in designing software libraries, APIs, and protocols.

The Person

Essential

1.         Excellence in C++.

2.         Excellence in at least one high-level scientific language such as MATLAB, Python, Lua, or Julia.

3.         Experience in implementing advanced image processing, computer vision, or machine learning algorithms and systems.

4.         Experience in designing complex software products, including the design of application interfaces and of the structure of software.

5.         Willingness to learn new tools and skills as required.

6.         Competence in standard toolchains (gcc/msc/Xcode, make, cmake, git, unit testing frameworks, etc.)

7.         Strong communication skills and a good standard of spoken and written English.

8.         A degree in engineering, computer science, physics, or related subject.

Desirable

1.         Experience in programming GPU hardware (CUDA).

2.         Exp in handling large datasets (hundreds of TBs).

3.         Exp in cluster programming (e.g. MPI, Parallel MATLAB).

4.         Exp in client-server software and Javascript.

5.         Proficient user of Linux as an operating system, including essential system administration skills.

6.         Solid understanding of key mathematical tools such as linear algebra and real analysis to the end of understanding advanced machine learning and computer vision algorithms.

In return you can expect to be rewarded with a competitive base salary of £30,434 to £37, 374 base (dep on exp) + excellent range of university benefits + holiday entitlement.

Please send CV + covering letter to Tony Timmins, Executive Search Consultant.