I'm a computer programmer by trade, and a member of the Association for Computing Machinery (ACM), but an instigator for organizational change by nature. Despite that fact, part of me still dreams of playing rock, blues, and jazz guitar for a living; I'm a Jimi Hendrix fanatic and a Beatlemaniac. I'm originally from Hampton, Virginia and currently reside in Alexandria, Virginia.
From 2005-2010, I helped lead the Testing Grouplet's five-year effort to drive automated testing adoption throughout Google. From 2009-2011, I also worked on websearch infrastructure. You can read details about my Google experience below, as well as my reasons for leaving Google.
Since then, I attended Berklee College of Music and worked for the United States federal government. I'm presently launching my own independent consulting practice. You can view a more detailed résumé on my LinkedIn profile, and follow my open-source programming activity via my GitHub profile.
I welcome thoughtful conversations over email at firstname.lastname@example.org or on Google+. My public PGP key is available via the hkps.pool.sks-keyservers.net key server pool, but you can also download the ASCII version of my email@example.com public key.
Please see my Hire me! page for information on retaining my services to help transform your organization.
I grew up in Hampton and Newport News, Virginia, and lived there until 2005 (except for a brief stint in St. Louis in 1998). From 2005-2014, I lived in Silicon Valley, New York City, and Boston.
I hold two degrees from Christopher Newport University: a B.A. in Fine Arts/Theatre Concentration (1997) and a B.S. in Computer Science (2001). While earning the latter, I helped lead a campus protest that resulted in keeping CNU's computer science and environmental science grad programs. Soon after that, my first programming job was with Northrop Grumman Mission Systems in Newport News.
I'm straight, but I've never married, and I've no children. While those aren't life goals of mine, as with the music career, I haven't ruled either out completely. I'm an atheist, and I'm politically liberal, though not extremely so. Somehow I believe we can work out our problems together, despite different life experiences and the perspectives so shaped by them, not because I expect eternal reward or fear eternal judgment, but because I value doing the right thing for the right reasons for its own sake—despite the cosmic indifference of the universe to human existence and the inevitable void to which we all return after death. (But I'm an optimist. Really.)
In addition to the technical and historical writing I've done on this site, I've also written posts and articles for other publications. The two most substantial I've written to date are Finding More Than One Worm in the Apple (for ACM Queue and Communcations of the ACM) and Goto Fail, Heartbleed, and Unit Testing Culture (for Martin Fowler's site). You can also check out my ACM author profile page
I've been invited to give several presentations at Meetups and conferences. My current standard presentation, The Rainbow of Death, attempts to connect the dots between the components of my Google experience and the broader themes involving social change in a challenging, divided client when data, facts, and reason alone often prove ineffective.
My main language used to be C++, though I'm also very comfortable with Python, and I've done a lot of Ruby, Go, Node.js, and Bash programming in the past couple of years. My preferred development environment is bash + vim + tmux + git. I use macOS as my base system and run several Linux distributions (Ubuntu, Arch, and Alpine), FreeBSD, and Windows 10 using VMware Fusion. (I'm going to start doing a lot more with Docker any day now...)
After three years away from the industry, I returned to work for the United States federal government as part of the General Services Administration. I talk about this experience in The Convergence of Wills and other presentations.
From spring 2013 until summer 2014, I attended Berklee College of Music in Boston, completing four semesters. Since the record deals weren't pouring in, once I was recruited by the government, I left Berklee to reactivate my programming career.Despite leaving Berklee behind, as you can see, I still yearn to strap on a Stratocaster and make things happen:
In my 20% time, I participated in and eventually led the Testing Grouplet and the Fixit Grouplet, both of which had an impact on internal development tools and processes; I organized several testing- and tools-related Google-wide Fixits; and I was an early author and poster of Testing on the Toilet. I have one Google-based open source project, Pyfakefs, though I don't participate in it anymore.
Prior to Google, I worked on shipboard navigation and port monitoring systems for Northrop Grumman Mission Systems in Newport News, Virginia. That's where I cut my teeth on C++ and Python, and began having success with automated (unit) testing.
I also attended Berklee, extremely briefly, once before...
That was immediately after graduating from Bethel High School in Hampton, Virginia, right about the same time when Nirvana was deposing hair metal from its throne. And this is how it all started: