
Americans born after 1980 have every right to be unhappy about some aspects of the world they inherited. In particular, they have recently drawn attention to the way previous generations damaged our planet’s ecology and created an irrational and unsustainable system for funding higher education. That’s helpful. Identifying problems is the first step toward solving them.
Starting millennia before the dawn of written history, every generation has had a just cause to gripe about the one before it. Megafauna extinction anyone? Due to accidents of history, the Baby Boom generation (born roughly between 1946 and 1964, depending on who you…
I’m 47 years old and something strange is happening inside my mind. The glue that attached memories to their timeline became brittle as the sun set and rose and set again. A gentle breeze pulled them off and carried them wherever it fancied. I’m 47 and I’m also 17. I’m a middle-aged engineering manager and also that kid in the poorly fitting straw hat trying to convince you that the large Coke will make you so much happier for only twenty cents more.
The story that follows came from an ancient CD that I cut 20 years ago from even…

How many kinds of testing are there? What is the difference between a fake and a mock? When indenting code, should you use spaces or tabs? What are the three characteristics that distinguish an integration test from a system test?
Ask a veteran software developer about these interview questions and you might get an eye roll, a rant, or even a meditation. If you’re a new developer interviewing for your first job and you hear a question like one of these, I have some veteran advice for you: resist the temptation to search your memory for the matching textbook page…
Another day, another major leak of sensitive personal information. This time, poor security practices at Orvibo, an operator of a smart home platform, spilled identities, passwords, physical locations, and activity logs associated with millions of devices. This made me walk through my mental checklist and ask myself whether I’m vulnerable to a breach like this, what the impact might be, and what I’m doing to protect myself.
My specialty is software testing, not cybersecurity, but I work for a cybersecurity company and have spent enough time managing the intersection and studying vulnerabilities to know that you don’t need to be…
I wasn’t quite sure what my new boss meant but I was almost sure that I disagreed with what he said. It was glib. It was facile. It ignored nearly a century of quality engineering plus recent advances in capability maturity.
Jerry McDonald, VP of More Things than Could Fit on a Business Card, became my boss after a reorganization left me staring up through the hole where we once had a software test manager. I mention Jerry’s real name because 1) it lends a certain irony to his advice and 2) he deserves public recognition for telling me something…
Nearly forty years into the coding game, I’ve had more embarrassing moments than I’d care to remember. Accidentally deleted the entire filesystem? Check. Re-implemented a free library badly? Check. Wasted months on nowhere plans for nobody? Check, check, and check. But one self-inflicted punch to the gut was so painful that I haven’t so much as whispered about it in fifteen years. Ready to take some pleasure as I expose it for the first time? Read on.

I was working in a tiny shop as the sole developer of my company’s server-side software. I didn’t design this codebase. In fact…

Test system designer. Coder. Experimenter.