About me
I’m a computer programmer and Instigator for organizational change, originally from Hampton, Virginia.
Throughout my career across multiple organizations, I’ve driven adoption of effective automated testing practices as an essential part of the software development process. The problem essentially boils down to influencing mindset and culture over time, as solutions to most of the technical problems have existed for decades. See Making Software Quality Visible for a rigorous explanation of my approach.
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.
Since then, I attended Berklee College of Music and worked for the United States federal government. I’ve dabbled in independent consulting practice, and facilitated organizational change at Cvent by establishing a system of Grouplets there.
I worked for Apple from November 2018 until November 2022, leading the Quality Culture Initiative. You can read about the QCI’s accomplishments in my Leaving Apple post.
You can view a more detailed résumé on my LinkedIn profile, and follow my open-source programming activity via my GitHub profile. I’m also a member of the Association for Computing Machinery (ACM).
I’m currently taking a career break to weigh my future options. Despite an interesting career, as a Jimi Hendrix fanatic and a Beatlemaniac, I still dream of playing rock, blues, and jazz guitar for a living. Nothing may ever come of it, but I’m indulging myself for a little while.
Contact me
I welcome thoughtful conversations over email at mbland@acm.org.
Hire me
Though I’m taking a break at the moment, please see my Hire me! page for the method behind my madness.
More personal stuff
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 now reside in northern Virginia.
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. (Paywalled versions: Programs Get Support; Board OKs Continuance of Grad Programs) Soon after that, my first programming job was with Northrop Grumman Mission Systems in Newport News.
Publications
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. You can also check out my ACM author profile page.
- Goto Fail, Heartbleed, and Unit Testing Culture for Martin Fowler’s site.
Presentations
I’ve been invited to give several presentations at Meetups, conferences, and various companies. A few that stand out are:
- 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.
- Making Software Quality Visible is a broader, more mature take on the importance of software quality and how to promote adoption of effective testing practices. It reflects wisdom gained from much trial and error since my Google tenure, including my experiences leading the Quality Culture Initiative at Apple.
- My DevOps Enterprise Summit 2015 presentation, Pain Is Over, If You Want It, is an earlier account of my Google testing adoption experience. Portions of it appeared in a case study in the DevOps Handbook.
Press
You can find articles covering some aspect of my work on my press page.
Portfolio
Links to my open-source programming work are available on my portfolio page. Highlights include:
- My most significant open source contribution may be submitting the first
working implemenation of the Python
with
statement. - I originally created Pyfakefs and open sourced it while still at Google. I haven’t been involved with it since I left the company—but I have made use of it several times since.
- I was a co-maintainer of bats-core until I had to give it up upon joining Apple in November 2018.
Programming toolbox
At various points in my career, I’ve done extensive work in Bash, C/C++, Go, Node.js, Python, and Ruby.
I’ve also dabbled in HTML+CSS+JavaScript, Java, Lua, Objective-C, Perl, Rust, Scala, SQL, and Swift. I’ve played with Common Lisp, Scheme, and Haskell in the distant past, but have taken functional programming concepts to heart. (Of course, it helps that functional concepts have spread to various degress into almost all of the aforementioned languages.)
My preferred development environment has historically been Bash/Zsh + vim + tmux + git. Recently I’ve warmed up to Visual Studio Code—with Vim keybindings—while developing EListMan in Go, based on the Serverless Application Model provided by Amazon Web Services.
I use macOS as my base system and run Ubuntu Linux and Windows 11 using Parallels. I also welcome any opportunity to play with Docker, and have used Kubernetes a little bit.
United States General Services Administration: November 3, 2014-March 4, 2016
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.
Berklee College of Music: January 2013-June 2014
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:
Google: August 29, 2005-September 16, 2011
Before joining the websearch infrastructure team, I was a member of the Test Mercenaries, Build Tools, and Testing Technology teams. I was based in Mountain View, California from August 2005 through November 2008, and in New York City from November 2008 until September 2011.
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 distributor of Testing on the Toilet newsletters.
I’ve distilled these experiences into my presentation The Rainbow of Death.
Northrop Grumman Mission Systems: July 2, 2001-June 2005
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.
Prehistory
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:
Credit
I originally based the style of this site on tom.preston-werner.com (source). It has been heavily modified since then.