Andy LesterManager, senior software engineer, speaker, writer
****@********.***
McHenry, IL
http://andylester.org/
Everything
in one page
SummaryManager, project leader and senior software
engineer for e-commerce sites. Over 20 years
in the library and education industries.26 years application development, with 16 years in web
applicationsExtensive SQL database experience with Oracle,
PostgreSQL and MySQL.16 years Perl experience, including mod_perl,
Template Toolkit, WWW::Mechanize and Perl's automated testing ecosystem.Active in the Perl community:
Prolific module
author, frequent speaker & trainerAuthor of
Land the Tech Job You Love,
280 pages, published June 2009 by
.
Currently looking for a position as senior software developer,
possibly as team lead or manager, in the north or northwest
suburbs of Chicago, or via telecommute. Perl and PHP are my
key languages, but I'm very interested in working more in Ruby.
Work ExperienceBook Wholesalers Inc, McHenry, IL (2007-November 2012)
BWI is a wholesaler of library books to public libraries.
The website has
undergone sorely needed upgrades since the company's
2007 move to McHenry.
Senior Programmer Inherited and modernized e-commerce web app of 100,000K lines of PHP under ApacheCreated a modern development environment for the app. My predecessor had one codebase: the production server.Implemented version control, automated testing, bug tracking, coding standards and a stable release process.Design, coding and testing of ongoing improvements to the app. New development was done with modern Perl techniques.Created and evangelized the company wiki in MediaWiki. The wiki grew to 3,000 pages in its first year.Planned and implemented a search engine in Solr/Lucene to replace an existing search application using Oracle Text.Currently learning iOS/iPad/iPhone development.Socialtext, Palo Alto, CA (2006-2007)
makes wikis for the
enterprise. I worked as release manager for the software, and led the project for,
the open source release of Socialtext's wiki
package. Member of Technical StaffDrove 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)
is the leading wholesaler of library books
to the K-12 market in the U.S. The 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 administratorStarted migration of PHP codebase to object-oriented mod_perlDefined software construction processes used by all programmersInterviewed and hired all programmersDirected long-term system administration goalsChief architect of web systems infrastructureGave training classes for staff and sister companiesPlanned future growth with my counterpart on the project management side of the houseProject 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 snapshots and saying "Hey, Bob, don't touch
foo.html for the next half hour". Project manager and lead programmer for all projectsLead programmer/architect for the TITLEWAVE teamImplemented CVS & Subversion version control systemsCreated new infrastructure for the site using PHP's object featuresImplemented software process and coding standardsFollett Software Company, McHenry, IL (1991-2000)
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 infrastructureBuilt the server from scratch with Windows NT 4.0, WebSite Pro and ColdFusionCreated 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 ProCreated maintenance tools, such as a web-spider with Perl and
MySQL to monitor web pagesBuilt Linux machine running Samba and MySQL for administrative useAutomated intranet publishing by accessing Microsoft Excel COM objects from PerlAnalyzed web server traffic, both with Analog stats package and
homemade Perl programsSoftware 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 projectS.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; emailWrote back-office systems in BASIC, COBOL and SPEED II 4GL:
Accounting; inventory; email
Open Source
Some of the projects I've created and contribute to include:
Ack (sometimes packaged as "ack-grep") is a text searching tool,
written in Perl, optimized for searching large trees of source
code. I created it in 2006, and it has become very popular. As
ack has matured, my role has changed from creator and author
to shepherd of incoming patches.
The ack website, betterthangrep.com, also is a hub of information
about
to help users decide which tool best fits their needs. The
site gets about 8,000 unique visitors each month.
This site is a collection of information to help novice programmers
understand how to properly use parametrized SQL queries to
prevent SQL injection attacks. While I created the site in 2008,
it is now based on community content. Source for the site is,
with contributions coming in just like patches to a code-based project.
Around 4,000 unique visitors use bobby-tables.com in a month.
WWW::Mechanize
WWW::Mechanize is a Perl module that allows easy navigation of
websites, acting as a web browser in an object. Created as a
fork of WWW::Automate in 2002, I maintained Mech until 2012.
It is now slated to become part of the standard libwww-perl
library. Its sister module,
Test::WWW::Mechanize
merges the convenience of Mech with Perl's automated testing
ecosystem.
Perl 5
As a member of the Perl 5 Porters, or core Perl developers, I
contributed patches to the C source code to make it more
maintainable and with safer constructs. I performed regular
static analysis on the C code and strengthened the compiler
warnings to check for questionable code.
Parrot is a virtual machine, written in C, for running modern
dynamic languages like Perl 6. Since 2007 I have worked to
increase stability of the code by increasing the number of
compiler warnings checked, running static analysis tools like
splint, and instrumenting the code.
Perl::Critic::Bangs
A collection of policies for the
Perl::Critic static
analysis framework.
Test::Harness
and
During the time I maintained the core Perl module Test::Harness,
I created the prove tool to encourage test-driven
development by making test execution simpler from the command
line. prove is now shipped with every Perl distribution.
Perlbuzz is a news site about Perl 5, Perl 6 and Parrot. As
more Perl blogs have become popular, Perlbuzz has mostly become
a stream of stories, selected by me, fed primarily through the
@perlbuzz Twitter feed.
Perlbuzz reaches almost 7,000 readers and followers each week., 2005
Awarded one of three White Camels in 2005. From the announcement by the Perl Foundation:
Andy Lester is one of the prominent voices advocating testing
and quality assurance. He has written extensively on the
importance of good testing and maintains
. He is also the
creator and project leader of Phalanx, which is devoted to
improving tests and test coverage of Perl and CPAN modules
to maintain quality as development continues. Phalanx
encourages interaction between programmers by having groups
of developers work together to improve test coverage on the
most used CPAN modules.
Presentations
Many of my slide decks are available on
or
.
YAPC::NA 2012, 6/13/2012O'Reilly Open Source Conference 2011, 7/27/2011, 4/9/2011Building and Maintaining a Project Community with Github, 4/16/2010O'Reilly Open Source Conference 2008People For Geeks, 7/22/2008Just Enough C For Open Source Programmers, 7/24/2008, 2/16/2008Get Out Of Technical Debt Now!Grand Rapids (MI) Perl MongersGet Out Of Technical Debt Now!, 9/28/2007O'Reilly Open Source Conference 2007, 7/25/2007Get Out Of Technical Debt Now!YAPC::NA 2006Get Out Of Technical Debt Now!, 6/26/2006Pragmatic Job Hunting, 6/28/2006, 9/23/2006Preventing Crisis: Project estimation and tracking that works, 8/15/2006
Get Out Of Technical Debt Now!Grand Rapids (MI) Perl Mongers, 10/25/2005The A-Z Guide Of CPAN Modules For New AuthorsO'Reilly Open Source Conference 2005,
with chromatic, Ian Langworth and Bill Odom, 8/3/2005Preventing Crisis: Project estimation and tracking that works, 8/4/2005YAPC::NA 2005, 6/29/2005Preventing Crisis: Project estimation and tracking that works, 4/15/2005Preventing Crisis: Project estimation and tracking that works, 10/21/2004Introduction to Perl ProgrammingAdvanced Perl ProgrammingTesting With WWW::MechanizeO'Reilly Open Source Conference 2004, 7/29/2004YAPC::NA 2004Perl Wizardry Without An Editor, 6/16/2004The Open Source Programmer's Guide To Getting A Great Job, 6/16/2004Automated Testing Of Large-Scale Projects, 6/17/2004, 4/14/2004Automated Testing Of Large Projects With Perl, 1/14/2004Introduction to Automated TestingGrand Rapids (MI) Perl Mongers, 9/25/2003Automated Testing Of Large Projects With PerlO'Reilly Open Source Conference 2003, 7/10/200329 Ways to Get Started in Open Source Today, 5/8/2012An Overview of Git, 8/10/2010New Features in Perl 5.12, 7/13/2012Effective Job Interviewing from Both Sides of the Desk, 9/22/2009Just Enough C for Open Source Programmers, 7/8/2008Development Process Lessons from Open Source, 9/11/2007The A-Z Guide Of CPAN Modules For New Authors, 10/11/2005Preventing Crisis: Project estimation and tracking that works, 3/22/2005Perl Security With Tainting, 8/10/2004Perl Wizardry From The Command Line, 2/10/2004Automated Testing Of Large Projects With Perl, 8/12/2003Automated Testing With Perl, 2/11/2003Introduction to WWW::Mechanize, 7/10/2007Perl Program Repair Shop, 6/12/2007101 Things Every Perl Programmer Should Know, 4/10/2007 and 4/24/2007New Modules For a New Year, 1/9/2007Perl Security With Tainting, 8/3/2004The Open Source Programmer's Guide To Getting A Great Job, 6/8/2004Module Building 101, 1/7/2004 (This talk inspired me
to create Module::Starter.) A Field Guide To The Perl Command Line, 11/4/2003Automated Testing With Perl, 5/19/2003
Books
Land The Tech Job You Love
(Pragmatic Bookshelf, June 2009): Author, 280 pages, ISBN: 978-*-*****-***
My book on how to find a job and get hired once you know what sort of job you're really looking for.
Mac OS X Tiger In A Nutshell
(O'Reilly, 2005): Updates on entire book. Co-author credit.
Perl Best Practices
(O'Reilly, 2005): Technical reviewer
"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
Pro Perl Debugging
(Apress, 2005): Technical review and co-author/writing mentor
Pro Perl
(Apress, 2005): Technical review
Mac OS X Panther In A Nutshell
(O'Reilly, 2004): Updates to Unix command chapter
Code Complete, 2nd Edition
(Microsoft Press, 2004): Technical review
Spidering Hacks
(O'Reilly, 2003): Author of three articles
Hack #21: WWW::Mechanize 101Hack #36: Downloading Images From WebshotsHack #44: Archiving Yahoo! Groups Messages With WWW::Yahoo::Groups
Google Hacks
(O'Reilly, 2003): Technical editor
"And to Andy Lester, our technical editor, goes much appreciation for his thorough nitpicking." -- p. xiii
Perl, CGI & JavaScript Complete, 2nd ed.
(Sybex, 2003): Updated Perl sections for Perl 5.8
XML Primer Plus
(Sams, 2002): Technical review
Teach Yourself Unix System Administration in 24 Hours
(Sams, 2002): research, development & first draft for chapter 22, "Awk & Perl", plus technical review
Perl quick reference chart
(Barcharts Inc., 2001): Technical review, and major rewrite
Unix Power Tools, 3rd ed.
(O'Reilly, 2001): Technical reviewer for 10 chapters
Magazines
(CMP Media LLC), 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
Selected articles and blog posts.
Designers and developers: Why can't we get along?Your GitHub account is not your portfolio, but it's a start
Education I've been taking classes towards a Business Management degree.
Relevant classes include: Principles of Accounting I & IIExperiencing Management Decisions
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."
Technical Skills & Keywords
Perl, CPAN, WWW::Mechanize, ack, PHP, Ruby, SQL, C/C++, HTML, CSS, object-oriented programming, MVC, test-driven development
Linux, Mac OS X, Apache, Git, GitHub, Subversion, CVS, vim, shell, bash, awk, tmux, vim
Solr, Lucene, MySQL, PostgreSQL, Postgres, Oracle
MediaWiki, WordPress, Movable Type