I am a Systems Architect with over 30 years industry experience as a leader as individual contributor. I was bitten by the programming bug in 6th grade, and it has remainded one of my primary interests and passions to this day.
I am presently open to permanent, hands-on technical leadership positions. I am also potentially open to select consulting, teaching, and public speaking opportunities.
My primary interest is in creating Big Data solutions, primarily in the Amazon Cloud. I was an early adopter of Hadoop and NoSQL databases, and I have extensive experience in Machine Learning (ml) and Natural Language Processing (NLP).
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 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.
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, whenever possible. My philosophy is to avoid propriatary software and vendor lock-in except where it gives a significant technical or competitive advantage. For instance, I favor AWS DynamoDB over most other NoSQL databases because its overwelming lead in features, TCO, and reliability over competing NoSQL solutions like HBase and Cassandra.
For most tasks, my language of choice is Perl. Having used it for over 20 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. I am also fluent in Python (mostly in the context of PySpark) and Node.JS. I am an advocate of dynamic languages in general as, in my experience, they have numerous technical and business advantages over statically compiled languages like Java and C++