June 2008 - Present
As a consultant, I have filled roles from Software Developer to Director Of Engineering and I have had the pleasure of working with some excellent organizations including Apple, Cisco, and Genentech. I helped them design and build custom applications ranging from web publishing tools, to billing systems, to online stores, to molecular simulators. In return, they showed me how great teams operate.
October 2013 - Present
Stratopan is a SaaS platform for managing software components. We host all your components in a secure, custom repository in the cloud so you can build your app anywhere with the right components every time. Stratopan is in beta with over 800 users. As a co-founder, I spend my days (and nights) slinging code, configuring servers, answering support calls, writing marketing copy, and pitching to companies.
September 2001 - March 2008
BGI is where I really cut my teeth as a software engineer. I wrestled with some of the ugliest, most broken, yet most profitable software you've ever seen -- over 500k lines of code running more that $50 billion in assets. Over time, we all learned what "quality" really means and how to achieve it. It was a difficult journey at times, but it taught me how to balance business goals with engineering principles.
January 2000 - September 2001
Wink was my gateway into the dot-com boom. When I started, I knew just enough about programming to be useful. And then I began learning new technologies while building interactive television applications. It was all very cutting-edge stuff then, and it was exciting to see your own application pop up on the TV screen in a hotel lobby or bar.
June 1998 - January 2000
I wanted to be an economist for a while. Although I still enjoy the science, I wasn't suited for the profession. Fortunately, it gave me an opportunity to build economic forecasting models, and that is how I was first introduced to programming.
Much of modern software development involves assembling applications from various open source components. Pinto is a component management tool for Perl that ensures your applications are consistently built with the correct libraries and frameworks. At the same time, Pinto has powerful features that help you safely upgrade and test components. Pinto is the heart of Stratopan and is used by numerous organizations with large and complex Perl code bases.
While working at BGI, we wanted to improve our code quality without sinking a lot of time into training or code reviews. This inspired me to create Perl-Critic, the leading static analyzer for Perl. Perl-Critic automatically detects bugs, finds security holes, and enforces best-practices on millions of lines of Perl code. Perl-Critic is now used by thousands of organizations every day to help them write better code. I'm very proud that Perl::Critic is also part of the CERT Secure Coding Guidlines.
October 2013 - Present
Software development is 20% technical engineering, and 80% social engineering. As co-organizer of the San Francisco Perl Mongers, I have the privilege to help engage, inform, and inspire developers. Together with my fellow co-organizers, we produce frequent hackathons, guest lectures, and social events that cover a wide range of technical subjects. We also maintain mailing lists, websites, and social media channels to help developers connect with one another
May 2007 - Present
From time to time, I teach classes on programming with Perl. As they say, the best way to really master a subject is to teach it, and sometimes I feel that I learn more from the class than my students. I teach at all levels, but the introductory classes are the most challenging and the most rewarding for me.
I've been fortunate to meet so many amazing people in my career. And some of them were kind enough to give me an opportunity to tell my story. I also give frequent presentations at YAPC, OSCON, and local technology meetups.
Bachelor of Arts degree in Economics