John V. Shahid
I excel at developing deep understanding of large systems and their complex interactions which often results in novel solutions and finding opportunities to improve those systems. I also have interest in improving the reliability and scalability of systems as well as mentoring engineers on best practicies to achieve them. I have used many languages throughout my career, including (most recently used first) Go, C#, C/C++, Java, Ruby.
Professional experience
Meta, formerly Facebook
Staff Software Engineer (Horizon) - July 2022 to Present
As part of Horizon, I joined the networking team responsible for in-game synchronization of various players states as well as VOIP. The team also maintained the service responsible for scheduling game servers.
- Lead a project to improve the game mechanics for air hockey games when played over high latency network connections.
- After multiple major site events (SEVs) end of 2022, I defined SLOs for all major services that the team maintain and a plan to achieve 3 9s for those services. By end of H1, we met those goals and had reliability increase from 95% to 99.9%.
- As part of the initiative, I lead a major refactor and roll out of a service with more than 200K daily active users. The rewrite of the service focused on improving testability, performance & observability of the service as well as decoupling the service by implementing a novel way to keep a pool of prewarmed game servers.
- Lead a project to improve the client library performance by 2x which lead to higher frames per second.
Senior Software Engineer (AI Infra) - Feb 2021 to July 2022
Lead the team responsible for training some of our largest Ads AI models for the FB family of apps as well as Instagram. Our largest models trained on 100s of machines and for multiple days.
- Lead a major effort across three large organizations (FB family of apps, Instagram & WhatsApp) to migrate their AI models off of old CPU architecture.
- Implemented a MILP placement algorithm for model parallel training to optimize the throughput of the training process.
- Lead a project to improve the numerical stability of the models, which resulted in IG shipping their largest model ever.
- Also lead the team maintaining the online training service and lead some of the most complex investigations
- Improved the release pipeline of the training code which resulted in reducing the resources needed to run the tests and reducing the release cadence from montly to weekly.
VMWare, formerly Pivotal
Senior Software Engineer - March 2015 to Feb 2021
Lead multiple teams which owned different core components of CloudFoundry:
- Implemented the initial Windows containerization support for CloudFoundry
- Lead the CloudFoundry Buildpack team.
- Lead the Diego team. The team responsible for the container orchestration and scheduling in CloudFoundry
- Lead effort to deploy VMWare products to the Intelligence Community on their private cloud, i.e. C2S. Dealt with multiple challenges preventing the products from running on the isolated AWS's secret regions and rigid security & compliance requirements of those kind of agencies.
InfluxDB, formerly Errplane
Software Engineer - July 2013 to November 2014
Co-authored the initial design of InfluxDB and built InfluxDB's initial version of the query parsing, query execution and storage layers. As an open source project, I also helped coordinate the open-source community feedback and efforts to maintain the client libraries.
Thomson Reuters
Software Engineer Contractor - December 2012 to July 2013
Implemented and deployed a large scale service that replaced the legacy Microsoft Lync single host service. The service is currently used by thousands of Thomson Reuters customers to chat on TR platform across the globe, including customers in far east, middle east, and the US.
Benchmark Solutions
Software Engineer - February 2010 to December 2012
I was an early hire at Benchmark Solutions. My responsibilities included architecting, developing, and maintaining a wide range of services and local daemons that abstracted storage and querying of bonds and CDCs prices.
Open source
Contributing back to the open-source community is very important to me. Below is a sample of OSS projects I contributed to:
- Go:
- JRuby:
- Emacs:
- Core maintainer on the Nokogiri
team. Not very active recently.
Research
A generative approach to testing database applications:
Shahid, Chays, Frankl. Query-based Test Generation for Database Applications.
Proceedings of the 1st intentional workshop on testing database systems, June 2008.
Download as plain text.