Cognition is defined as “the set of all mental abilities and processes related to knowledge: attention, memory & working memory, judgement & evaluation, reasoning & “computation”, problem solving & decision making, comprehension & production of language, etc.” Up until now in the Information Age, we have built machines that have automated and processed data in the form of inputs and sensors and information in the form of what that data represents. We went up the stack from data to information. For the most part all information was made for human consumption. Now we are starting to automate cognition with Siri, Cortana and Watson. As a society and set of computer programming professionals, we’re moving up the stack once again to form software in a way to automate cognition. In a way, if we were to create a cognitive processing system with an infinite recursive function to get information, judge and act and automate the changing of the software based on reflecting on the action, then we will have created a very convincing cognitive machine that would learn.