About Util

Util is a London based Financial Technology company using machine learning to quantify the societal and environmental impact of companies and investors. Our vision is to see investment decisions being made to optimise positive financial, social and environmental returns. We are a team of 10, with a diverse range of experience, united by our desire to move mainstream investment towards companies that benefit society and the environment, in addition to achieving on or above market returns.


As a Software Engineer at Util, you will focus on our software infrastructure and DevOps efforts. While you will have your own set of problems to solve, you should expect to work closely with the rest of the engineering team to ensure a tight cohesion between the different areas of the codebase. As such, we are looking for someone with a strong background in software engineering in Python who loves orchestrating code reviews, automating their workflow, and designing, implementing, and testing object-oriented code.

In addition to this primary engineering role, there are a host of secondary roles you can fill at Util. These mostly deal with large-scale cloud infrastructure on AWS, contributing to our data modelling, maintaining the data pipeline, implementing machine learning models at scale, and contributing to the NLP efforts that are crucial to our mission. We welcome expertise and enthusiasm in any of these fields.

As one of the first members of our growing team, we expect you to contribute to all aspects of Util, including strategy, company culture, and product development.

Primary Responsibilities (expect to do all of these):

  • Implement robust software solutions to support our large-scale data processing requirements.
  • Automate and maintain continuous integration and deployment processes.
  • Rigorously review algorithms developed by our data scientists so that they are ready for production. These reviews are carried out via GitHub pull requests.

Secondary Responsibilities (expect to do some, but not all, of these):

  • Contribute to the front-end efforts, which are written in JavaScript and utilize NoSQL databases.
  • Contribute to the back-end efforts, which are written in Python and utilize SQL databases.
  • Improve our MapReduce pipeline, which utilizes Spark, airflow, and other related software to scale our machine learning and efforts.
  • Construct internal dashboards and metrics to monitor our data quality and track our progress.
  • Implement machine learning models in scalable frameworks like Tensorflow, Pytorch, Keras, etc.


Required Technical Skills:

  • Strong software engineering background, both in design and implementation.
  • Evidenced experience building software projects, ideally with open-source contributions and projects on GitHub, GitLab, or any other software hosting site.
  • Experience using Git in a team setting.
  • Fluency in Python.
  • Fluent in object-oriented programming, including familiarity with design patterns and best practices.
  • Well established coding style.

Desired Technical Skills:

  • Confident Linux user, especially with remote environments
  • Experience processing, storing and accessing large datasets.
  • Experience working with ML code.
  • Fluency in a language other than Python.

Personal Skills:

  • Ability to work individually and in a team.
  • Flexibility and ability to adapt to changes in priority, with the understanding that process and structures are not rigid at an early stage startup
  • Comfort with uncertainty - where others see unchartered territory you see the opportunity to innovate
  • The desire to work in an idea meritocracy, where all ideas are welcomed and the only metric is quality.

Get weekly notifications when new jobs are posted