See HTML-formatted version at http://badros.com/greg/doc/resume.html Greg J. Badros PostScript, PDF, plaintext (i.e., ASCII) versions available online Contact information: Homepage: http://www.badros.com/greg Email: my lastname at cs.washington.edu Work address: Facebook Inc. 1 Hacker Way Menlo Park, CA 94025 Home address: Los Altos, CA Please email me for my complete address Objective: To make the world and workplace better through the application of advanced computing technologies to life and industry. Education: 1996-2000: University of Washington (Seattle, WA) Dept. of Computer Science and Engineering Dissertation: Extending Interactive Graphical Applications with Constraints Ph.D. degree received, June 2000 (Advisor: Alan Borning) Master's thesis: A Framework for Preprocessor-Aware C Source Code Analyses M.Sc. degree received, June 1998 (Advisor: David Notkin) 1991-1995: Duke University (Durham, NC) Graduated Magna Cum Laude, May 1995 Phi Beta Kappa, 1995 Majors: Mathematics and Computer Science Cumulative GPA: 3.8 (4.0 in Computer Science Major) Course Credits: 43 (11 more than the required 32) Research interests: Programmer productivity, user interfaces and experience, programming languages, systems and product design, software engineering, constraints, semi-structured data (e.g., XML), and web technologies including protocols and service-oriented architectures. Professional experience: Proven expertise in designing, implementing, evolving, and re-engineering large, scalable, multi-threaded, multi-tiered reliable systems, both consumer-facing and infrastructure, and managing and growing large teams that do the same. Extensive experience with engineering, product and business concerns and how they interrelate. See also my Tech Mumblings Blog. Facebook. [Menlo Park, California] June 2009 - Present Vice President of Engineering and Products Helping lead our advertising, pages, and search initiatives, along with developing the overall engineering culture, architecture, and vision. Previous leadership includes roles across data infrastructure, growth, and product engineering. Google Inc. [Mountain View, California] March 2003 - June 2009 Sr. Director of Engineering (previously Senior Staff Software Engineer) Winner of four Founders' awards and two Executive Management Group (EMG) Awards. Mar 2009 -- Present: Responsible for application Platform technology stack. Feb 2007 -- Feb 2009: Responsible for Gmail, Calendar, Reader, and more. May 2004 -- Feb 2007: Responsible for US$4 Billion per year AdSense technology that enables partner advertising solutions including AdSense For Content (AFC). As individual contributor (Senior Staff Engineer), worked on numerous pieces of infrastructure and customer-facing products. InfoSpace, Inc. [Bellevue, Washington] October 2000 - February 2003 Chief Technical Architect Responsibilities included defining and implementing common architectural subsystems, organizing and overseeing code and architecture re-use, establishing and evangelizing best practices, and raising the bar on all aspects of engineering (a division of about 150). I led multiple engineering platform integrations as InfoSpace acquired various companies, and led a team of about twenty in rewriting our server platform and presentation engine from the ground up. Go2Net, Inc. [Seattle, Washington] March 2000 - October 2000 (acquired by InfoSpace, Inc.) Chief Architect I revamped software engineering processes, establishing source code control, code reviews, and defined a principled release process. I mentored new technical managers and helped define the direction for numerous engineering teams throughout the organization. University of Washington, Computer Science and Engineering Department [Seattle, Washington] September 1996 - June 2000 Research Assistant Funded by National Science Foundation Graduate Research Fellowship, W. Bradley Fellowship. Research includes work with Alan Borning and David Notkin Monash University, School of Computer Science and Software Engineering [Melbourne, Victoria; Australia] February 1999 -- May 1999 Visiting Researcher Worked with Professors Kim Marriott and Peter Stuckey on applying constraint technologies to the World Wide Web and page layout. University of Washington, Computer Science and Engineering Department [Seattle, Washington] Summer 1999 Lecturer, CSE-341 -- Programming Languages Received post-course student evaluations of 4.84 (of 5.0, where 5 is "Excellent" and 4 is "Very good") for "Instructor's contribution to course" and a 4.53 for the course as a whole. Prentice Hall, University of Washington [Seattle, Washington] Summer 1998 Video Instructor and Technical Editor Advanced C Programming Instructional Videotape Series. Was fully responsible for the technical content and interactive presentation of a twelve-part videotape series for the University of Washington Extension University students. University of Washington Extension University [Seattle, Washington] Spring 1998 Instructor, Advanced C Programming University of Washington Extension University. Was fully responsible for the course, including preparing and delivering lectures and designing and grading projects and exams. University of Washington, Computer Science and Engineering Department [Seattle, Washington] Spring, Winter 1998 Teaching Assistant for CSE-341, Programming Languages For Professor Alan Borning Transworld Numerics, Inc. [Durham, NC] May 1995 - December 1996 Senior Research Scientist First engineer at the startup, performing research and programming on various numerical algorithms and projects involving financial market analysis and investment. Led a team of three engineers to deliver a complete working production system in under five months. Microsoft Corporation, Desktop Applications Division [Redmond, Washington] Summer 1994 Software Design Engineer Intern working on Excel spreadsheet product. Involved feature design, specification, review, implementation, and testing. Received "Outstanding" post-internship-review rating. Johns Hopkins University Center for Talented Youth Program [Baltimore, Maryland] Summer 1993 Teaching assistant for "Data Structures and Algorithms" and "Digital Logic" courses. Involved extensive lecturing, curriculum planning, test preparation and grading of homeworks and programs. Duke University, Department of Computer Science [Durham, North Carolina] Spring 1993 Teaching assistant Introductory Pascal programming course. Supported students in projects and graded. Job-Related abilities: In depth mastery of various computer programming languages including: * C++ (since 1991) and C (since 1987) * Java (since 1997), C#/.net (since 2001), SmallTalk (since 1996) * Perl, Awk and Sed (since 1993) * XSLT (since 1999) * Scheme, Lisp, and Emacs-Lisp (since 1994) * Pascal (since 1986), 65xx/8502 Assembly (since 1986) Proficiency with numerous other languages including SQL, Python, JavaScript, Ruby, Visual Basic, Tcl/Tk, Postscript, Eiffel, Prolog, CLP(R), Haskell, ML, and Vax Assembly. Highly skilled in developing portable high-performance applications targeting multiple operating systems including: * GNU/Linux (e.g., RedHat) since Nov. 1993 (pre v1.0 of the kernel), Solaris, AIX, IRIX, HP/UX * Microsoft Windows 2000/XP/NT/Vista Activities and awards Early Career Diamond Award from the University of Washington Engineering School, 2012 International World Wide Web Conference Program Committee (2002-2006) University of Washington CSE Department Wilma Bradley Fellowship (1999-2000) NSF Graduate Research Fellow - 1996-1999 IEEE National Programming Competition - 1st Place (1995) ACM International Collegiate Programming Competition - 3rd Place in World (1993-1994) RedHat Free Desktop Competition - 1st place (1996) President of Canterbury Dormitory (1993-1994) Duke University Intramural Tennis Champion - Singles (1992) Associated Students of Duke University Parliamentarian (1991-1992) Selected publications and reports Refereed conferences and journals: "Learning Relevance from a Heterogeneous Social Network and Its Application in Online Targeting". ACM Special Interest Group on Information Retrieval (SIGIR). Beijing, China - July 2011. With Chi Wang, Rajat Raina, David Fong, Ding Zhou, and Jiawei Han. (pdf) "An Empirical Analysis of C Preprocessor Use". IEEE Transactions on Software Engineering. December 2002. (pdf; ps.gz) "A Constraint Extension to Scalable Vector Graphics". Tenth International World Wide Web Conference. Hong Kong. May 2001. (pdf; ps.gz; HTML) "Scwm: An Extensible Constraint-Enabled Window Manager". Freenix track of USENIX Technical Conference. Boston. June 2001. (pdf; ps.gz) "The Cassowary Linear Constraint Solving Algorithm". ACM Transactions on Computer-Human Interaction. Accepted October 2000. (pdf; ps.gz) "JavaML: A Markup Language for Java Source Code", by Greg J. Badros. Ninth International World Wide Web Conference. Amsterdam. May 2000. (html; pdf; ps.gz) "Scwm--An Intelligent Constraint-Enabled Window Manager". AAAI Spring Symposium on Smart Graphics. Palo Alto, California, March 2000. (pdf; ps.gz) "A Framework for Preprocessor-Aware C Source Code Analyses". Software Practice and Experience. Accepted November 1999, Vol. 30, Issue 8. July 2000. (pdf; ps.gz) "Constraint Cascading Style Sheets for the Web". Proceedings of User Interface Software and Technology 1999. November 1999. (pdf; ps.gz) "Data Compression Techniques for Stock Market Prediction". Proceedings of the 1994 IEEE Data Compression Conference. Snowbird, Utah. March 29-31 1994. (pdf; ps.gz) Technical reports and other: "Extending Interactive Graphical Applications with Constraints." Ph.D. Thesis, University of Washington Department of Computer Science and Engineering. May 2000. (pdf) "The Extensible Templating Language: An XML-based Restricted Markup-Generating Language". Submitted to 12th International Conference on the World Wide Web. May 2003. (PDF). "Constraint Cascading Style Sheets." Developer's day talk at Eighth International World Wide Web Conference. Toronto, May 1999. "The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation", by Greg J. Badros and Alan Borning. Technical Report UW-CSE-98-06-04, June 1998 (pdf; ps.gz) Cassowary project "Constraints in Interactive Graphical Applications". Ph.D. General exam. Dec.\ 1998. (pdf; ps.gz) "An Enhanced Disk-Caching NFS Implementation for Linux". Proceedings of the 1998 Linux Expo. Online version. Slightly revised versions: pdf; ps.gz Masters Thesis: ``PCp3: A C Front End for Preprocessor Analysis and Transformation''. October 1997. Slides Presentation Slides handouts (postscript) Paper (postscript) __________________________________________________________________ Many of the above papers are available from ftp://ftp.cs.washington.edu/homes/gjb and from http://www.cs.washington.edu/homes/gjb/papers/ __________________________________________________________________ Greg J. Badros / Facebook Inc. / [badros-email.gif]