Rhino Research
Software architecture training courses and consulting
Resume forDr. George Fairbanks
Dr. George H. Fairbanks
**-******@***************.*******://georgefairbanks.com
EDUCATION
Carnegie Mellon University, Institute for Software Research, Ph.D. in Software
Engineering, May 2007. Thesis committee: David Garlan, Bill Scherlis, Jonathan Aldrich,
Ralph Johnson (UIUC)
The University of Colorado at Boulder, M.S. Computer Science, May 1998
The University of Colorado at Boulder, Institute of Cognitive Science, Certificate in
Cognitive Science, May 1998
The University of Virginia, B.S. Computer Science, May 1993
HONORS and ACTIVITIES
Program committee member for SEI Architecture Technology User Network (SATURN 2013).
Program committee member for 2012 European Conference on Software Architecture (ECSA
2012).
Technical program chair for SEI Architecture Technology User Network (SATURN 2012).
Organization chair for 2011 Working International Conference on Software Architecture
(WICSA 2011).
Program committee member for 2010 European Conference on Software Architecture (ECSA
2010).
Program committee member for 2009 Working International Conference on Software
Architecture (WICSA 2009).
Program committee member for 2009 International Conference on Software Maintenance (ICSM
2009).
Referee for IEEE Software.
Referee for IEEE Transactions on Software Engineering (TSE).
Nominated for CMU Distinguished Dissertation Award, 2007.
Winner of 2006 OOPSLA ACM SRC.
SOFTWARE ARCHITECTURE, DESIGN, and DEVELOPMENT
August 2008 - PresentPresident Rhino Research Boulder, CO
President, primary consultant, and primary instructor for a software consulting and
training firm.
Clients include NASA, IT shops, and large internet companies.
Authored book Just Enough Software Architecture.
February 2012: Taught two software architecture classes at Avaya.
March 2012: Three invited lectures at SunTrust, Manhattan and Associates, and IASA
Atlanta.
May 2012: Program Chair of 2012 SEI SATURN software architecture conference.
June 2012: Invited lectures at GOTO Copenhagen and GOTO Amsterdam conferences.
July-August 2012: Created module system for Hadoop Pig language.
November 2010 - January 2012Architect & Team Lead A Leading Data Analytics Company New
York, NY
First project: Recovered and documented architecture for global financial markets
analytics application
Second project: Architect and technical lead for big data analytics application for A
Large Financial Institution.
Led geographically distributed team (7 time zones) of 15+ developers using agile, test-
driven development, and continuous integration.
As the software developer of last resort, wrote and debugged Linux shell scripts, Python
tools, DB stored procs, Java web services, and Pig Hadoop code.
The resulting system is running in production environment at A Large Financial
Institution, meeting its SLAs (Spring 2012).
May 2002 - August 2008Software Architect Kinetium Boulder, CO
February 2008 - August 2008Software Architect OpenText Boulder, CO
For a $750M sales company, redesigned their core business processes, chose ERP
components, and designed an enterprise software architecture.
Worked directly with company president and senior executives.
May 2005 - September 2006Chief Architect (IDEM project) / Architect (ER project)
Citigroup New York, NY
Architect overseeing 4 projects, 30+ developers.
Created architecture models for an enterprise-scale identity and entitlement management
system.
Responsible for the architecture for the next generation entitlement review system.
Authored published paper: Software Architecture at a Large Financial Firm.
Developed a custom plugin for Rational Software Architect CASE tool to support MAp.
May 2002 - September 2002Architect, Instructor, Mentor JPMorgan Chase New York, NY
Mentored experienced team through their first use of the Component Architecture Method
(CAM), a development method focused on precise UML, patterns, and architecture.
Authored published paper: Why Can't They Create Architecture Models Like Developer X? An
Experience Report.
September 2001 - December 2006Software DeveloperCarnegie Mellon University Institute
for Software Research Pittsburgh, PA
Designed and implemented a static analysis tool as an extension to the Eclipse Java
Integrated Development Environment to support Design Fragments, a new technique to specify
and check the patterns of client-framework
interaction.
Developed data interchange classes for event bus subsystem for the AcmeStudio
architecture modeling tool.
January 2000 - April 2001Founder, President Groupedia Boulder, CO
Founded company to build groupware tools for mailing lists.
Responsible for design and implementation of a fully dynamic database-backed website,
business plan creation, negotiations with venture capitalists, and recruitment of
established mailing lists.
Created a high-availability, reliable, efficient, web-accessible environment for mailing
list groups to organize knowledge, share links, and create documents while maintaining
content accuracy.
Production code: Oracle 8.1.6, ArsDigita Community System 3.x & 4.0, AOLServer 3.x, TCL,
SQL, PL/SQL, Perl, QMail, Unix shell scripting, Linux
Prototype code: Java, J2EE, JDBC, EJB, Apache, Linux, PostgreSQL 7.x.
September 1998 - February 2000Professional Services ConsultantIcon Computing / Platinum
Technology / CA Austin, TX
Led client groups to develop precise business process models using Catalysis.
Advised software project teams on analysis and design strategies.
Developer on internal Java-based (Swing) CASE tool that supports Catalysis features.
May 1998 - September 1998Java Developer Novazen Boulder, CO
Developed requirements, architecture, object model, and prototype implementation for J2EE-
based web application.
Developed Java code to communicate with Gemstone/J object database including Java classes
running inside the database and RMI interfaces to database.
Applied principles of XP (Extreme Programming) method including continuous testing.
February 1998 - June 1998C++ Developer Heuristec Boulder, CO
Developed C++ classes to prep input files for statistical queuing analysis.
May 1997 - September 1997Technical Lead, C++ Developer Booz-Allen & Hamilton McLean, VA
Subcontractor to a government agency.
Designed and implemented a propriety interface with a leading PCS wireless telephone
switch.
Developed initial system and successfully deployed it on a live wireless network.
Technical lead for project and primary technical contact for client.
Responsible for the training and mentoring of a new employee.
C++ code initially developed under Linux and later ported to Windows NT 4.0.
June 1995 - December 1996Senior Systems DesignerTime Warner Communications Denver, CO
Lead designer for telephony customer service management applications.
Successfully moved software from 6-9 month waterfall development schedule to two-week
iterative cycle.
Heavy use of frameworks, design patterns, and idioms in Smalltalk.
June 1993 - January 1995 Member of Scientific Staff BNR (Bell Northern Research) / Nortel
Research Triangle Park, NC
Object oriented software developer on the largest OO project at that date (1500
developers), a rewrite of the call processing software for their flagship DMS-100 central
office telephone switch.
TEACHING / MENTORING
2009 - Presenter Rhino Research Varies
AgileDenver 2009 Conference. Presentation: Risk-Centric Architecture.
Denver ITARC 2010 Conference. Presentation: Architecture Haiku.
SATURN 2010 Conference. Tutorial: Risk-Centric Software Architecture.
AgileRoots 2010 Conference. Presentation: Expressing Design Intent in Code.
NoCo Software Architects 2010. Presentation: Architecture Haiku.
Denver OSUG 2010. Invited Talk: Architecture Haiku.
OOPSLA 2010 Conference. Tutorial: Expressing Design Intent in Code.
DJUG 2011. Invited Talk: Agile, Architecture, and Big Data.
WICSA 2011 Conference. Tutorial: Architecture Haiku.
IASA Atlanta 2012. Invited Talk: Architecture Hoisting.
Suntrust, Atlanta 2012. Invited Talk: Architecture Challenges at Financial Firms.
Manhattan Associates, Atlanta 2012. Invited Talk: The Design of Software.
August 2008 - President Rhino Research Boulder, CO
President, primary consultant, and primary instructor for a software consulting and
training firm.
Clients include NASA, IT shops, and large internet companies.
Authored book Just Enough Software Architecture.
Jan 2008 - May 2008Instructor CarnegieMellon University Pittsburgh, PA
Co-instructor of graduate level Architectures of Software Systems course, with David
Garlan and Tony Lattanze.
May 2005 - September 2006Instructor, Mentor Kinetium / Citigroup New York, New York
Instructor for five-day MAp architecture course.
Mentored architects on MAp architecture techniques.
May 2004Instructor CMU Tepper School of Business Executive Education Pittsburgh, PA
As part of a week-long course on software development, I delivered lectures on testing
GUIs of websites, design for testability, frameworks and quality, and a large case study
on HTTPUnit and Cactus.
Translated live into Japanese.
December 2003Instructor CMU Tepper School of Business Executive Education Pittsburgh, PA
As part of a week-long course on software development, I delivered lectures on
Modifiability, Testability, and Availability.
Translated live into Japanese.
May 2002 - September 2002Instructor, Mentor Kinetium / JPMorgan Chase New York, New York
Instructor for five-day CAM architecture course.
Revised instructional materials and authored new case study.
Authored CAM reference chapters on usability design.
September 2003 - December 2003Teaching AssistantCMU Institute for Software Research
Pittsburgh, PA
Assistant for Dr. Priya Narasimhan's graduate Analysis of Software Artifacts course.
Developed and taught lecture on J2EE and EJB.
September 2002 - December 2002Teaching AssistantCMU Institute for Software Research
Pittsburgh, PA
Assistant for Dr. David Garlan's graduate Software Architecture course.
Developed and taught lecture on the architecture of the Apache web server and on Java
programming.
January 2001 - September 2001Instructor Valtech Dallas, TX
Taught five-day Enterprise Java Beans (EJB) and J2EE course.
Taught five-day Object Oriented Analysis and Design course.
Developed chapters of EJB course.
September 1998 - February 2000InstructorIcon Computing / Platinum Technology / CA
Austin, TX
Advised software project teams on analysis and design strategies.
Led client groups to develop precise business process models using Catalysis.
Taught five-day advanced classes on Component Based Design and OO using UML and
Catalysis.
Taught Java course to top software developers at Platinum technology Developer's
Conference. Topics included Java language, API's including Swing and JavaBeans, and J2EE.
Presented lectures on Catalysis at software conferences in the US and Brazil (translated
live into Portuguese).
September 1997 - May 1998Project MentorUniversity of Colorado Boulder, CO
Mentored eight groups of four students to develop their senior projects.
Evaluated as best mentor since program inception (fifteen years).
PUBLICATIONS
A Risk-Driven Model for Agile Software Architecture. George Fairbanks. Article. Methods
and Tools Magazine. Spring 2012.
The Risk-Driven Model: Just Enough Architecture. George Fairbanks. Article. Executive
Brief Magazine, February 2011.
The Risk-Driven Model: Just Enough Architecture. George Fairbanks. Article. CrossTalk
Magazine, Nov/Dec 2010.
Interview and Book Excerpt: George Fairbanks Just Enough Software Architecture. Srini
Penchikala. Interview. InfoQ Magazine, 23 Nov 2010.
Just Enough Software Architecture: A Risk-Driven Approach. George Fairbanks. Book.
Marshall & Brainerd. 2010. Three printings as of Spring 2012. Chinese translation in
progress and expected Summer 2012.
Design Fragments. George Fairbanks. Ph.D. Thesis. CMU Technical Report CMU-ISRI-07-108.
April 2007.
Design Fragments Make Using Frameworks Easier.George Fairbanks, William Scherlis and
David Garlan. In Proceedings of ACM SIGPLAN Conference on Object Oriented Programs,
Systems, Languages, and Applications (OOPSLA) 2006, Portland, OR, USA, 22-27 October 2006.
Software Architecture at a Large Financial Firm. George Fairbanks, Kevin Bierhoff and
Desmond D'Souza. In Proceedings of ACM SIGPLAN Conference on Object Oriented Programs,
Systems, Languages, and Applications (OOPSLA) 2006, Portland, OR, USA, 22-27 October 2006.
Design Fragments Make Framework Use Easier. George Fairbanks. Presented at ACM SIGPLAN
Conference on Object Oriented Programs, Systems, Languages, and Applications (OOPSLA)
2006, Portland, OR, USA, 22-27 October 2006. Winner of student research competition, which
included this poster and a presentation.
Why Can't They Create Architecture Models Like Developer X? An Experience Report.. George
Fairbanks. In The 2003 International Conference on Software Engineering (ICSE), Portland,
OR, 3-10 May 2003.
Software Engineering Environment Support for Frameworks: A Position Paper. George
Fairbanks. In Proceedings of the International Conference on Software Engineering (ICSE)
2004 Workshop on Directions in Software
Engineering Environments, Edinburgh, Scotland, May 2004.
Architecture Book
Just Enough Software Architecture
Reviews
E-book
Training
Software Design
Dine and discover
Essence of Software Architecture
Software Architecture with UML
Advanced Software Architecture
Software Architecture Marathon
Consulting
About
About
Rhino Research is a consulting and training company focusing on software architecture.
Our primary consultant and instructor is Dr. George Fairbanks, who has a Ph.D. in Software
Engineering from Carnegie Mellon University and has been teaching software architecture
and object oriented design since 1998. More
Just Enough Software Architecture book
Just Enough Software Architecture: A Risk-Driven Approach by George Fairbanks.
Buy the hardback from Amazon for $39.50 or the e-book for $19.50.
Public Talks
9 Feb 2010: Boulder Java User Group Design Fragments.
4 Mar 2010: CU Boulder Colloquium Design Fragments.
6 May 2010: IASA Denver ITARC Architecture Haiku
21 May 2010: SEI SATURN conference Risk Driven Architecture.
14-15 June 2010: AgileRoots 2010 Architecturally Evident Coding Style in Salt Lake City
21 July 2010: Northern Colorado Architects Group Architecture Haiku in Ft. Collins
3 Aug 2010: Denver Open Source User Group Architecture Haiku
7 Sept 2010: Boulder Java User Group Architecture Haiku
17-21 Oct 2010: SPLASH / OOPSLA tutorial on Architecturally Evident Coding Style
Primary links
Architecture Book
Just Enough Software Architecture
Reviews
E-book
Training
Software Design
Dine and discover
Essence of Software Architecture
Software Architecture with UML
Advanced Software Architecture
Software Architecture Marathon
Consulting
About
Recent blog posts
Architecture Hoisting - video of Atlanta talk
Speaking at Atlanta IASA, Weds 14th, 2012
Book on sale: Now just $19.50 with free shipping (limited time)
More book citations: Muddy architecture
New review of my book
Talk on expressing architecture in code: AgileRoots 2010
CompArch/WICSA 2011 - Panel discussion and Haiku tutorial
Much good news: Second printing, Amazon top-10
Another great Amazon review of my book
Interview in InfoQ -- and in Japan
more
Username: *
Password: *
Request new password
Rhino Research: Software Architecture Training and Consulting.
All site contents (C) Copyright 2007-2010 George Fairbanks & Rhino Research