PostScript, PDF, plaintext (i.e., ASCII) versions available online
Homepage: http://www.badros.com/greg
Email:
Work address:Facebook Inc.1 Hacker Way Menlo Park, CA 94025 |
Home address:Los Altos, CAPlease email me for my complete address |
To make the world and workplace better through the application of advanced computing technologies to life and industry.
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)
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.
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.
In depth mastery of various computer programming languages including:
Highly skilled in developing portable high-performance applications targeting multiple operating systems including:
"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)
"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/