Shripad Thite

Email: firstname . lastname @ gmail . com
LinkedIn profile



I am a Software Engineer, machine learning infrastructure and algorithms developer experienced in client (Android) and server infrastructure. I am self-motivated, lead by example, with a collaborative working style; pragmatic, data-driven, product-oriented engineer. I am also a computer scientist and researcher in algorithms in computational geometry and algorithms in applied areas, including online advertising, statistical analysis, microeconomic simulation, scientific computing, graphics and visualization, wireless networking, robotics, microeconomic simulation, auction market design.

Employment
Software Engineer, Uber, 2017-present
Software Engineer, YouTube Go for Emerging Markets, Google Inc, 2015-2017
Software Engineer, YouTube personalized recommendations, Google Inc, 2013-2015
Senior Software Engineer, Climatology, The Climate Corporation, 2012-2013
Software Engineer, Search Ads Quality, Google Inc, 2009-2012
Graduate Research Assistant, Los Alamos National Laboratory, 1998, 2001, 2002

Skills
Java (Android), C++, Python, Go, Clojure, and Sawzall programming. Python and R for statistical data analysis. C++, Java/Android/Clojure, and Python for production code. Go for server-side scripting.

Specialties

Experienced in infrastructure for deep Machine Learning for YouTube’s Emmy award-winning recommendation system; Android development for new buttery-smooth user experience on YouTube on 2G networks;  Algorithms and infrastructure for Search Ads at Google; Computational geometry algorithms, software consulting, and research.

Developing and implementing algorithms for large data sets that allow principled trade-offs between accuracy and efficiency. Developing geometric algorithms and using geometric insight to exploit previously unknown connections between problems in diverse areas including theory and practical applications.

Education

Ph.D., Computer Science, University of Illinois at Urbana-Champaign (2005)
Thesis: Spacetime Meshing for Discontinuous Galerkin Methods
Advisor: Prof. Jeff Erickson

M.S., Computer Science, University of Illinois at Urbana-Champaign (2001 )
Thesis: Optimum Binary Search Trees on the Hierarchical Memory Model
Advisor: Prof. Michael C. Loui

B.E., Computer Engineering, University of Pune, India (1997)
Studied at the Government College of Engineering, Pune (COEP)
Graduated 1st rank in University; Awarded D.Y. Patil Gold Medal

Experience

Software Engineer, Uber Technologies Inc. (2017-Present)
    Software Engineer, YouTube Go for Emerging Markets, YouTube/Google Inc. (2015-2017):
    • Growth through better performance: Reimplemented the YouTube experience on Android for buttery-smooth performance on resource-constrained mobile phones on 2G networks. Key contributor to Google’s growth efforts in Emerging Markets.
    • Rewrote the key home page content discovery (browse) experience from scratch, influencing product decisions as well as making technical choices on infrastructure and libraries.

    Software Engineer, YouTube Personalized Recommendations, YouTube/Google Inc. (2013-2015)
    • Personalize the YouTube.com home page/screen to your interests by surfacing relevant content.
    • Machine learning to facilitate serendipitous discovery of engaging content.
    • Improved user engagement and retention on YouTube through better personalized video recommendations.
    • Helped make YouTube a destination site by tailoring the home page content and ranking to the individual user by engineering infrastructure for large-scale machine learning recommendation systems.
    • Member of Emmy award-winning team!
    Consulting developer, Zendrive (formerly Carma), 2013
    • At seed idea stage, helped write code to analyze mobile phone sensor data (motion and geolocation) to identify significant mobility events with a view to increasing safety through driver feedback while driving.

    Senior Software Engineer, The Climate Corporation (2012-2013)
    • The Climate Corporation's mission is to help all the world's people and businesses manage and adapt to climate change. We aim to protect the global agriculture industry from the financial impact of adverse weather with automated, full-season weather insurance.
    • Designed and implemented a reliable, latency-critical, RESTful web service running on Amazon Web Services (EC2 and S3) for large-scale analysis of historical weather data and weather forecasting on demand. Use Java, Clojure, and Python to create RESTful back-end web service supporting weather and agriculture tools on the front end.
      Software Engineer, AdWords Ads Quality, Google Inc. (2009-2012)
      • Improved user happiness and advertiser return-on-investment and reach by increasing the coverage and relevance of ads on search queries on Google.com and partner web properties.
      • Designed and implemented algorithms to improve the targeting of ads, by using semantic knowledge and historical data.
      • Implemented algorithms in worldwide live servers with strict latency, CPU, and memory constraints.
      • Design, run, and analyze experiments affecting billions of search queries per day and billions of dollars of revenue per year.
      • Analyzed performance of ads targeting by implementing statistical algorithms such as hypothesis testing, Bayesian inference, linear and logistic regression.
      • Monitor and help maintain production servers worldwide.
      • Mentored junior engineers and interns.
      • Collaborated with fantastic engineers, research scientists, and product managers in four time zones and three countries and multiple product areas.
      Postdoctoral Fellow, California Institute of Technology (2007-2009)
      • Conducted research in algorithms for combinatorial problems in computational geometry and topology as a scholar in the Center for the Mathematics of Information, Information Science & Technology.
      • Collaborated with Caltech researchers in Computer Science on problems in computational geometry and topology, such as those motivated by graphics applications.
      • Investigated algorithms for clustering and modeling imprecise data with Caltech colleagues.
      • Researched algorithmic problems in topology such as computing optimum homotopy between curves on surfaces and homeomorphism between surfaces, and curve and surface approximation. 
      Consultant, OpenX Inc. (2008)
      • Advised OpenX on algorithms for design and implementation of a real-time spot auction market for online display advertising as one of two computer scientists on a team of eight consulting for OpenX Inc., a Pasadena-based startup in online advertising.
      • Researched algorithms for price support in multiple online Vickrey auctions and for inventory matching to maximize return-on-investment. 
      Consultant, Arges Imaging Inc. (2008)
      Postdoctoral Researcher, Technische Universiteit Eindhoven, Netherlands (2005-2007)
      • Devised external-memory cache-efficient and cache-oblivious algorithms for fundamental problems in computational geometry and in optimization. Results are applicable in Geographic Information Systems, where map data is too massive to fit entirely in main memory; Algorithms are practical and implementable as well as theoretically efficient.
      • Designed a cache-oblivious IO-efficient version of the algorithm of Frederickson and Johnson for selecting in sorted X+Y matrices. The matrix selection algorithm is a key building block of many other optimization algorithms, sometimes serving as an alternative to expensive parametric search.
      • Proved bounds on the combinatorial complexity of Voronoi diagrams on realistic terrains—studied problems in combinatorial geometry. 
      Research Assistant, University of Illinois at Urbana-Champaign (1998-2005)
      • Developed algorithms for spacetime meshing to support novel spacetime-discontinuous Galerkin finite element methods. Our algorithms were the first adaptive geometric algorithms to construct efficiently solvable spacetime meshes. The meshes we construct are suitable for efficient simulation of time-dependent wave-like physical phenomena using spacetime discontinuous Galerkin finite element methods. Our research in spacetime meshing makes possible much more efficient and accurate simulations for a variety of physical phenomena of interest to scientists and engineers, such as wave propagation in materials and fluid dynamics.
      • Designed algorithms for problems in computational topology, such as the homotopic Fréchet distance between curves and shortest pants decompositions of surfaces.
      • Designed an algorithm for capturing an object in the plane with three robots; studied motion planning and grasping problems in robotics.
      • Developed algorithms for computing a minimum-cost binary search tree or BST for indexing and efficiently retrieving massive amounts of data stored on a hierarchical memory computer across multiple memory devices with vastly different access times. Our algorithms are efficient under practical constraints on the parameters of the memory hierarchy. A BST is a widely used data structure for indexing and retrieving data that was previously studied on the uniform memory model of computation. 
      Graduate Research Assistant, Los Alamos National Laboratory (1998, 2001, 2002)
      • Developed software tools for simulating the economics of large-scale auction-based deregulated markets for electrical power. Designed and implemented an agent-based, microeconomic, scalable model for the simulation of a deregulated electrical power market. The project included writing computer software to simulate power demand and consumption, market forces such as monopolistic and oligopolistic behavior, external regulatory policies, and physical constraints of the power grid. Unique features our simulator were individual, demographics-based elastic demand profiles; configurable matching between buyers and sellers; and flexible market clearing mechanisms. Evaluated the performance and efficiency of the market under different market clearing algorithms and sellers’ strategies.
      • Designed algorithms for conflict-free communication in ad-hoc wireless networks and proved bounds on the maximum throughput of such networks. Conducted research on theoretical and practical problems associated with wireless radio networks. This work intersects the areas of graph theory, computational geometry, and networking. Our algorithms for distance-2 edge coloring and matching in graphs modeling ad-hoc wireless networks can be applied to designing routing protocols for such networks and for predicting the network throughput.
      • Optimized numerical software libraries for external-memory computation to improve cache performance. Extended blocking algorithms for matrices to improve memory-efficiency of matrix operations. Implemented and simulated the same on an SGI Origin multiprocessor system, and empirically demonstrated a significant improvement in performance. Implemented a blocking algorithm for graphs, as proposed by Awerbuch et al., and investigated its performance. 
      Intern, Centre for Development of Advanced Computing (C-DAC), India (1996-1997)
      • Constructed a model in VHDL for a Fast Ethernet switch and performed system-level simulation and analysis using VHDL tools. This work, jointly with a colleague, became our undergraduate senior thesis.

      Patent filings


       

      Selected Publications


      Homotopic Fréchet Distance Between Curves, or Walking Your Dog in the Woods in Polynomial Time. With Erin Wolf Chambers, Éric Colin de Verdiére, Jeff Erickson, Sylvain Lazard, Francis Lazarus. Proc. Symp. Computational Geometry, pp. 101–109, 2008. Invited and submitted to special issue of Computational Geometry: Theory and Applications.

      Cache-Oblivious Selection in Sorted X+Y Matrices. With Mark de Berg. Information Processing Letters, vol. 109, no. 2, pp. 87-92, 2008.

      I/O-Efficient Map Overlay and Point Location in Low-Density Subdivisions. With Mark de Berg, Herman Haverkort, Laura Toma. Proc. Int’l Symp. Algorithms & Computation, Springer LNCS 4835, pp. 500–511, 2007.

      The Complexity of Bisectors and Voronoi Diagrams on Realistic Terrains. With Boris Aronov and Mark de Berg. Proc. European Symposium on Algorithms (ESA’08), Springer LNCS 5193, pp. 100–111, 2008.

      Adaptive Spacetime Meshing for Discontinuous Galerkin Methods. Computational Geometry: Theory and Applications. vol. 42, pages 20–44, 2009.

      Pants Decomposition of the Punctured Plane. With Sheung-Hung Poon. Proc. European Workshop on Computational Geometry (EuroCG), pp. 99–102, March 2006. Journal version in preparation.

      An h-Adaptive Spacetime-Discontinuous Galerkin Method for Linearized Elastodynamics. With Reza Abedi, Robert Haber, Jeff Erickson. Spacetime Adaptive Strategies for Time-Dependent Transient Problems, B. Tie and D. Aubry eds., Revue Européenne de Mécanique Numérique (European Journal on Computational Mechanics), vol. 15, no. 6/2006, pp. 619–642, September 2006.

      Strong Edge Coloring for Channel Assignment in Wireless Radio Networks. With Christopher L. Barrett, Gabriel Istrate, V.S. Anil Kumar, Madhav V. Marathe, Sunil Thulasidasan. Proc. IEEE Conference on Pervasive Computing and Communications (PERCOM), Workshop on Foundations and Algorithms for Wireless Networking, pp. 106–110, 2006.

      Spacetime Meshing with Adaptive Refinement and Coarsening. With Reza Abedi, Shuo-Heng Chung, Jeff Erickson, Yong Fan, Michael Garland, Damrong Guoy, Robert Haber, John M. Sullivan, Yuan Zhou. Proc. Symp. Computational Geometry, pp. 300–309, 2004.

      Efficient Spacetime Meshing with Nonlocal Cone Constraints. Proc. International Meshing Roundtable (IMR), pp. 47–58, September 2004.

      The Distance-2 Matching Problem and its Relationship to the MAC-layer Capacity of Ad-hoc Wireless Networks. With Hari Balakrishnan, Christopher L. Barrett, V. S. Anil Kumar, Madhav V. Marathe. IEEE Journal on Selected Areas in Communications issue on Fundamental Performance Limits of Wireless Sensor Networks, vol. 22, no. 6, pp. 1069–1079, 2004.

      Marketecture: A Simulation-Based Framework for Studying Experimental Deregulated Power Markets. With Karla Atkins, Chris Barrett, Christopher M. Homan, Achla Marathe, Madhav V. Marathe. Proc. IAEE European Energy Conference, 2004.

      Capturing a Convex Object with Three Discs. With Jeff Erickson, Fred Rothganger, Jean Ponce. IEEE Transactions on Robotics, vol. 23, no. 6, pp. 1133–1140, December 2007. Also in Proc. IEEE International Conference on Robotics and Automation (ICRA), pp. 2242–2247, 2003.

      Spacetime Meshing for Discontinuous Galerkin Methods. Ph.D. thesis. Department of Computer Science, Report no. UIUCDCS-R-2005-2612 (UILU-ENG-2005-1803), University of Illinois at Urbana-Champaign, 2005.

      Optimum Binary Search Trees on the Hierarchical Memory Model. M.S. thesis. Department of Computer Science, CSL Technical Report UILU-ENG-00-2215 ACT-142, University of Illinois at Urbana-Champaign, 2001.

      A full list of publications is available on request.


      Invited Presentations 


      Walking Your Dog in the Woods in Polynomial Time. USC CS Seminar, UCLA CS Theory Seminar, UNM CS Theory Seminar, 2008; Knox College, 2007; 17th Fall Workshop on Computational and Combinatorial Geometry, IBM T.J. Watson Research Center, Hawthorne, New York, 2007; 4th Dutch Computational Geometry Day, 2007.

      I/O-Efficient Map Overlay and Point Location in Low-Density Subdivisions. ALCOM Seminar, Århus Universitet, Denmark, 2007.

      Spacetime Meshing for Discontinuous Galerkin Methods. Kolloquium der Angewandten Mathematik, Oberseminar Informatik, Department of Mathematics and Computer Science, Westfälische Wilhelms-Universität Münster, Germany, 2006.

      Pants Decomposition of the Punctured Plane. Workshop on Topological Methods in Combinatorics, Computational Geometry, and the Study of Algorithms, Mathematical Sciences Research Institute (MSRI), Berkeley, CA, 2006.

      A Unified Algorithm for Adaptive Spacetime Meshing with Nonlocal Cone Constraints. 21st European Workshop on Computational Geometry (EuroCG), Eindhoven, Netherlands, 2005.

      Efficient Spacetime Meshing with Nonlocal Cone Constraints. 13th Int'l Meshing Roundtable (IMR), Williamsburg, VA, 2004.

      Spacetime Meshing with Adaptive Refinement and Coarsening. ACM Symposium on Computational Geometry (SoCG), Brooklyn, NY, 2004.

      Efficient Spacetime Meshing with Nonlocal Cone Constraints. 7th US National Congress on Computational Mechanics (USNCCM), Albuquerque, NM, 2003.

      Capturing a Convex Object with Three Discs. IEEE International Conference on Robotics and Automation (ICRA), Taipei, Taiwan, 2003.

      Slides and videos of some talks are available on request.


      Teaching Experience 


      California Institute of Technology, Department of Computer Science (2008-2009)
      Instructor: Algorithms in Geometry and Topology

      The course focused on state-of-the-art algorithms and investigate current research problems for all stages of the geometry processing pipeline—from accurate geometric and homeomorphic surface reconstruction from noisy point samples of real-world objects scanned by laser, to surface approximation, to guaranteed-quality mesh generation for scientific computing, and finally to topological analysis and simplification of the discrete geometric model. I have designed the course for beginning graduate students and senior undergraduate students from Theoretical Computer Science and from applied fields, who are interested in pursuing thesis research on problems related to the content of the course.

      Technische Universiteit Eindhoven, Department of Mathematics and Computer Science (2005-2006)
      Co-Instructor: Seminar on I/O-Efficient Algorithms

      The course was a graduate seminar with around 20 students. I helped grade final projects which were short survey papers, met with students to help prepare class presentations, conducted office hours, and gave a lecture in class on my own related research.

      University of Illinois at Urbana-Champaign, Department of Computer Science (1999)
      Teaching Assistant: Introduction to the Theory of Computation 

      This course was the second in the sequence of three required theory classes, taken by all undergraduates in their junior year. The class consisted of about 50 students. Duties included conducting office hours, discussion sessions, and helping design and grade homework assignments and exams. 

      University of Illinois at Urbana-Champaign, Department of Computer Science (1998-1999)
      Teaching Assistant: Combinatorial Algorithms

      This course was one of the two required theory classes, probably the hardest class offered by the department. The class consisted of about 150 students with roughly equal number of undergraduate and graduate students. I was one of two Teaching Assistants, both Ph.D. theory students, for two semesters. Duties included conducting office hours, discussion sessions, and helping design and grade homework assignments and exams. 

      University of Illinois at Urbana-Champaign, Department of Computer Science (1998-1999)
      Teaching Assistant: Automata, Formal Languages, and Computational Complexity

      This course was one of the two required theory classes, taken by all undergraduates and some graduate students. The class consisted of about 50 students with roughly equal number of undergraduate and graduate students. Duties included conducting office hours, discussion sessions, and helping design and grade homework assignments and exams. 

      University of Illinois at Urbana-Champaign, Department of Computer Science (1997-1998)
      Instructor: C and C++ Programming Laboratory 

      The class was designed for teaching programming and basic software engineering principles to graduate students in departments other than Computer Science. I taught two sessions a week, each with 10-15 students. Duties included planning and giving lectures, assigning and grading small- and medium-scale programming projects, assigning grades. 


      Service


      Served as referee at various times for articles submitted to:
      ACM Symposium on Computational Geometry (SoCG), ACM Symposium on Theory of Computing (STOC), ACM Symposium on Discrete Algorithms (SODA), European Symposium on Algorithms (ESA), Workshop on Approximation and Online Algorithms, Discrete and Computational Geometry, Journal of Information and Computation, Information Processing Letters, International Meshing Roundtable, IEEE Journal on Selected Areas in Communications, IEEE Communications Letters, Annual Conference of the IEEE Industrial Electronics Society.

      Served on the Fellowships, Assistantships, and Admissions (FAA) Committee of the Computer Science department at the University of Illinois at Urbana-Champaign:
      Members of this committee are faculty and senior graduate students, who evaluate entrance requirements and recommend applicants to graduate school for admissions, fellowships, and assistantships (2002-2003).

      Organized the 44th biannual Midwest Theory Day:
      One-day meeting on theoretical computer science, at the University of Illinois at Urbana-Champaign (2001).

      Member of the Association for Computing Machinery (ACM) and SIGACT

      Volunteered for MathManiaCS project:
      Introduced elementary school students to finite state automata and sorting algorithms. MathManiaCS is a group of volunteer academics who aspire to bring the excitement of mathematics and computer science to children of all ages.

      Volunteered for ASHA for Education:
      Non-profit organization supporting projects related to basic education of underprivileged children in India.

      Volunteered through GoogleServe:
      Annual event in which Google employees take a break from their day jobs to re-connect with local communities and give back through service projects.