Tom Ayles
Software Engineer at Betteromics- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
Topline Score
Bio
Experience
-
Betteromics
-
United States
-
Software Development
-
1 - 100 Employee
-
Software Engineer
-
Jul 2023 - Present
-
-
-
Google
-
United States
-
Software Development
-
700 & Above Employee
-
Senior Staff Software Engineer - Drive Backend
-
Sep 2019 - Mar 2022
The Google Drive Backend teams build and run the systems that store and process data/metadata relating to the massive numbers of items stored in Google Drive by both consumer and enterprise customers.I was an expert consultant to a team to enable the migration of multi-PB 1M+ writes/sec subsystem to Spanner DB (see below). I carried out extensive design, performance analysis and optimization to achieve positive cost-performance.I was then a lead engineer in a different group migrating core Drive metadata to Spanner. I consulted with the team to achieve optimal storage patterns. I worked with the team to build a C++ storage API that will back most Drive requests. I performed cost-performance analysis and tuning of structured query and full-text retrieval from client to IO-level. Show less
-
-
Senior Staff Software Engineer - Maps
-
Jan 2018 - Sep 2019
I worked on some early-stage exploratory efforts. I designed and prototyped a spatial store for location-based augmented reality content. I investigated using several novel imagery sources to update map data, prototyping C++ ML pipelines and running quality evaluations. I consulted with numerous teams within Maps on their Spanner DB usage to ensure they could meet their goals.
-
-
Senior Staff Software Engineer - Cloud Spanner
-
Jun 2015 - Dec 2018
I was a founding member of a team to make the Spanner database available publicly outside Google as part of Google Cloud Platform. I was Technical Lead for the team during the delivery of closed Alpha through General Availability phases.I led 4-12 engineers directly, plus 10-20 engineers in adjacent teams (UI, client libraries, customer solutions), to develop the product and integrate with GCP ecosystem.We implemented a high-performance DB frontend C++ server to provide public gRPC API to Spanner. I worked individually on a number of key features as well as providing direction to the broader team.I helped to define the product and prioritize features by working closely with product managers and external customers.I led design and implementation of the system to meet 4/5 9 availability objectives and worked closely with SRE and Security teams to ensure that the product could be launched reliably and safely. Show less
-
-
Staff Software Engineer - Spanner Database
-
Jul 2013 - Jun 2015
Spanner is Google’s planet-scale database system. It serves over 1B ops/sec and backs the majority of Google applications.I built support for Java/Go client libraries for accessing the database, modifying C++ core code and creating a new a low-overhead C++ proxy server. I worked closely with early users of these libraries to ensure key features were supported and that performance goals were met. I added rigorous testing and operational procedures to allow this to be rolled out broadly to other teams at Google, and it is now widely used across the company.I later developed a transactional message queue integrated into the database.I provided operational support for the system. I worked closely with key clients to allow them to move workloads onto the DB, and analyzed and root-caused numerous production issues across stack from client application to network level. Show less
-
-
Staff Software Engineer - Google Programmable Ads
-
Jul 2010 - Jul 2013
Founding team member and Technical Lead for serving systems, Google Programmable Ads (GPA).I was TL for a 6-10 engineer team building the serving backend that selects and optimizes items from large data feeds (eg, product catalogs) into display ad creatives at Google AdSense scale and latency budgets.I worked with leads from other teams in GPA to define the product and architect system boundaries, and with leads from AdSense serving to integrate GPA into the highly revenue critical AdSense serving stack. I also collaborated with SRE teams to ensure a robust and performant system, and Iled migration to a new C++ server architecture cutting latency and cost by around 50% while maintaining functional correctness. Show less
-
-
Senior Software Engineer - Rich Media Dynamic Ads
-
Sep 2008 - Jul 2010
Founding team member then Technical Lead for Rich Media Dynamic Ads, a new Google product that serves low-latency data feeds into display ad creatives at impression time. I designed, built and supported a system that served over 100k impressions/second.
-
-
Software Engineer III - Print Ads
-
Jan 2008 - Sep 2008
Developing campaign management features for the Print Ads product.
-
-
-
BBC
-
United Kingdom
-
Broadcast Media Production and Distribution
-
700 & Above Employee
-
Principal Software Engineer
-
2005 - Dec 2007
Software engineer working for BBC News Online, primarily focused on site search and other dynamic aspects. Led the transition of BBC Online core website search to the same technology platform. Led search and browse data backend for the initial release of BBC iPlayer. Twice promoted with final role of Principal Software Engineer. Software engineer working for BBC News Online, primarily focused on site search and other dynamic aspects. Led the transition of BBC Online core website search to the same technology platform. Led search and browse data backend for the initial release of BBC iPlayer. Twice promoted with final role of Principal Software Engineer.
-
-
-
Freelance
-
London, England, United Kingdom
-
Consultant Developer
-
2003 - 2005
Developed online community platforms with the London Borough of Camden and Greater London Authority using the ArsDigita Community System. Developed online community platforms with the London Borough of Camden and Greater London Authority using the ArsDigita Community System.
-
-
-
ArsDigita
-
Technology, Information and Internet
-
Software Engineer Intern
-
Jun 2001 - Oct 2001
Developing web applications for various customers using the ArsDigita Community System. Developing web applications for various customers using the ArsDigita Community System.
-
-
Education
-
Imperial College London
Master of Engineering - MEng, Computing