Be surprised
You only learn when something is outside your mental models
When I am developing software I build an internal mental model of how I expect things to work. As I learn more I tweak that model - or if it is not working as I expect then I tweak the code to match the model I have. Over time that model grows and evolves.
Read more ...