[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.
Wanted: Ruby on Rails Developer at New Relic (Portland, OR). See this and other great job listings on the jobs page.

Joel on Software

2002/02/06

by Joel Spolsky
Wednesday, February 06, 2002

TechInterview: "I have a black triangle, a white triangle, a black circle and a white circle..."

These classic problems are reported in [Shafir 1994]. Read it if you can get your hands on it. The interesting thing for us as programmers is that certain types of logical thinking are inherently hard. In particular, most people will stop working through a problem when they get to a disjunction, that is, a point on the decision tree where you need more information. This becomes especially interesting when you don't actually need the information because the result would be the same in any case. But there is something that makes most people unwilling to go past uncertainty points in problem solving anyway. Good programmers usually overcome this problem. It's a critical skill in debugging -- we don't want to waste time investigating areas that could not possibly cause the bug. This might be one of those interesting brain-properties that distinguishes great programmers from everyone else.

Shafir, Eldar. (1994): Uncertainty and the difficulty of thinking through disjunctions.  Cognition, 50, 403-430.  (Reprinted in J. Mehler & S. Franck (Eds.), Cognition on Cognition, Cambridge, MA: MIT Press, 1995.)


College students: my company has paid summer internships in New York City, including free housing, free lunch, and the chance to develop software people will really use, with great mentors on interesting projects. Don't miss this chance of a lifetime. We only have a few spaces and they always go fast, so apply today.

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.



About the author.

I’m Joel Spolsky, founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make FogBugz, an enlightened project management system designed to help great teams develop brilliant software, and Fog Creek Copilot, which makes remote desktop access easy.

© 2000-2009 Joel Spolsky