Thomas James Cartwright, Developer in Edinburgh, United Kingdom
Thomas is available for hire
Hire Thomas

Thomas James Cartwright

Verified Expert  in Engineering

Machine Learning Engineer and Developer

Location
Edinburgh, United Kingdom
Toptal Member Since
July 17, 2020

Thomas has three years of industry experience designing, developing and productionising machine learning solutions and five years of industry experience developing software solutions. He holds a Master of Science in AI (with merit) from the University of Edinburgh, specialising in traditional machine learning, deep learning, and reinforcement learning. Due to a keen interest in entrepreneurship, Thomas joined Toptal to contribute his expertise and explore new challenges.

Portfolio

BlackRock
Amazon Web Services (AWS), Artificial Intelligence (AI), Data Science, Python...
Getaroom
Amazon Web Services (AWS), Keras, NumPy, TensorFlow, Python
Barrachd
SQL, NumPy, Python

Experience

Availability

Part-time

Preferred Environment

Artificial Intelligence (AI), Machine Learning, Data Science

The most amazing...

...thing I have developed is a machine learning agent that taught a simulated robot to walk.

Work Experience

Machine Learning Engineer

2021 - PRESENT
BlackRock
  • Developed and productionized machine learning models to predict financial instrument prices using Scikit-learn, PyTorch, NumPy, Pandas, Python, Docker, and AWS.
  • Managed stakeholder relationships by scoping project requirements, designing key success metrics, specifying timelines, and presenting findings.
  • Led the introduction of Agile processes for new and existing machine learning projects.
  • Presented model designs and results to technical and non-technical stakeholders.
  • Engineered a model backtesting and monitoring framework using Python, Docker, and AWS—EC2, SageMaker, and CloudWatch.
Technologies: Amazon Web Services (AWS), Artificial Intelligence (AI), Data Science, Python, PyTorch, NumPy, Pandas, Docker, Scikit-learn

Machine Learning Engineer

2019 - 2021
Getaroom
  • Improved and productized a deep learning NLP model—achieving a classification accuracy of over 95%.
  • Designed and implemented new models for predicting sales of new properties, therefore making property price collection more accurate and efficient.
  • Performed an analysis on large, noisy datasets before presenting the findings to nontechnical teams.
  • Increased the performance of existing machine learning models through parallelization, the user of GPUs, and refactoring of Python code.
  • Ensured AI/ML solutions are explainable to nontechnical members of staff.
  • Wrote efficient Athena queries on large, noisy datasets for data analysis and development.
Technologies: Amazon Web Services (AWS), Keras, NumPy, TensorFlow, Python

Software Developer

2017 - 2019
Barrachd
  • Developed an online app using Python (NumPy, SciPy), C# .NET, JavaScript, React, and SQL.
  • Led the design and implementation of a microservice that matched large volumes of incoming messages to complex queries. Using advanced Python and linear algebra, this service decreased processing time from minutes to less than one second.
  • Participated in the design and implementation of a component that clustered large volumes of incoming messages, therefore streamlining the data processing pipeline.
  • Worked in a team to implement data analytics software that allowed users to visualize and analyze data from millions of social media interactions every hour. This allowed clients to gain actionable insights from large volumes of unorganized data.
  • Developed integrations with a large number of social media APIs, ensuring minimal data was collected to keep operational costs low and ensure clients only saw relevant information.
  • Presented and described technically complex components to technical and nontechnical members of the team.
Technologies: SQL, NumPy, Python

QA Lead | Software Developer

2014 - 2017
RotaGeek
  • Initiated and led the entire testing process leading to fewer bugs, a more robust product, and a faster development cycle.
  • Chose the software release dates, balancing customer requirements with product quality.
  • Gathered feedback from clients to align future product developments with client needs.
  • Communicated and demonstrated the product to technical and non-technical stakeholders.
Technologies: Python, SQL

Recommendation System for Citizen Science

https://github.com/tjcdev/qc-recommender
A system that recommends new SciStarter projects to users on the Citizen Science web portal. The recommender system uses the user's previously completed projects, and the contents of projects, to build a profile of users interests.
The unsupervised task clustering and user recommendation system on the SciStarter website was used to increase engagement and the quality of user task completion.

Languages

Python, SQL, C#

Libraries/APIs

Pandas, NumPy, TensorFlow, PyTorch, Scikit-learn, Keras

Other

Recommendation Systems, Machine Learning, Artificial Intelligence (AI), Data Engineering, Deep Neural Networks, Natural Language Processing (NLP), GPT, Generative Pre-trained Transformers (GPT), Reinforcement Learning

Paradigms

Data Science

Platforms

Amazon Web Services (AWS), Docker

Storage

Google Cloud

2017 - 2019

Master's Degree in Artificial Intelligence

University of Edinburgh - Edinburgh, Scotland

2010 - 2014

Bachelor's Degree in Mathematics

University of Edinburgh - Edinburgh, Scotland

JULY 2017 - PRESENT

Machine Learning Specialization

Coursera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring