Boring Problems Need Attention Too

It was a busy summer day in June. I was trying to solve what seemed like a simple problem: counting the number of words in the first chapter of the American novel, Moby Dick. I decided to try out four different text editors, Google Docs, Microsoft Word, Grammarly, and Apple’s Pages

The results surprised me. Each of the four text editors gave me a different word count:

  • Google Docs: 1655 words
  • Microsoft Word: 1663 words
  • Grammarly: 1648 words
  • Pages: 1679 words

So, which result do I believe? 

This variation in result may not sound important, but it might depending on what you do. Imagine the variation in your earnings if you are a writer or editor who is paid by the word count? 

The variation in results is tolerable in some cases. But for fundamental features in products, that are in the market for decades, results should not be imprecise but precisely correct. 

But maybe counting words is not an easy problem to solve. When I asked several programmers, most of them considered it not a challenging problem but a simple and boring one. They thought the problem was a straightforward one. They thought this problem had already been precisely solved. Yet, the confusing results above paint a different story. 

It was a surprise that all text editors did not give one identical solution; all gave a different word count. It was a surprise because apparently this is not a new problem. At least one of the companies has been working on its text editor since the 1980s. 

If companies with great engineering talent have been working on this problem for so long, why has it not been solved precisely? One could argue that it is because the focus of engineering teams is sometimes more on fancy problems. And it is because of such focus that people confuse “simple” with “easy” or “boring.” But boring problems are not always easy, just as exciting problems are not always hard. And boring problems are not always low-impact, just as exciting problems are not always high-impact. 

Solutions to fundamental problems should not be wrong. Solutions to fundamental problems, however boring, need to be correct. Correctness is a virtue. Incorrectness is disorderly. It leads to confusion. It leads to losses.

When millions of people use some software, built over many years, at hugely profitable tech companies, then these companies should consider it their obligation to prioritize correctness. 

Boring problems need attention, too.