It’s not until we know where we want our story to take us, that we can begin to find the narrative to get us there. Not until we determine what type of image we want to capture that we can choose which lens to use. Not until we discover what program we want to write that we can start to lay down a code base that will deal with both the primary functionality and all of the interesting edge cases that life will throw at us.