Simple Questions Should Have Simple Answers

Accepted Session
Short Form
Scheduled: Tuesday, June 18, 2013 from 4:45 – 5:30pm in B201


What happens when a project begins to embrace the philosophy that simple questions should have simple answers? Q: Simple to whom? A: Simple to the person asking the question. "Simple questions should have simple answers" has given me a lot of design clarity in my projects. I hope to convince you of its beneficial effects.


If a developer ever says “it’s really simple”, run and do not look back.

Developers often throw around terms like “easy” and “obvious” but what do they tell them about what to do to make something “easier” and “more obvious”? What does it tell them about whether somebody else will find something “easy” and “obvious”? Not a lot.

Giving simple questions simple answers tells how to take action to make things easier and more obvious to the casual user. Embracing the task of providng simple answers rejects the fallacy that complex implementations mean complex answers. It creates a new relationship of respect between the user and the developer; a good user can ask a simple question illuminating what people want to do, and a good developer fulfills the user’s desire for a simple answer.

  • What does it mean to be simple?
  • How do you find it?
  • What are its benefits?
  • What happens when you don’t seek simplicity?

Speaking experience

Schwern has 14 years experience speaking at technical and Open Source conferences including Open Source Bridge, YAPC::NA, YAPC::Europe, Linux Conf Australia and OSCON.

* "Git For Ages 4 And Up":
* "How To Report A Bug":

This is a new talk.


  • Schwern round tuit oscon 2005


    Schwern has a copy of Perl 6, he lets Larry Wall borrow it and take notes.

    Schwern once sneezed into a microphone and the text-to-speech conversion was a regex that turns crap into gold.

    Damian Conway and Schwern once had an arm wrestling contest. The superposition still hasn’t collapsed.

    Schwern was the keynote speaker at the first YAPC::Mars.

    When Schwern runs a smoke test, the fire department is notified.

    Dan Brown analyzed a JAPH Schwern wrote and discovered it contained the Bible.

    Schwern writes Perl code that writes Makefiles that write shell scripts on VMS.

    Schwern does not commit to master, master commits to Schwern.

    SETI broadcast some of Schwern’s Perl code into space. 8 years later they got a reply thanking them for the improved hyper drive plans.

    Schwern once accidentally typed “git pull —hard” and dragged Github’s server room 10 miles.

    There are no free namespaces on CPAN, there are just modules Schwern has not written yet.

    Schwern’s tears are said to cure cancer, unfortunately his Perl code gives it right back.