Patrick Hayes


Bachelor of Mathematics, University of Waterloo, Computer Science/Pure Mathematics Double Honours, Waterloo, ON, 2007–2012

  • Graduated with Distinction; Cumulative average: 90%; Major average: 94%
  • Dean's Honours List, University of Waterloo, 2007–2012
  • St. Jerome's University President's Scholarship, University of Waterloo, 2007–2009
  • Excellent Academic Standing, University of Waterloo, 2007–2012

Relevant Coursework

  • Machine Learning; Artificial Intelligence; Algorithm Design; Database Systems Implementation; Principles of Programming Languages; Operating Systems; Theory of Computation
  • Readings in Pure Mathematics; Algebraic Number Theory; Measure Theory and Fourier Analysis; Real Analysis; Complex Analysis; Ring/Group Theory; Elementary Differential Geometry
  • Communications in Math and Computer Science, Macroeconomics

Work Experience

Co-founder, SigOpt, San Francisco, CA, November 2014–present

Senior Software Engineer, Foursquare, New York, NY, July 2012–November 2014

  • Developed passive awareness notifications to remind users of the best content nearby
  • Built the tips timeline, for discovering tips from people and tastes you follow
  • Created Foursquare expertise, for recognizing and rewarding city and neighborhood experts

Financial Software Developer, Bloomberg LP, New York, NY, May–August 2011

  • Developed an application for monitoring volatility of financial securities
  • Implemented an efficient, scalable caching system for handling large datasets using C++
  • Designed an intuitive user interface for trend analysis using Javascript

Research Engineer, (formerly ContextLogic), San Francisco, CA, September–December 2010

  • Developed a topical analysis application using sophisticated machine learning methods
  • Produced highly optimized C++ to improve performance in existing technologies by up to 20x
  • Designed a distributed indexer using Python and C that performed scalable data mining

Software Engineer, Facebook, Palo Alto, CA, January–April 2010

  • Developed a complete, scalable, distributed search application using PHP, Java and SQL
  • Leveraged open source technologies to build a robust, efficient, and extensible search framework
  • Used Javascript and Ajax to develop an engaging user experience

User Interface Developer, Sybase iAnywhere, Waterloo, ON, May–August 2009

  • Developed user interface functionality for commercial database software using Flex/Actionscript
  • Analyzed and implemented performance-critical web server code in Java and SQL
  • Designed a mobile version of an existing web application using Java, PHP, and SQL

Automation Tools Developer, Research In Motion, Waterloo, ON, September–December 2008

  • Created and improved test suites for BlackBerry OS and Android using Java, C, and Python
  • Developed a server for hosting and displaying test results using Django

Software Test Associate, Research In Motion, Waterloo, ON, January–April 2008

  • Implemented new test procedures and expanded on existing testing frameworks
  • Developed test scripts in Python for testing hardware functionality of devices


Ian Dewancker, Michael McCourt, Scott Clark, Patrick Hayes, Alexandra Johnson, George Ke. A Strategy for Ranking Optimization Methods using Multiple Criteria. Presented at ICML 2016, July 2016

Ian Dewancker, Michael McCourt, Scott Clark, Patrick Hayes, Alexandra Johnson, George Ke. Evaluation System for a Bayesian Optimization Service. Presented at ICML 2016, May 2016

Ian Dewancker, Michael McCourt, Scott Clark, Patrick Hayes, Alexandra Johnson, George Ke. A Stratified Analysis of Bayesian Optimization Methods. SigOpt, March 2016


Young Alumni Achievement Award, University of Waterloo, Faculty of Mathematics, January 2018

Open Source Contributions

Wikipedia/Wiktionary Mobile App, Wikimedia Foundation

  • Developed the Wiktionary mobile application for Android/iOS using PhoneGap
  • Contributed bugfixes and improvements to Wikipedia mobile application
  • Worked on a remote team with 3 undergraduate students from schools across Canada


  • Programming: Python, Scala, Javascript, Ruby, C, C++, Java, PHP, Lisp, Haskell, OCaml, Prolog, Actionscript, Visual Basic
  • Technologies: React, Android, iOS, BlackBerry, PhoneGap, Mongo, Rails, Django, LAMP, jQuery, Ajax, Postgres, MySQL, Heroku, AWS, CSS, HTML5, Git, SVN, Bash, Zsh, Flex, Google Perftools
  • Fields: Optimization, Machine Learning, Frontend, Data Mining, Search, Distributed Systems, Algorithm Design, Systems Profiling


Federation Orientation Committee Member, University of Waterloo, Waterloo, ON, 2010

  • Worked with a team of three students to plan Math Orientation Week 2010
  • Organized and ran events for 1500 students spanning one week in September
  • Contributed over 500 hours of volunteer involvement to planning Orientation Week

Orientation Week Head Leader, University of Waterloo, Waterloo, ON, 2008–2011

  • Gained extensive leadership experience by leading a group of over 200 first year students
  • Directed a group of ten other orientation leaders
  • Created and maintained a friendly, co-operative environment

Undergraduate Teaching Assistant, University of Waterloo, Waterloo, ON, January–December 2009

  • Tutored undergraduate students in Calculus
  • Marked weekly assignments

Mathematics Society First-Year-At-Large, University of Waterloo, Waterloo, ON, September–December 2007

  • Elected by the first-year Math student body to represent them in student government