Chad Woolley

[email protected] -

520-861-1183 Tucson, AZ


Please Read This First:

Hi, I'm Chad. Thanks for taking the time to read my resume. In past positions, I have participated in interviewing and hiring people to work on my team. So, I know how difficult it is to identify a good (or bad) candidate based solely on a traditional resume and interview. From an interviewee's perspective, it is also difficult to make yourself stand out from the crowd, even if you know you are right for the job. That's why I invite you to review my work (see Open Source contributions below), talk to my references and associates (, ask me to do research and a presentation on a topic of your choice, or work with your team for a couple of hours. I'm convinced that I can be a strong asset to your team, and I'm willing to do whatever it takes to convince you too. If you just like reading resumes, then here's an exhaustive and somewhat boring (yet hopefully enlightening) inventory of my professional life. If you prefer one page resumes, well, I'm sorry :(. Some of my early experience is a bit dated, but it is better to learn late than never.

Idealistic Objectives:

To provide value. To be Agile. To think pragmatically outside the box. To test early and often. To have integrity. To be honest. To have fun!

Pragmatic Objectives:

I'm currently happy with my full-time job at Pivotal Labs, a unique place filled with incredible people who "get it".

Professional Profile and Philosophy:

I have been developing and maintaining software and performing system administration professionally since 1992. I have experience with a lot of tools and technologies, many of which I've taught myself. What I don't know, I can learn, sometimes with the help of my actively-maintained network of professional contacts and friends (if, of course, Googling, mailing lists, and RTFM'ing fails me). I use Linux on my main PC, OS X on my laptop, and all the applications I use on it are free or legally purchased. I think The Pragmatic Programmer is a very good book that every software developer should read, and I subscribe to the Agile Manifesto, the Declaration of Interdependence, and the Hacker Ethic (except the parts I disagree with). I appreciate a good rant, and have been known to have a few myself.

In my career, I've performed coding, system administration, performance tuning, testing, documentation, training, QA, planning, analysis, sizing, design, integration and support roles on many diverse projects, covering a wide range of operating systems, languages, environments and tools. I have practical experience in all project phases, from requirements-gathering through planning and deployment/maintenance. I consider constant communication with the customer and users a priority! I've held Team Lead positions, where I was responsible for the training and direction of multiple team members. I know how to read and write documentation.

I have learned as much from my failures as I have from my successes, both individually and as part of a group.

I take pride in having a positive attitude, and I handle assignments with a proactive approach, focus on innovation, high quality and efficiency. I strive to consider the long-term costs and impacts of all decisions, address challenges in a practical manner, identify inefficiencies and unnecessary cost/effort, and offer solutions to resolve issues. I am a quick learner (although that's changing as I get older), a self-starter (but that isn't), and have very good attention to detail (at least my automated tests do!). I use my experience and knowledge to help others grow professionally, and seek out others who do likewise. I believe in integrity and honesty, and I'm confident that I can excel in any task that is assigned to me. Even more with a pair.

Publications, Presentations, and Awards:

Current and Not-So-Current Skills: (Asterisks indicate Brainbench certifications):

These are all things I have worked with in the past. They are in no particular order, and far from complete. Some I learned better than others, and some I remember better than others :). Feel free to ask me for details.

Open-Source Projects Created or Contributed to:

GemInstaller, - I conceived and wrote GemInstaller from scratch, using Rspec and a Behavior-Driven Development approach. It has a thorough and extensive test suite, and is continuously integrated against multiple RubyGems versions.

Pivotal.rb, - This is where Pivotal Labs keeps some of its Open Source projects.

Rails, - I follow the mailing list, and occasionally scratch my itch.

CruiseControl.rb, - I follow the mailing list, and contributed the build serialization support.

EMMA, - I'm a committer on EMMA. I rewrote the Maven 1 Plugin for EMMA from scratch, and sometimes monitor the mailing list.

VirtualMock, - I created VirtualMock, a Java unit testing tool based on an idea from an article in XP Magazine. It uses Aspect-Oriented Programming and supports the Mock Objects testing approach. However, I now recommend and use Rspec or jMock, so it's currently on hold until I have time to redesign it. Also, Ron Bodkin has eloquently described the approach that any next-generation java-based virtual-mocking tool should probably take.

EasyMock, - I contributed to the EasyMock mailing list for a while, and helped out with the class-mocking patch, which I was kindly given credit for.

JFig, - I contributed to Jfig a bit. It was really cool, but then Spring came along with PropertyResourceConfigurer. :)

VCardSplitter, - A small utility that I wrote for my own use, and then open-sourced to see if anyone would find it useful. It only took me a few hours to write but people still download it!

AntHill, - I contributed a couple of small patches to Anthill, and helped out on the Anthill OS and Anthill Pro mailing lists while I was using it.

TypeInterceptor, - I made this, but then found out you can do the same thing with an undocumented Sun class.


I got all of these Brainbench certifications when I was between jobs after being laid off from IBM during the dot-com bust (best career move EVER). It was an interesting experience, proving mostly that I can score exceptionally high on multiple-choice tests ;)

Professional Experience:

April 2006 - Present: Agile Engineer, Pivotal Labs, San Francisco, CA (working remotely in Tucson, AZ and going to SF one week per month) - At Pivotal, I create Ruby on Rails solutions in the most Agile environment I have ever seen. Pivotal is a great company. I do exciting stuff, and work with incredible people. Check out the Pivotal Labs site for more info, and contact me or visit my Pivotal blog to find out what I've been up to.

August 2005 - April 2006: Software Developer, Ionami Design, San Francisco, CA (working remotely in Tucson, AZ) - With one other developer, managed all aspects of developing and maintaining The codebase was hundreds of thousand of lines of complex Java, XML, XSL, and shell scripts. Used Resin, Apache2, Oracle 10g, and Subversion. Managed support ticket estimation, prioritization, and status reporting with a customized Trac installation

June 2004 - July 2005: Software Developer, VMS, Tucson, AZ - Developed and maintained internal and client-facing Enterprise Web and Client-Server applications.

September 2002 - June 2004: Developer, Choice Hotels International, Phoenix, AZ - Worked on development of J2EE web-based Property Management system to be used by Choice Hotels franchisees worldwide. Studied and applied Core J2EE Design Patterns. Used Agile, Extreme Programming and Open-Source tools and practices, including: Frequent iterations and releases; aggressive refactoring using Eclipse; test-driven-development using Junit, Mock Objects, JSUnit and Cactus; Struts; Jakarta taglibs; Jakarta Tomcat; Aspect-Oriented Programming; and Continuous Integration using Ant and Anthill. Also used BEA Weblogic, MS SQL Server, and Tomcat.

July 1995 - July 2002: Application Integrator, IBM Global Services, Tucson, AZ - Performed team lead, technical lead, project management, customer interaction, requirements management, project planning, architecture, design, documentation, development, testing, integration, maintenance, and troubleshooting roles on several diverse projects:

September 1992 - June 1995: Technician and LAN Administrator, New Mexico State University, Department of Chemical Engineering, Las Cruces, NM - Installed, maintained, and administered a NetWare Ethernet-based local area network and all departmental computing resources, including initial installation/configuration of a server, computer lab, and many LAN-based applications, and physical installation of network cabling and fiber-optic security system. Hand-made RS-232 cables and Ethernet cables. Designed and created relational database systems for inventory, student, and alumni records. Created and administered a public departmental web site during the infancy of the WWW, which was accessed using Netscape 1.0.

Formal Education:

Bachelor of Business Administration, with Honors, Business Computer Systems

New Mexico State University, Las Cruces, New Mexico, May 1994, 3.7 GPA

Other Training:

I regularly read and contribute to technical mailing lists. Current and past lists of interest include the RubyGems developers list, the rubyonrails-core list, cruisecontrolrb list, the Phoenix Ruby and Rails Groups, Tucson Free Unix Group, Tucson Java Users Group, EMMA, jMock, Agile Databases, Test-Driven Development, JUnit, Extreme Programming, Anthill/AnthillPro, Maven, AspectJ, AspectWerkz, and EasyMock. Attended numerous classes, seminars, and conferences on various tools and topics, including: RubyConf, No Fluff Just Stuff Conference, Agile Conference, LotusSphere, J2EE, Java, Javascript, VisualAge for Java, Websphere Application Server, Enterprise Java Beans, XML, C, Perl/CGI, Rational Rose, Object-Oriented Analysis and Design, Lotus Notes/Domino Application Development, Lotus Notes/Domino System Administration, AIX, Linux System Administration, and others.

Personal Info:

Check out my website and hobbies. I enjoy spending time with my wife and son, playing and recording music, hiking, camping, reading, WWII and other history, supporting local music, listening to Community Radio and National Public Radio, playing computer games, and watching movies. I'm very active in my church - I help out with the youth, chaperone homeless folks who stay overnight during the winter, and I sing and play guitar, bass and/or drums every Sunday. You can see some of my pictures on Flickr (

Last Updated February 9, 2008. View latest version at No license agreements were broken during the generation of this document.