Fortunately, it's not too big and not too mind-pressing, so it did not fall a victim to my occasional bibliomania (yes, I've bought a few other interesting books, some of them still not finished, such a shame). It was a good read, overall.
Sometimes very insightful, even though sometimes it was giving impression of the text being added just for the sake of keeping the format of the book (which otherwise could be a good article).
The style is very accessible (which is pragmatic trademark), there are anecdotes and humorous remarks here and there, which makes for easier reading.
...a controversial study done in the United Kingdom noted that if you constantly interrupt your task to check e-mail or respond to an IM text message, your effective IQ drops ten points. By comparison, smoking a marijuana joint drops your IQ a mere four points. Whatever you do, please don't do both.However, some things are abused a bit, in my opinion. For example there is too much fuzz around Dreyfus model, or around brain's L-mode/R-mode. To the extent, that sometimes it gives an impression of the marketing speech, rather than revelation, which most of the pragmatic bookshelf books traditionally are. Still, I think the book was a good money investment. Interesting points I've got from it:
- There is no golden rules to follow in the software development, everything should be considered in the context, i.e. which systems are there, how they interact (in explicit or hidden ways).
- The role of "subconsciousness" in the problem-solving should not be underestimated (that's w.hat is called "R-mode"), as it tends to see "the big picture", and has generally access to much bigger amounts of knowledge.
- Experts, the ones which are true masters of their profession, rely deeply upon "intuition" to take decisions. Intuition, as ephemeral as it might sound, is nothing else as the ability to access all the knowledge and experience packed into non-linear way deep inside one's mind.
- One does not just "switch to R-mode" to solve complex problems. It's proper interaction/switching between L/R modes what is important.
- One can "train" oneself to operate more efficiently on the knowledge access inside the brain (this includes developing of the R-mode).
- It's not only that learning constantly is important, also the way learning happens matters a lot. There are ways to make cognition more effective, such as mind maps, collaborative learning, exploration, playing, engaging metaphors and analogies etc.
- It's important to maintain diversity in the personal skills, trying to learn thing which might seem "irrelevant" to one's profession.
- Stress kills cognition, positive thinking is important for being able to use the brain effectively.
- Failure is important and inseparable part of the learning. One has to embrace failure as the opportunity to gain the experience and to stretch the boundaries of the cognition. On the other hand, it should be safe and non-expensive to fail as often as possible (because stress kills cognition).
- In the 5-tier Dreyfus model (novice, advanced beginner, competent, proficient, expert) applied to the programming skill, most of the people are on the advanced beginner level.
- Software documentation is not as important, as documenting process.