Resume of Joe Pepersack - Systems Architect

Summary of Qualifications

I am a Systems Architect with over 21 years experience as a team leader as well as an individual contributor. I am presently seeking a permanent, hands-on technical leadership position in software development. I am also open to select consulting opportunities.

My primary interest is in creating highly scalable, distributed, service-oriented applications utilizing around open tools and open standards. My current work involves developing applications to manage multi-Terabyte data sets using the Hadoop map-reduce framework and emerging NoSQL-style database technologies, including HBase, Hive, and Amazon SimpleDB.

My background, which encompasses both software development and systems operations, gives me unusual insight as to what is required to create systems that are scalable, reliable, and easy to administer. I bring a wealth of experience to any project as to what works in the real world and what doesn't, giving me the ability to lead a project away from common traps and pitfalls.

I'm a firm believer in the Unix philosophy -- as eloquently expressed by Eric S. Raymond in The Art of Unix Programming -- of building systems using simple, modular components that interface with one another cleanly. In keeping with this philosophy, I prefer using development methodologies based on rapid prototyping and small incremental improvements.

Preferred Toolset

I believe strongly in using the best tool for the job. While my experience has led me to favor certain tools over others, I don't let that prevent me from using something else if it is clearly superior for a given task.

That being said, my language of choice is Perl. I have found that, at least for me, Perl hits the 'sweet spot' of power, performance, and productivity. While Perl has a undeserved reputation for being cryptic and unmaintainable, my experience has shown that this problem can be avoided through strong technical leadership that enforces adherence to coding standards, conducts regular code reviews, and mandates the use of source code analysis tools.

I prefer to develop web-based and service-oriented applications using the LAMP stack, where P = Perl. I primarily use the Mason templating engine in conjunction with the Catalyst MVC framework when needed.

I don't have a single preference for relational databases. My extensive experience as a database administrator has given me an excellent understanding of the strengths and weaknesses of most of the open source and commercial databases on the market, both relational and non-relational. I draw on this knowledge to chose the product best suited for the task at hand.

Download Resume

My resume is available in the following formats:

I also have a traditional chronological resume which is available on request.

Code Samples

Mason FastCGI Handler

This script allows Mason to run under FastCGI, giving performance advantages comparable to mod_perl, but which (unlike mod_perl) are usable in a shared hosting environment. A more in-depth discussion of this can be found on my blog.

.

Menu Component

This is the Mason component which generates the menus used on this site. The heart of the code is a recursive closure which transforms a nested array of hashes into an HTML list.