Resume of Joe Pepersack - Systems Architect

Summary of Qualifications

I am a Systems Architect with over 25 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 or systems
operations. 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.

I have a passion for teaching and mentoring, and have taught classes in academic
and corporate settings on topics including as Hadoop, Perl, SQL, the LAMP stack,
Shell Scripting, and many others.

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. I have
consiously cultivated a platform- and vendor-agnostic mindset.

For most tasks, my language of choice is Perl. Having used it for nearly
15 years, I have found that Perl hits the 'sweet spot' of power, performance,
and productivity. While Perl has a (mostly) 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.

However, Perl's waning popularity and poor support in bleeding edge tools -
especially those that run in the JVM - necessitates a different tool chain. Ruby
and Python offer similar language features that can extend native Java classes
and produce executable .class and .jar files.

I don't have a single preference for relational databases, and have used
ever major RDBMS platform on the market (and quite a few minor ones). 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.