Note on learning: Learning is not memorizing information (which is already present, compiled and structured by someone) – it’s making sense of patterns; gaining understanding. In school, you read text books, listen to lectures, participate in workshops, and so forth – to see the patterns, understand the system. In a software project, you observe, try to make sense of what you see, create something based on your assumptions, and release it to get feedback. Then the cycle starts over, based on the feedback and further observations.