Jack Herrington
4820 Delores Dr. | Union City | CA 94587 | 510.304.2117

Experience Summary
C17 years
C++ 10 years
Java 4 years
C# 4 years
Perl 7 years
Javascript7 years
Ruby 4 years
Database6 years
OO Development 13 years
Web 7 years
Windows 8 years
Macintosh 12 years
UNIX 15 years
Team Lead6 years
Hiring Manager5 years

Career Goals

Solving challenging software problems is my passion. Working hard on exciting projects with capable people that share my interest in pragmatic development of high quality software is the central theme of my career.

On all of the projects I have worked on I have brought a diverse technical background, a willingness to pass on my knowledge and experience and an enthusiasm for the team and the project. It has worked so far, I have never been involved with a project that has failed to ship.

Having great technology in a product is important, but what is more important is delivering software that solves customer problems in an easy to use and intuitive way. Working directly with the customer to understand their problems and to develop unique solutions to those problems is one of the things I do best. This customer-centric perspective has enabled me to be a key member of the entire product team and not just a technically talented contributor to the development group.

Primary Experience

2005-current - Senior Software Engineer
Leverage Software, Inc. San Francisco, California

Technologies: ASP.NET, Javascript, DHTML (AJAX)

At Leverage I use my skills both on the front and back-end to create compelling experiences for our customers looking to network around conferences and user groups. In particular I have been instrumental in developing AJAX components that allow our customers to take their information out of the site and integrate it into their blogs and web pages.

2001-2005 - Senior Software Engineer
Macromedia, Inc. Redwood Shores, California

Technologies: Java, C++, JavaScript, Perl, DHTML, Apache, Windows, Macintosh, Linux

I was hired as a consultant by Macromedia to implement a mechanism to import Microsoft Word and Excel documents into their Contribute product. I took the feature from a vague defintion to a full implementation with automated system testing in two months. I then accepted a full-time position on the Dreamweaver project, where I succesfully integrated my Contribute features, as well as designed an implemented the image manipulation features on the next version of Dreamweaver. Later I worked on the Flex Builder 2.0 project that was the first use of Eclipse at Macromedia. I also used my team lead and management experience to help the team refine it's highly-iterative development process with unit testing and other Agile methods.

1999-2001 - Engineering Manager/Team Lead
Certive, Inc. Redwood City, California

Technologies: Perl, Ruby, C++, Java, XSLT, JavaScript, DHTML, VB, Oracle, Apache, Linux

Certive was a classic dot-com era startup funded by two large companies to build broadband applications. I was the first engineering hire and I built a team which I then lead to build three releases of their only shipping product. The LAMP (Linux, Apache, MySQL, Perl) architecture we used for the product was so reliable that the toughest parts of the project were managerial rather than technical. Not only was I the technical lead on the but I was also a key member of a three person team that defined the product.

1993-1999 - Engineering Manager/Team Lead
Axon Instruments, Foster City, California and Axon Research Pty. Ltd., Melbourne, Australia

Technologies: C++, VB, SQLServer, Windows 95, Windows NT, MFC

Axon was a public company that built hardware and software for scientific applications at Universities and drug companies. I was contacted the company to work for them in Australia after I impressed them by building a Macintosh application to control their CyberAmp 300 product. My wife and I moved to Australia and I joined their small engineering team to build their first Windows application, called AxoScope. I handled the MFC application framework, the acquisition protocol editor and the other engineer lead engineer handled the data acquisition system. We worked in a highly iterative fashion and had the first version out in about six months. We then went on to build the next version of the software, called Clampex, that had a lot more flexibility in the scientific protocols it could support.

Two years later my wife and I moved back to the San Francisco Bay Area and I restarted the software development team in Foster City, which had been inactive for several years. I took on the responsibilities of hiring a new group of engineers, managing the off-site consultants we already had, and leading the Clampfit effort to build an analysis application on Windows. Nine months after I returned we shipped Clampfit with a new team of three engineers in Foster City and two off-site consultants. I also set up the ISO-9000 software engineering protocols for the company and got the group through the first two audits.

At Axon I learned how to work effectively with an engineering team, to hire and fire engineers, to write documentation and procedures, and how to incent engineers to produce their best work.

1991-1993 - Software Engineer
University of Miami Medical School

Technologies: Macintosh, Solaris, C, C++, MPW, Data Acquisition, Device Control

I had two jobs at the University of Miami. The first was writing educational software on both UNIX and Macintosh. I was a one man team in that position gathering requirements for the software, implementing, testing and deploying software. I also worked in the Bookman Lab, which is a basic science lab. In the lab I worked directly with the researchers to build the scientific software that would run their rigs and perform all of the data acquisition and analysis tasks. This was a highly iterative process where I worked one on one with the customer to build the software to their exact requirements. We also shipped the software to other labs, including the Nobel Prize winning Neher lab in Switzerland.

Books

Over the past five years I have written three books and numerous articles on a variety of topics. These are listed below.

  • PHP Hacks is my most recent effort with O'Reilly. The book is a collection of 100 small projects for PHP spanning both the front and back end.
  • Podcasting Hacks is 75 helpful hints for podcasters including how to pick a microphone and build a recording setup, to how to format and develop your show. On this project I worked with a wide variety of contributors from both the commercial radio world as well as podcasters.
  • Code Generation in Action covers using Ruby to generate code for both the front and back-ends of applications.

Selected articles:

Personal Projects

2003-2006 - Code Generation Network

Technologies/Skills: Code Generation, PHP, authoring, editing, marketing.

Developed and edited the Code Generation Network, a site for software engineers and architects who author and consume code generators.

2003 - Form and Table Manager

Technologies: Perl, HTML::Mason

An open source HTML::Mason project that will build HTML forms and tables from meta descriptions of the form or table. Originally the code was written for Certive, but they moved from Perl to Java and no longer needed the code. I negotiated the release of the code to open source.

2003 - JELDoclet

Technologies: Java, Doclet API

An open source Doclet project that will output JavaDoc information as XML.

Code Samples

Code samples are available in C#, C, C++, Java, JavaScript, Objective-C, Perl, Python, REBOL and Ruby.

References

References and Letters of Recommendation available upon request.