When I started as a programmer, technical matters had the most weigh of my interest, but the more I advance in my career the more I see social and humane aspects of software development as more important than pure technical ones. Some of these aspects turn out to be about dealing with others, having an always-tuning process that fits in your organization, to have a good empowerment policy and stuff like that, probably I am missing a lot of other aspects, but the idea is that not everything is just coding ...

Here's a couple of links to share while consuming the Internet :)

A way to keep track of what you've learnt is to keep a learning log like this one, so you store the real interesting things that helped you in some way in a search-able log. Another learning technique is to talk to someone else about a new thing you just discovered, that would normally make different points of views to show up about the same subject that you haven't though about before. That interaction will make the whole new stuff you've learnt to cause a deeper impression in your brain and will help your memory to remember it later

High IQ != Smart. IQ tests can measure our analytical thinking. But "we process information in two different ways, one is intuitive and spontaneous; the other is deliberative and reasoned". Our IQ can't predict which way will we go on while making a decision given an specific circumstance, this explains why intellectually-able people make fool decisions. The link provided in Slashdot gives us advices on how to not make a quick-and-bind mistake