In my opinion, asking questions is the best way to learn. But two of the things that can be really difficult for me are 1) knowing which questions to ask, and 2) knowing when I’ve gotten an answer.

I have an untestable theory, which is that no matter what our question is, God always answers it. The reason we don’t always seem to get those answers are that the answers are so complex that our preconceptions and unbelief block us from correctly translating the answer from God’s language into our language; the idea is one that we cannot grasp. I firmly believe that God aches to teach us, and so any question we ask, He answers. Unfortunately, our naïveté and ignorance preclude us from receiving the answer.

what man is there of you, whom if his son ask bread, will he give him a stone? Or if he ask a fish, will he give him a serpent? If ye then, being evil, know how to give good gifts unto your children, how much more shall your Father which is in heaven give good things to them that ask him? (Matt 7:9-11)


It is an unwritten rule that when you’re learning how to write software, one of your very first lessons will be on how to make a peanut butter and jelly sandwich. The instructor starts at a table with everything needed: a loaf of bread, a jar of peanut butter, a jar of jelly, a knife, and a plate. The student is then required to provide the exact instructions on how to use all these things to make a sandwich.

The instructor, in the course of receiving the instructions, tends to deliberately misinterpret them. “Open the bag” results in tearing open the bag of bread, scattering bread pieces everywhere. “Using the knife…” means the instructor uses the handle and not the blade, etc. There are some good videos on YouTube illustrating this exercise. They’re pretty entertaining.

The purpose behind this exercise is to reinforce to the student that all the questions and commands that we’re used to asking and giving are extremely “high level” commands. The simple command “open the bag of bread” is actually an incredibly complex command that results in precise arm, wrist, and finger motions, subtle use of force, fusing sensory input from at least three different sources (sight, sound, and touch), and even adherence to a myriad of social conventions. For a programmer, it is vital to understand that a computer understands none of these things. At their lowest levels, computers take numbers and do simple numeric operations on them: adding them together, moving them from one spot to another, etc. That’s it. (Interesting trivia: your typical iPhone only understands a couple dozen fundamental questions, and most of those questions are just more-optimized versions of other questions)

Over time, the novice programmer learns one of the most important aspects of programming, called decomposition. Decomposition is the process of taking a problem and breaking it apart in to its fundamental components, such that the individual pieces can be understood, and the combined results can be rejoined together to produce the solution to the initial problem.

When asking questions from God, we need to decompose our questions so we can ask the truly fundamental questions.


When learning to communicate with the divine, we are often instructed to ask “yes/no” (boolean) questions. The idea is that when the answer can only be “yes” or “no”, it should be easier to divine the answer. This is usually true, but sometimes we don’t decompose our question enough to get a clear answer.

Asking a “yes/no” question is more than just asking a “can…” or “should…” or “will…“-based question. As an example, if I were to ask the question: “should I ask [insert partner’s name] to marry me?”, it may superficially appear as a boolean question. However, there are still many possible responses possible. “Yes” and “no” are certainly possible answers, but so is “maybe…” and “not yet”. Since the possible answers includes more than just “yes” or “no”, the question needs further decomposition. Decomposing the marriage question might involve asking things like “is there a possible future in which [partner] and I are married?” or “are there conditions or circumstances that need to occur before that could happen?”, etc.

As we learn to decompose our questions in to more and more fundamental questions, we gain several valuable skills, such as:

  1. We learn to recognize the voice that is giving the answers.
  2. We learn to “get to the heart of the matter”, which leads us to better understand our true desires.
  3. We learn to recognize the nuance that exists in personalized answers to questions.
  4. We learn to consider all the possible answers and what the ramifications are.
  5. We learn how to recognize and interpret more and more complex answers.

Who wants a sandwich?