The Hardest Problems

Recently my friend and colleague Jack Danger tweeted this question:

We engineers say we want to work on “hard problems.” Know what’s the hardest problem, though? Building a product that’s worth a damn.

Jack Danger (@jackdanger) January 18, 2014

To which I responded:

@jackdanger Take it a step back further: the hardest problems aren’t solved by “products”.

Allen Cheung (@allenmhc) January 18, 2014

I think it’s worth a bit of elaboration, though outside the confines of 140 characters.

Hey, I’m not dense: I get where Jack’s coming from, in that engineers – of the software persuasion – are motivated by perceived difficulty and inefficiencies. Whether it’s in specific areas of computer science1; industries which have shown themselves resistant to technological disruptions; or computing concerns that come from complex systems and scale and whatever other criteria that make the problem uncommon in everyday life, the best and brightest people jump over each other for an opportunity to prove that they can come up with a solution.

And sometimes, a “product” is can be that solution. In the widest sense, products are offerings by a person or a company that look to solve problems, and they’re the proxy to that solution. I’m typing this on an Apple product, posting it via a Comcast product with energy coming from a PG&E product, made possible by various government “products”2. The problem of me not able to communicate my thoughts on this subject has been solved by a stack of products, certainly.

But many problems defy this kind of neat packaging. This article on the problem of aging Asian parents resonated with me: it’s a cultural issue, accelerated by waves of immigration and demands of the modern workforce, compounded by a generational gap in understanding and the minority status of the people involved. There is no product that can solve this problem; no gadget, no law, no subsidy or service or lines of code which can tackle something so complex and layered. If this problem can be solved, it may be through the side effects of a hundred other efforts which may be eased with passing of time.

It’s this recognition of the difficulty of the problem and thus the enormity of a solution which makes Bill Gates’ philanthropy so impressive. He’s one of the few tech luminaries who has embraced the hardest problems, and in finding solutions has not simply retreated into smashing it with a hammer of technology.

So my visceral reaction was less about discounting people’s genuine interests in seeking out challenging problems. It’s more a reminder that, in the grand scheme of the world and its inhabitants and their problems, what we – as engineers and product makers – can truly solve via our technology and work may only be a small subset of humanity’s woes. We should not erect facades of change and disruption, even if tech is playing a major role in shaping the modern economy.


  1. Talk to enough new CS grads and you’ll get sick of hearing how they’d like to try their hands on something cool and mysterious like machine learning.

  2. Stretching the English language, I know.

Share this article
Shareable URL
Prev Post

Flowers for Algernon

Next Post

Herding Software Engineers

Leave a Reply

Your email address will not be published. Required fields are marked *

Read next