Humility is at the heart of every problem solver

Problem solving is inherently difficult. When it’s easy enough — you’re thirsty, and there’s a big jug of water next to you — it’s not really a problem. If there’s no water around, well, there’s your problem. Go solve it. Hard, isn’t it?

Most problems are not only difficult (like quenching your thirst with no water), but also difficult to define. Understanding the problem space — what constitutes all the parameters needed to solve said problem — is often the real challenge.

For instance, to me, the real challenge in programming isn’t writing code to implement a solution, it’s deciding what encompasses the entirety of the problem space. What are all the components that need to be solved before the original problem solves itself?  Those questions take a lot of blood, sweat and tears to answer. And so, humility lives at the core of every great problem solver.

The first time I built an authentication system, it seemed pretty simple. Login form. Username. Password. Verify. Approve or Reject. Until I realized that authentication might also entail:

  • Forgetting your password
  • Checking a password for strength
  • Hashing passwords in a database
  • Ensuring the guy on the other end isn’t a robot
  • Creating reset links with an encrypted token
  • Resetting profiles
  • Building in security questions
  • Building the right amount of flexibility in security answers
  • Letting you use your username OR email
  • Storing the right information in a cookie
  • Allowing 5 attempts before locking out a user
  • Building a workflow for unlocking said locked user
  • …and the user still hasn’t even logged into the app.

The problem space is much larger than two fields and a button.

The same can be said about any other aspect of life, including politics, religion, or business. And the hot button business news of the day seems to be Yahoo’s new policy on working remote.  Because you can’t anymore.  And everyone’s taking sides.

But, if you’re really analyzing the problem Marissa Mayer is facing — a 14,000 person company whose identity was lost years ago, whose name you no longer think of when you say the words “Search” or “Media”, who is no longer anywhere near the list of company-names-turned-verbs (I mean, I even Hulu’d recently….) — you’ll realize that she has a problem that’s slightly harder than building an authentication system.  The solution requires a whole series of small and big adjustments, and perhaps having teams all work IRL is a temporary step toward it.

Quite frankly, I have no clue what the problem space at Yahoo! is. On any given day, my company has 50% of its employees working remote.  But, the Venn diagram between We Are Mammoth and Yahoo! intersects, only tangentially, at the word “company.” I don’t work at Yahoo!, I don’t know what the culture is like, I don’t know how productive they’ve been, and I’ve never managed a 14,000 person company.  So, I won’t trivialize the intention behind Mayer’s decision, like The Economist does:

Plenty of evidence suggests that letting employees work from home is good for productivity…It can reduce companies’ costs…a lot of people don’t seem to work while they are at work: last year J.C. Penney, an American retailer, discovered that a third of its headquarters’ bandwidth was taken up by employees watching YouTube videos.

True as that may be, there’s also plenty of evidence suggesting working from home is hard for a lot of people (like me) who need mental separation between home and work.  Plenty of people also watch YouTube videos at home while working too.  As for Yahoo’s people?  I couldn’t tell you. I’m just guessing like everyone else.

I also won’t suggest that the decision is a flawed one because it only affects a minority of workers, like DHH does.

In other words, Yahoo is a rudderless basket case, so it must be because of those 2-4% of the work force who are “goofing off”. Heh.

Well, perhaps it is true. It’s been noted by some Yahoo! employees that people were abusing the WFH policy, were working on other projects on company time, and weren’t checking in. If you’re one of the vast majority of workers coming to work for Yahoo! each day and you can’t regroup with your boss or co-worker because they aren’t in the office or aren’t available online, suddenly the impact of the 2-4% minority is creeping pretty deeply into the productivity of the majority.

The reason I won’t be so quick to judgment is because, as a long time problem solver, I know that problems of any complexity or exponentially more complex than they first appear.  The problem spaces are vast and the solutions might not only be myriad, but ever-evolving.

I know enough about Yahoo’s problem to tell you that Marissa Mayer probably has a way better understanding of the problem space than I, or DHH, or someone at The Economist does.

Want to read more by Ka Wai Cheung? Ka Wai’s new book on the modern-day programmer, The Developer’s Code, is available in eBook and print. You can follow him on Twitter @developerscode.

Recent Posts