- Over 31 years in business application development. Manager, project leader and senior software engineer for e-commerce sites.
- Over 20 years experience in Perl and PHP. Contributor to the Perl core. Helped develop Perl's testing ecosystem. Created WWW::Mechanize. Prolific Perl module author.
- Extensive SQL database experience with Oracle, PostgreSQL and MySQL.
- Creator of ack, a widely-used alternative to grep optimized for programmers.
- Author of Land the Tech Job You Love, 280 pages, published June 2009 by Pragmatic Bookshelf, a guide to job hunting for technical professionals.
Follett School Solutions, McHenry, IL (2012-now)
Book Wholesalers Inc, McHenry, IL (2007-2012)
BWI was a wholesaler of library books to public libraries. I drove sorely needed upgrades to BWI's TitleTales website since the company's 2007 move to McHenry. After BWI was sold, I transferred to Follett School Solutions.
- Inherited and modernized e-commerce web app of 100,000 lines of PHP under Apache.
- Created a modern development environment for the app. My predecessor had one codebase: the production server.
- Implemented version control, automated testing, bug tracking, coding standards, continuous integration and a stable release process.
- Design, coding and testing of ongoing improvements to the app. New development was done with modern Perl techniques.
- Planned and implemented a 15,000,000-document search engine in Solr & Lucene to replace an existing search application using Oracle Text.
- Created and evangelized the company wiki in MediaWiki. It grew to 3,000 pages in its first year and is now an integral part of company workflow and culture.
- Received the "Follett Values In Action" award, a $500 quarterly prize, for the company wiki.
- Created Cacti system to track performance trends in production web and database servers.
Socialtext, Palo Alto, CA (2006-2007)
Member of Technical Staff
- 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 scaled 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 occasionally zipping up the source.
- 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 25 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
Software Engineer (1991-1996)
- Designed, coded and tested library automation software in C and C++.
- Worked on teams of two, four and ten, depending on the project
S.D.C. Associates, Elk Grove Village, IL (1986-1991)
Operated 70 retail clothing stores under the names Just Pants, Button Up and What a Deal!
- 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
EducationI've taken classes towards a Business Management degree. Relevant classes include:
- Principles of Accounting I & II
- Introduction to Management
- Human Relations in Business
- Experiencing Management Decisions
- Creative Problem Solving
I've also taken Edward Tufte's "Visualizing Data" seminar, and Stephen Covey's "Living The Seven Habits."