Printing tool Download PDF

Work experience

Mar 2009Present

Delivery Principal


Agile Artist at Thoughtworks.

Mar 2008Mar 2009

Principal ruby Practice

  • Responsible for all ruby application development, support, and enhancements.
  • Provide leadership, coaching and mentoring for employees and leaders within teams
  • Build a powerful and dynamic software development team capable of delivering solutions on a number of new and existing platforms
  • Recruit, train, and develop a motivated team of technical professionals
  • Provide hands-on management direction and oversight for all application development projects
  • Formulate, submit and manage team budget
  • Establish, enforce, and improve overall standards and processes in accordance with best SDLC practices Manage multiple teams, including off shored activities and personnel
  • Manages development budget and resources to ensure products are delivered on time and on budget
  • Develop and maintain effective working relationships and interlocking business processes with other departments
Jan 2007Mar 2009

Freelance/Solutions Architect


Skiptree is involved in Ruby/Rails web application development, specializing in mixed media social sites. Skiptree also hosts its own micro-training community site which is currently under development, and provides technology consulting for enterprise web applications.

  • Enterprise Architecture
  • Technical Due Diligence
  • Software Reviews
  • Performance Optimization
  • Web/Mobile Development
  • Software Troubleshooting
  • Technology Training


  Primedia (Apartment Guide)

  Neighborhoods Social Component

  Metros (for each metro)

  R&D Allhomes

  The Creative Coast 

    The Creative Coast

  Teksymmetry  Rummage Pad

Mar 2006Apr 2008

Director of Framework Architecture

  • Provided technical leadership across the organization, from strategic decision making down to the project planning level. 
  • Designed and implemented in-house information systems and networked software architectures that supported core organizational functions, and assured their high availability.
  • Gained organizational commitment for all systems and software plans.
  • Evaluated and selected all technologies required to complete all Software Plans.(WCF, ASP.NET, SQL SERVER 2005)
  • Responsible for selection and hiring of all development staff,
  • Defined and enforced the corporate software development lifecycle, development coding standards, and continuous integration processes.
  • Managed and directed a team of 12 software and database engineers.
Mar 2005Mar 2006

Senior Application Architect

  • Designed an extension to the existing Messaging framework to support the use of multiple data sources for the corporate credit score reporting system (Linux, C++, Python)
  • Trained and mentored junior team members.
  • Approved the selection and hiring of new team members.
  • Designed and implemented Corporate wide Automated Testing Framework, Web Server, and Database to automate corporate QA processes. (Python, Apache, Oracle, DHTML)
Aug 2004Mar 2005

Product Architect

  • Optimized Existing Compliance and Policy engines and increased throughput by 400%. (C++/COM)
  • Architected and implemented Custom email keyword searching and archive extraction tool (Lucene / Java)
  • Normalized and redesigned the enterprise database architecture to improve system performance.
Apr 2002Oct 2003

Lead Technical Architect

Modis Consulting
  • Implemented futures and options (European) model into the Risk Based Capital project deployed by OFHEO to measure the capital adequacy of Freddie Mac. (UNIX, C++, STL)
  • Developed test suite and environment for validation and regression testing of all financial models for the risk based capital project, including all code migrations. (PERL/Sybase/JSP/XML/XSLT)
Jan 2001Feb 2002

Technical Project Manager/Lead Architect

  • LINUX, C++ OOAD as well as some Java (1.2).  Developed high-performance web-server for receiving custom web metric data submissions.
  • Implemented Database for storing wide pipe of transaction information (20gb/hour).
  • Trained and mentored junior team members.
  • Approved the selection and hiring of new team members.
  • Optimized existing system architecture to improve throughput from 200 transactions/sec  to over 1200 transactions/sec.
Jun 2000Jan 2001

Technical Project Manager/R&D Team Lead

  • Led a team of 23 developers and analysts through a 6 month development effort of a major e-commerce site in London.  Responsible for project plan as well as technical design.  Final project costs were within 2% of my projected costs. (Solaris 2.7. iPlanet, Oracle, Interwoven, XML, XSLT, JSP)
  • Assisted in the development of corporate methodology standards for software development, database deployment and requirements gathering.
  • Provided technical expertise for strategic sales engagements, and wireless application development group.
  • Prototyped wireless software applications.
Jun 1997May 2000

Team Lead

Freddie Mac
  • Rapidly prototyped several CORBA services for distributing access to financial models and data servers using C++, Rogue Wave and Orbix (UNIX based).
  • Won the “ISS Premier Achievement Award” for extending a fixed rate prepayment model to include functionality for Adjustable Rate mortgages. (1999)
  • Designed and Engineered a SYBASE decision support database for supporting bond market trading floor activities surrounding mortgage backed securities. Engineered Load processes, as well as production monitoring and support procedures, data correction algorithms and secondary access services. Database contained history for about 1 million securities and comprises over 500 gigabytes of data. Used transact-SQL, C, C++, RogueWave, Corba, KSH and in-house custom scheduling and monitoring software.


Sep 1991Dec 1996


Major: Computer Science, ( Operating Systems, Compilers, Artificial Intelligence)

Minor: Math (Statistics, Number Theory)


  • Student Chairman Association for Computing Machinery (ACM) 1994,1995, 1996
  • 2nd Place International Knobeln Challenge (artificial intelligence/Game Theory) 1994
  • 1st Place Robot Wars (game theory programming contest), 1994, 1995
  • AAAI MIT 6.270 contest Finalist 1993

Autonomous Mobile Robot Research

Worked under Professor James A. Hendler as a research assistant in the Autonomous Mobile Robot Research Laboratory.  I built Graphical X11 Simulations for In-class simulation, constructed embedded controllers, and programmed those controllers in a language called interactive-c.


SCRUM/FDD/Agile Methodologies
I have recently switched my preferred development lifecycle methodology to a mix between SCRUM and FDD.  I find this approach most often best solves the needs of small companies, and fits well with my management style.  I am a big advocate of continuous development processes, and always establish automated testing, and building facilities in every development team I manage.
I have a solid foundation in CSS, HTML, and Javascript including Ajax.
I have used a variety of Relational Database Systems including Informix, Sybase, Oracle, Postgres, Mysql and SQL server.  I have designed numerous application data-marts, as well as enterprise architecture database back-ends.
I hesitate to label myself an expert in UNIX, but it is all that I have used for my entire career.  If I am not running windows within a virtual host in linux I am running cygwin.  I started with ultrix, moved to BSD, then AIX, HP-UX.  I used DEC for a while, and lately spend my time on linux and osx.  I feel most at home in a unix command shell.
I fell in love with Ruby as a scripting language last year, and it has supplanted python as my favorite scripting tool.  Ruby quickly moved from a hobby to a profession, and I am doing all my personal development and professional development in Ruby these days.
I have an MCP certification in C#.  I have a general familiarity with ASP.NET, as well as WCF since it is the technology used on my most recent project.  Although my knowledge of C/C++ exceeds my knowledge of C#, I generally prefer to work in C# due to the rich framework environment.
I have built distributed back end systems using C/C++ ever since the stoneage when multithreaded TCP/IP servers were built from scratch.  I have not used C++ in the past 3 years as my interests have moved on to different language technologies such as C#, Java, and to a greater extent Python and Ruby.
OOAD Certification 1996, well versed in UML

Sample Work


Premier Achievement Award (FHLMC) - This distinguished award and option grant was earned for extending an existing fixed rate prepayment model to incorporate adjustable rate mortgages.  The complexity and difficulty of modeling ARM prepayment behavior as well as the fast delivery schedule and overall quality of the product were key in achieving the award

Optimization of monthly cohort Calculator (FHLMC) - Reduced the runtime of a monthly cohort (financial prepayment speed calculations) from 12+ hours to less than 3 hours.

2nd Place International "Knobeln" programming contest - Placed second in a large field of international competitors in this artificial intelligence and Game Theory Challenge.


I am a lead consultant, project manager, delivery principal and all around agile evangelist at Thoughtworks Inc. Prior to joining Thoughtworks, I was a principal entrepreneur at SkipTree Inc., a technology director at Swingvote, and a product architect at Singlecast, Comscore Media, and FreddieMac. I have over eighteen years of hands-on software development, architecture, and technical management experience primarily centered around distributed architecture and multi-tier client server systems. My technical background is coupled with a strong formal computer science education and a solid foundation in a variety of software development methodologies ranging from full waterfall to agile. I am motivated by flat organizational structures, work environments which value self direction, and enthusiastic workers which allow me to further grow and master my own skills.  I enjoy puzzles, technical challenges, and spending time with my wife and two daughters doing just about anything at all.


Software Architecture, Object Oriented Analysis and Design, Project Management, Product management , Performance Modeling, Open Systems, Technical Due Diligence, Business Case Development, Software Development Methodologies/Lifecycles, SCRUM, FDD, Rational Unified Process, continuous integration


MerbDay Atlanta 2008 - Co-Organizer

Atlanta Ruby User Group -  Assistant Organizer - Owner/Operator