Greg J. Badros

PostScript, PDF, plaintext (i.e., ASCII) versions available online

Contact information:

Email: my lastname at

Work address:

Facebook Inc.
1 Hacker Way
Menlo Park, CA  94025

Home address:

Los Altos, CA

Please email me for
my complete address


To make the world and workplace better through the application of advanced computing technologies to life and industry.


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)

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:

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:

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 and from

Greg J. Badros / Facebook Inc. /