Learning tends to come from acquiring the knowledge of topics that we're not familiar with. This is why as kids we all went to school. At a young age we have limited knowledge of how to read, write and count. Through years of education and study we eventually acquire enough knowledge to allow us to learn and understand each of these topics. We can specialise in this new found knowledge by going to college or university or moving into the workplace and getting a job.

What about what we already know?

There I was this morning setting up a new database for an application I've been working on for a client when I noticed that the application's scripts to setup the database wouldn't run due to a dependency on data in the database that was always assumed to be there. Simply put, I couldn't create the database from these scripts.

So my knowledge of the application has changed and I have learned something new. What I have learned isn't a new topic, just a tiny part of a topic I already know. My experience with the database scripts has taught me that basing the build process of the database on data that is already assumed to be there is wrong.

While we tend to seek out to learn from new topics, we forget that we can also learn from experiences. At time we might think that the knowledge we have is correct, but it's only through experiences that we find out whether it is correct or not. In this case I have raised my concerns with the client about the build scripts for the database and proposed a solution to correct it in the future.

Always be learning. Whether it's from new topics we know nothing of or by fine tuning the knowledge we have through experiences.