Research Software Engineer
Imagine building the software that finds the needle in the real-world data haystack
G-Research is a leading quantitative research and technology company. By using the latest scientific techniques, we produce world-beating predictive research and build advanced technology to analyse the world’s data.
Software Engineering is core to our business. By designing and implementing real-time systems, our engineers are solving some of the world’s most complex financial problems.
The role of the Data Science Enablement team is to ensure our quantitative researchers have the best possible tools for the job. G-Research has developed highly effective proprietary platforms for researchers to analyse time series and tick data and develop and back test investment strategies. Our role is to enable researchers to combine the power of these in-house platforms with the wealth of data science and machine learning tooling outside G-Research.
You will develop libraries to integrate third-party & open-source data science tooling with in-house platforms & data sources; work directly with researchers to understand their challenges, and help them make effective use of the tools available to solve those problems; and set up infrastructure to enable researchers to utilise data science tooling. You will also work with our Technology Innovation Group to evaluate new tools, platforms and approaches and then deliver these technologies for researchers to use.
This is a new and growing team, so you will have the opportunity to really make a mark in this area and strongly influence the design and approach.
Who are we looking for?
We are hiring across a range of experience levels. Senior candidates will be expected to have demonstrable experience in multiple if not all of the following areas and to be ready to provide significant input into the shape of the solutions we deliver. Less experienced candidates will have knowledge in some of these areas and the interest and the desire to learn the others.
- Knowledge of numerical programming, ideally in Python using libraries such as Pandas, NumPy and tools such as Jupyter
- Demonstrable ability to engineer high-quality maintainable software and experience with automated testing and continuous delivery
- The confidence both to experiment with new ideas and technologies, and to engineer and own solutions that will be relied upon by many users and deployed to machines in large compute clusters
- Experience deploying distributed compute platforms including areas such as package management, security implementation and containerisation
- Experience working closely with data scientists or quantitative researchers
- Strongly motivated by seeing researchers be successful in their work thanks to the capabilities that you’ve provided
- Previous financial experience is not required, although an interest in finance is desirable
- Key technologies – Python, Pandas, NumPy, TensorFlow, Jupyter, Dask, Ray, Cython, Spark, Kubernetes, Docker
For any candidate, this is a challenging role requiring you to combine technical knowledge and engineering skills with the ability to understand the hard data science challenges facing our researchers. You will be comfortable working within a small team and dealing directly with business users, developing software iteratively.
Why should you apply?
- Highly competitive compensation plus annual discretionary bonus
- Informal dress code and excellent work/life balance
- Comprehensive healthcare and life assurance
- 25 days holiday
- Contributory pension scheme
- Cycle-to-work scheme
- Subsidised gym membership
- Monthly company events
- Central London office close to 5 stations and 6 tube lines