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]