Skip to main content
Wondering Willow
← All posts

What Can Sherlock Holmes Teach Software Engineers?

Mark Nenadov

· 3 min read

The Man, The Myth, The Legend

Arthur Conan Doyle’s legendary Sherlock Holmes looms large in my mind when I think of the intersections of literature and software engineering.

As is often the case with literature, the connection is better felt than explained, but let’s continue. It’s not hard to see that Holmes provided some relatively obvious archetypes for engineers. His problem-solving method seems an early prototype of the debugging that fills so many of our hours.

And, no doubt, eccentricity at his level is not entirely rare in our circles. In a way, Holmes barely understands how to be a conventional human, ordinary humans puzzle him deeply. Yet in another, he undeniably understands human behaviour, their follies, and how they tick.

Perhaps, though, it’s more the study of human artifacts that really gets to the core of what Holmes brings to the table. His trailblazing in new frontiers feels awfully familiar. For instance, his contributions in forensics, ciphers, footprints, and other domains all have approximate parallels in our field.

There is a certain richness in the presentation of Holmes. He is complicated, just like us and our systems. In the Holmes canon, we come to understand that being exceptionally good at something usually comes with some complexities, flaws, and gaps.

A Student, Always A Student

We can also learn from Holmesian playfulness, his joy in the chase for its own sake. And yet, this playfulness never diminishes his stature as a serious student of his field.

A post on this subject put it well:

Holmes is the consummate student of his field

The “consummate student”. That reminds me of a quote from the professional baseball pitcher David Cone:

Pitchers are students, always students

Pitchers study to an obsessive degree. And likewise, we could say Sherlock Holmes was an obsessive student of his field. A student, always a student. And Software Engineers should be students, always students too.

Strange Effects And Extraordinary Combinations

Sherlock Holmes brought rationality and deduction to places that seemed to be at the edge of rationality and deduction. Quite often, he marvelled at whether he was indeed at that edge.

I recently was introducing a couple of the Sherlock stories to my son, and I stumbled on a great Holmes quote:

For strange effects and extraordinary combinations we must go to life itself, which is always far more daring than any effort of the imagination.

Without diminishing one bit of the importance of creativity and imagination in software engineering, I think there is enormous value in being curious and observant of what is right in front of us. There is, after all, almost always more hidden in plain sight than you can imagine. Holmes models the pursuit of that well.