Performance Engineer - London, UK

Business Unit: Technology

Location: London

Contract Type: Permanent/Full Time

Closing Date: 30 March 2020

Performance Engineer - London, UK

The Team

The Technology function is home to the various different technology professionals across our global business. We are an essential component in realizing our strategy by developing new and innovative products. We act as a single team, working quickly, differently and together.

The Role

As a senior Software Optimization & Reliability Engineer, you will work closely with a group of talented people in research and development teams in order to bridge the gap and accelerate production cycle. You will be responsible for converting research prototypes into optimized and high standard C++ code. Moreover, you will profile and optimize the execution time and memory footprint in the main product that will be powering the next generation of intelligent system used for authenticating and extracting information for millions of identity documents.

What will you do?

You will:

  • Deliver high quality technical solutions to meet the business requirements.
  • Bridge the gap between the GBG Research Team and Product Engineering Teams to deliver the best performing products we can.
  • Be focused on speed, and quality – wanting our customer experience to be great and for nothing to blowup in production
  • Ensure software quality standards used within the team are maintained or improved.
  • Communicate effectively with other members of the team and GBG, adapting your communication to suit the needs of the audience.
  • Challenge the status quo (technologies and/or processes) to help improve delivery within the team, or the performance of a given software solution.
  • Create solutions to meet product/customer requirements in a way that enables the team to produce the highest quality and performant software at pace.
  • Ensure that appropriate levels of documentation are maintained to ensure efficient onboarding of new team members.
  • Keep abreast of the latest technologies and know best practice techniques for optimizing any solution for speed, size and quality.

Skills

  • Solid experience in cross-platform C++ programming and efficiency in writing optimised code.
  • An experience in one of the optimization libraries: Eigen, Openblas, blaze or any equivalent library.
  • A hands-on experience in programming using SIMD intrinsics (SSE, AVX, NEON).
  • An experience in deploying a deep learning application into mobile platforms.
  • Knowledge of low-level threading primitives and real-time environments.
  • Good experience in computer vision and machine learning frameworks like OpenCV and Tensorflow.
  • Experience of working in agile/scrum environments and a good understanding of continuous delivery practices.
  • Specific expertise in Mobile Applications, on both IOS and\or Android
  • A broad knowledge in design and architectural patterns and in the full software development lifecycle
  • A deep knowledge of what drives & impacts performance and quality in software applications
  • Ability to work well within a team and support others.
  • Excellent organisational skills and the ability to work unsupervised.
  • Flexible, resilient and able to change focus on demand.


Technologies:

  • C++, CMake, Git, Python, Jira, Jenkins, Docker, AWS.
    Behaviours
  • Working with People.
  • Applying Expertise & Technology.
  • Learning and Researching.
  • Following instructions and procedures.
  • Delivering Results & Meeting Customer Expectations.
  • Coping with Pressures & Setbacks.
Apply now