Distributed Systems Software Engineer

Software Development London, United Kingdom


Distributed Systems Software Engineer

The Company

Here at G-Research we are using agile techniques to build the big data analytics and forecasting technology used to predict prices in highly competitive financial markets.

Software development & consistent innovation is a core part of our business and we are continually striving to expand our development function with the world's best Software Engineers. Most of our systems are written in C# but we also have specialist teams using C++ and F#. We recognize that some of the very best Engineers are agnostic in their approach to development so we are open to speaking with candidates from a Java, Python and JavaScript background for example.

Innovation is at our core. We give our Software Engineers the freedom to find new solutions and encourage experimentation with the newest and best technology. A lot of people that work here are very active in the open source community, have spoken at conferences and are leaders within their fields. We are home to Engineers that contribute to the core F# language and sit on the C++ standards committee globally.

The Role

Situated within the Data Development Group (DDG), responsible for understanding, processing and organizing large research and realtime datasets.  Distributed systems developers work closely with other teams within the business including those within the Production and Research divisions to deliver outstanding data resources, and are responsible for end-to-end design and implementation.

Primary responsibilities of the role will include:

  • Designing and implementing high-quality code to process and manipulate large datasets.
  • Building cutting-edge tools and infrastructure supporting core facilities in the firm.
  • Strong data management skills;  advising cross-team initiatives;  assessing frontier technologies
  • Occasional full stack development – even though we’re primarily a backend team.
  • Optimizing data storage and modelling.
  • Responding to the ever-changing requirements of the business.


The platform that the firm provides is used 24 hours a day, and all developers in the group have a responsibility to support production issues encountered in the data processing.  This will include a share of overnight calls from within the firm.


The Individual

Required skills & experience:

  • A proven ability to develop high-quality software in an OO language.
  • An appreciation of good software architecture, CompSci fundamentals & data structures.
  • Demonstrable understanding of database design and use, or other data management techniques, both relational and non-relational.
  • Experience with distributed systems.
  • Experience of TDD and the ability to write clean code.
  • Experience of agile methodologies and a familiarity with retrospectives and continuous improvement processes.
  • A demonstrable desire to stay informed on the latest technologies and practices.
  • A keen interest in applying continuous delivery principles.