Work Experience
Book Wholesalers Inc, McHenry, IL (2007-)
BWI is a wholesaler of library books to public libraries.
The TitleTales website has
undergone sorely needed upgrades since the company's
2007 move to McHenry.
Senior Programmer
- Developed and executed technical plans to bring company website infrastructure under the McHenry infrastructure.
- Implemented proper version control, bug tracking, coding standards and testing infrastructure for the website.
- Created and evangelized the company wiki, which has grown to almost 3,000 pages in just over a year.
Socialtext, Palo Alto, CA (2006-2007)
Socialtext makes wikis for the
enterprise. I worked as release manager for the software, and led the project for
Socialtext Open, the open source release of Socialtext's wiki
package.
Member of Technical Staff
My time at Socialtext was mostly
working with the open source release, Socialtext Open.
- Drove release of Socialtext Open.
- Public face of Socialtext to the open source user community.
- Documentation and infrastructure improvements to improve
release infrastructure and installabilty of Socialtext Open.
- Code quality improvements and automated checking via
Perl::Critic.
Follett Library Resources, McHenry, IL (2001-2006)
Follett Library Resources is the leading wholesaler of library books
to the K-12 market in the U.S. The TITLEWAVE website is an online application that helps
librarians select materials for purchase. Its strategic importance to
the company cannot be overstated.
Web Applications Manager (2002-2006)
After being promoted to manager, I helped scale the department upward
to include six programmers and a system administrator.
- Grew and led team of six programmers and system administrator
- Started migration of PHP codebase to object-oriented mod_perl
- Defined software construction processes used by all programmers
- Interviewed and hired all programmers
- Directed long-term system administration goals
- Chief architect of web systems infrastructure
- Gave training classes for staff and sister companies
- Planned future growth with my counterpart on the project
management side of the house
Project Leader / Sr. Software Engineer (2001-2002)
When I started, there was one programmer, one system
administrator and no repeatable process. Releases were made by FTPing
tarballs to production servers, and version control was made by
occassionally zipping up snapshots and saying "Hey, Bob, don't touch
foo.html for the next half hour".
- Project manager and lead programmer for all projects
- Lead programmer/architect for the TITLEWAVE team
- Implemented CVS & Subversion version control systems
- Created new infrastructure for the site using PHP's object
features
- Implemented software process and coding standards
Follett Software Company, McHenry, IL (1991-2000)
FSC is the leading creator of
library automation software for the K-12 market. If you checked out a book
in a school library in the past 20 years, chances are it was done with a
Follett Software circulation system.
Sr. Internet Engineer (1996-2000)
In the winter of 1995, the company president charged with me
modernizing the external website and creating an intranet.
- Created the company-wide intranet and external website
infrastructure
- Built the server from scratch with Windows NT 4.0, WebSite Pro and
ColdFusion
- Created all intranet applications for all departments, from
initial user requirements to design to implementation to training
to support. Applications included: content management; phone
& people directory; product return tracking; project time
tracking; bid & proposal tracking; etc.
- Trained users in HTML, Microsoft FrontPage and JASC Paint Shop Pro
- Created maintenance tools, such as a web-spider with Perl and
MySQL to monitor web pages
- Built Linux machine running Samba and MySQL for administrative use
- Automated intranet publishing by accessing Microsoft Excel COM
objects from Perl
- Analyzed web server traffic, both with Analog stats package and
homemade Perl programs
- Simplified page maintenance for Marketing by automating many
tasks, such as creation of JavaScript and DHTML code
Software Engineer (1991-1996)
For five years I worked in DOS writing library automation software in
C, and later on the Macintosh in C++.
- Designed, coded and tested products. Wrote many core libraries
- Worked on teams of two, four and ten, depending on the project
- Improved software process as part of a department plan based on
the SEI Capability Maturity Model
S.D.C. Associates, Elk Grove Village, IL
S.D.C. owned and operated 70 retail clothing stores under the names Just
Pants, Button Up and What a Deal!
Programmer (1986-1991)
- Wrote Pascal software for retail stores: Point-of-sale system;
purchase orders; inventory; email
- Wrote back-office systems in BASIC, COBOL and SPEED II 4GL:
Accounting; inventory; email
Open Source
Perl community
I've been active and vocal in the Perl community for years, including:
- Author or maintainer of over 20 modules on CPAN, mostly related to quality and
testing support, including:
- ack, a
programmer-specific replacement for grep.
- WWW::Mechanize, a web browser in a handy object.
- Test::Harness, the core test interpreter that Perl
relies on. The
prove
utility, a tool to make running tests easier from the
command line, was create based on my years at FLR.
- HTML::Lint, a pure Perl HTML syntax checker.
- HTML::Tidy, the successor to HTML::Tidy, a Perl wrapper
around libtidy.
- Perl::Critic::Bangs, a collection of code quality
checking policies using the Perl::Critic framework.
- Maintainer of qa.perl.org, the Perl
quality and testing website
- Member of perl5-porters, the core Perl developers. I contribute
patches to the C source code, working to make it more maintainable and
with safer constructs.
The Perl Foundation (2005-2008)
The Perl Foundation
is a non-profit organization dedicated to the advancement
of the Perl programming language through open discussion,
collaboration, design, and code.
- Steering Committee member, in charge of public relations
- Mentor for the Google Summer Of Code project
Presentations & papers
Downloadable versions of slides from my presentation are usually available online.
YAPC::NA 2006
Get Out Of Technical Debt Now!, 6/26/2006
Pragmatic Job Hunting, 6/28/2006
YAPC::NA 2005, 6/29/2005
Preventing Crisis: Project estimation and tracking that works
YAPC::NA 2004
Perl Wizardry Without An Editor, 6/16/2004
The Open Source Programmer's Guide To Getting A Great Job, 6/16/2004
Automated Testing Of Large-Scale Projects, 6/17/2004
Various
Uniforum Chicago meetings
The A-Z Guide Of CPAN Modules For New Authors, 10/11/2005
Preventing Crisis: Project estimation and tracking that works, 3/22/2005
Perl Security With Tainting, 8/10/2004
Perl Wizardry From The Command Line, 2/10/2004
Automated Testing Of Large Projects With Perl, 8/12/2003
Automated Testing With Perl, 2/11/2003
Various
Chicago Perl Mongers meetings
101 Things Every Perl Programmer Should Know, 4/10/2007
and 4/24/2007
(This talk was the inspiration for the site
perl101.org.)
New Modules For a New Year, 1/9/2007
Perl Security With Tainting, 8/3/2004
The Open Source Programmer's Guide To Getting A Great Job,
6/8/2004
Module Building 101, 1/7/2004 (This talk inspired me
to write
Module::Starter.)
A Field Guide To The Perl Command Line, 11/4/2003
Automated Testing With Perl, 5/19/2003
Publishing
Pragmatic Bookshelf
Land The Tech Job You Love
: Author, 280 pages, Jun 2009 ISBN: 978-1-93435-626
My book on how to find a job and get hired once you know
what sort of job you're really looking for.
O'Reilly
Mac OS X Tiger In A Nutshell
: Updates on entire book. Co-author credit. (2005)
Perl Best Practices
: Technical reviewer (2005)
"I would like to express my
deepest gratitude... [t]o Andy Lester, for inspiring with his deep
understanding of, and passion for, the best coding practices." -- p.
xxi
Mac OS X Panther In A Nutshell
: Updates to Unix command chapter (2004)
Spidering Hacks
: Author (2003)
- Hack #21: WWW::Mechanize 101
- Hack #36: Downloading Images From Webshots
- Hack #44: Archiving Yahoo! Groups Messages With
WWW::Yahoo::Groups
Google Hacks
: Technical editor (2003)
"And to Andy Lester, our technical
editor, goes much appreciation for his thorough nitpicking." -- p.
xiii
Unix Power Tools, 3rd ed.
: Technical reviewer for 10 chapters (2001)
O'Reilly Network
CMP Media LLC
The Perl Journal, frequent author
- "Web Security with Taint Checking", September 2004
- "OSCON Wrapup", August 2004
- "Using Devel::Cover", January 2004
- "Mastering Perl/Tk (book review)", December 2003
- "Introduction to Automated Testing with Test::Harness", November
2003
- "OSCON Wrapup", August 2003
- "Five Ways To Find Files", July 2003
- "Data Manipulation & Perl Command-Line Options", May
2003
The Perl Review
Apress
Microsoft Press
Sybex
Sams
Barcharts Inc.
In addition to attending numerous conferences and user group session, I've
also taken Edward Tufte's "Visualizing Data" seminar, and Stephen Covey's
"Living The Seven Habits."