Software Engineer @ Serving infrastructure:
- Worked on various common infrastructure including the rpc framework, mysql replication tools, messaging, log aggregation pipeline, data block storage, etc.
- Performed system analysis, optimizations, and other improvements on various backend servers
- Spent a large amount of time refactoring / improving code quality in general
- Authored a large portion
Software Engineer @ Serving infrastructure:
- Worked on various common infrastructure including the rpc framework, mysql replication tools, messaging, log aggregation pipeline, data block storage, etc.
- Performed system analysis, optimizations, and other improvements on various backend servers
- Spent a large amount of time refactoring / improving code quality in general
- Authored a large portion of godropbox (https://github.com/dropbox/godropbox)
- Dealt with various production issues From July 2013 to Present (2 years 6 months) Software Engineer @ Ads Backend:
* Search ads serving infrastructure:
- Launched two generations of serving architecture, each improving scalability, utilization, and/or latency over the previous architectures
- Prototyped a third gen (the current) serving architecture (A few months after I've left the project, the serving team launched the prototype with two additional minor optimizations)
- Improved keyword targeting algorithm which resulted in 0.X% RPM gain for Adwords
- Performed system analysis, optimizations, and other improvements on various backend servers
- Provided ads serving related consultation for other teams, ranging from teams within Adwords, to teams from Adsense and Youtube.
- Dealt with various production and customer issues
* Prototyped the next-gen adwords reporting engine:
- created a procedural query language which promotes sub-query modularity/reusability, and emphasize on stats auto-aggregation (syntax-wise, it resembles a sql/scala hybrid)
- build a compiler front-middle end for the language (the prototype compiler uses google's f1 sql engine as backend; additional backends are in the works)
- implemented a custom query optimizer (our data model allows for more optimization opportunities than the standard relational model) From November 2010 to July 2013 (2 years 9 months) Software Engineering Intern @ As an intern in google's ad serving infrastructure core team, I redesigned one of the critical backend servers for the ad serving system, with the goal of reducing memory usage and improving CPU utilization. The new server uses 60% less memory while at the same time causes no noticeable increase in serving latency. From May 2010 to August 2010 (4 months) Software Engineer @ I was involved in the development of the entire system pipeline, including crawling, indexing, query serving, and other user features. From December 2006 to July 2008 (1 year 8 months)
MSc., Computer Science @ University of Toronto From 2008 to 2010 BSc., Computer Science and Mathematics @ The University of British Columbia From 2001 to 2006 Patrick Lee is skilled in: Distributed Systems, Python, Scalability, SQL, Algorithms, C++, Architectures, Object Oriented Design, C, Software Development, Software Engineering, Computer Science
Looking for a different
Patrick Lee?
Get an email address for anyone on LinkedIn with the ContactOut Chrome extension