Andy Hunt, one of the authors of the famous book The Pragmatic Programmer has also written the book Pragmatic Thinking and Learning.
Pragmatic Thinking and Learning lists some interesting models and techniques that can help in the process of learning.
A few of them I will mention in this article.
The Dreyfus Model is a model of how learners acquire skills through formal instruction and practising (see Wiki). It is divided into 5 levels:
- Advanced Beginner
Dreyfus is applicable per ability (skill)
- They have little or no prior experience in the ability area.
- They are not concerned about learning the details. They want to achieve the goal asap.
- They don't know how to respond to errors, therefore they're very vulnerable to confusion when something goes wrong.
Novices need recipes.
- They can run away from a set of fixed rules.
- They can try to do some things on their own, but still have difficulties to solve problems.
- They want information quickly.
Advanced Beginners don't want to have an overview.
- They can develop conceptual models of the problem domain.
- They can work with the conceptual model effectively.
- They can solve problems.
- They plan acts based on previous experiences.
- They still have difficulties to find details when solving problems.
Competent professionals can solve problems.
Competent professionals are good to have in a team. They can solve problems, help beginners and do not disturb much the experts.
- They need an overview.
- They will try to understand the concepts around the skills.
- They get frustrated with simplified information.
- They can review how they have done things in the past to have a better performance in the future.
- They can take advantage of feedback. This is a big difference compared with the previous stages.
Proficient professionals can self-correct.
Proficient is more of a "junior expert" than an "advanced competent".
- They have a great set of experiences to be explored and applied in the proper context.
- They write books, articles, make speeches in seminars. They're wizards or gurus in the modern world.
- They work based on intuition, not reasoning.
Statistically, there aren't many experts - probably something about 1 to 5% of the population.
Use rules for novices, intuition for experts.
The distribution of abilities.
You have to know what you don't know.
You should have to work on a plan for about 10 years to become an Expert, regardless of the area or subject.
Just to work on the area or subject for 10 years may not be sufficient. You need to practice. The cognitive scientist K. Anderson Ericsson says that the practice requests 4 conditions:
- You need a well-defined task;
- The task needs to be hard, challenging, but doable;
- You need to be able to get feedback to improve;
- You need to have the possibility to act to repeat and fix errors.
A group is as good as its weakest member.
The brain can be divided into 2 parts - Right and Left.
The book treats them in 2 different modes - Rich and Linear.
- Time based
- Not verbal
- Not rational
The book claims it's important to improve the mode R to achieve intuition, one of the skills found in experts in the Dreyfus Model.
It lists a few things that can be done to help to develop the mode R:
- Take notes of all ideas you have
- Create metaphors
- Write freely without thinking every day
- Go out for a walk to clear your mind
- Practice yoga, meditation, do breathing exercises
- Practice martial arts
We have habits, but ingrained habits are not the best thing for our brain. We do NOT make new connections repeating habits and we become blind to new alternatives.
A few things that are easy to change to try to help the mode R:
- Ask for a different dish at the restaurant
- Cook something new
- Visit a place you have never visited before
- Read a book or watch a movie from a different genre (e.g. if you like comedy, try fiction)
The human mind is not open-sourced. We cannot access its code and try to fix the bugs when they happen, but we can try to understand it better to know how to manage the failing processes in our thinking.
Let's check 4 categories of problems
- Cognitive Bias: How our behaviour can deviate.
- Generational Affinity: How our colleagues have influence over us.
- Personality Tendencies: How our personality influences our thoughts.
- Hardware Bugs: How older parts of your brain can overlap parts more intelligent.
There are many cognitive biases. Wikipedia lists about 90 common cognitive biases.
Below there is a very short list of examples:
- Attribution Bias: The tendency for people to want to believe that the world is fundamentally just, causing them to rationalize an otherwise inexplicable injustice as deserved by the victim(s).
- Confirmation Bias: The tendency to test hypotheses exclusively through direct testing, instead of testing possible alternative hypotheses.
- Egocentric Bias: The tendency of people to see their projects and themselves as more singular than they actually are.
Have you ever thought about why you value the things that you value?
Below a list of different attitudes:
- Take risk vs Do not take risk
- Individualist vs Team player
- Likes stability vs Likes freedom
- Value family vs Value work
Different generations have different values and different attitudes.
The above are wide generalizations.
- GI, 1901-1924
- Silent, 1925-1942
- Boom, 1943-1960
- X, 1961 to 1981
- Millenium (or Y), 1982-2005
- Z, 2005-???
Nowadays, around 2010, the workplace has all these generations present at the same time, interacting with each other and coexisting (sometimes not).
Not everybody shares the same values you do and it doesn't mean that you are right or wrong.
You need to fit in the context you are in.
Hell is other people - Jean Paul Sartre
Your personality affects your values and perceptions in addition to generational affinity. This is how you were born and the baggage you carry with you - your own context of personal attitude, your temper.
There is an introspective self-report questionnaire indicating differing psychological preferences in how people perceive the world and make decisions. The test attempts to assign four categories: introversion or extraversion, sensing or intuition, thinking or feeling, judging or perceiving.
You can try it on the internet. There are many free surveys that you can answer to see your type.
You cannot change people.
There are different ways to develop a solution and commitment. The only thing that certainly does not work is to try to change the temper of another person to be the same as yours.
We are natural imitators.
If you are close to happy and optimistic people, this tends to improve your humour. If you are going out with depressed and pessimistic people that feel like they are losers, you start to feel a depressed loser as well.
Attitudes beliefs, behaviours, emotions - they are all contagious.
When you are completely convinced of something, as yourself why.
How do you know?
Make good questions:
- How do you know that?
- Who said that?
- How exactly it works?
- Compared to what?
- Does it always happen? Is there any exception?
- What could happen if...?
You need continuous goals. You need to get feedback to understand your progress and approach everything in a more specific way than taking a course once a year in an uncomfortable class room.
You need to be careful if you don't know where you are going, because you may never get there.
It is important to create a SMART to achieve your goals.
In the book Pragmatic Programmer, the author has suggested that the reader should consider his or her skills and talents like a knowledge portfolio. And like any portfolio, it should be managed over time.
Model your knowledge portfolio with the same care that you would manage an investment portfolio.
The time cannot be created or destroyed, just allocated.
There are many important aspects involved when maintaining your knowledge portfolio:
- You need a concrete plan.
- You need to diversify.
- You need to make an active investment, not a passive one.
- You need to do it on regular bases.
You need to commit to investing a minimal quantity of time regularly. Create a ritual, if necessary. Go to a place you can concentrate on. Not all sessions will be equally productive, but by scheduling regularly, you will see the benefits in the long term.
Studies have shown that study groups are a good thing.
Reading groups are not toxic.
Form study groups to learn and teach.
- Summarise material.
- Use mind maps.
SQ3R is a reading comprehension method named for its five steps: survey, question, read, recite, and review.
The method offers a more efficient and active approach to reading textbook material.
A mind map is a type of diagram that presents topics and how they are connected. Its creation is a technique widely used to improve creativity and productivity.
The main idea can be written in the middle of the page and the links will be written around, connected by arrows or just lines.
Write: To document is more important than the documentation.
Writing helps you to have a better understanding of the topic you are writing about.
Another way to have a better understanding of a topic is to teach it to another person. Explaining to another person makes you organise the ideas more clearly in your head.
- Build to learn, not learn to build.
- Fail effectively with better feedback.
- Establish your neural paths for success.
Give yourself permission to fail, this is the key to success.
Three ways to better manage your mind:
- You need increasing focus and attention.
- You need to manage your knowledge.
- You need to improve your current context.
The book cited a study that has shown that practising meditation can improve the capability of a person the pay attention throughout the day.
Creativity does not work like a time clock and usually doesn't present good results when under pressure. You need to abandon a problem with the problem in your mind, letting it aside for a while.
Take a walk to clear your mind to help to solve a problem.
Multi-tasking affects heavily productivity. A study has found that on average, multi-tasking can cost from 20% to 40% of your productivity (see the article).
It takes 20 minutes to reload a context.
It means that if you're working on a task and gets interrupted, you can take an average of 20 minutes to get back to the normal pace. Now, think about how many interruptions you can have in a day - a great portion of our day will be wasted. You can explain why programmers, in general, hate to be interrupted.
Another study has observed that, if you constantly interrupt your task to check or answer text messages, your IQ drops by 10 points.
You can try to organise your tasks in an order that the context between them has minimal changes. This can enhance productivity.
Use many monitors to avoid changing contexts.
Put some effort to avoid your focus to leak to other spaces:
- Tasks list
- Chat app
- Start with a plan: get some time and fight for it.
- Inaction is an enemy, not the failure: Failing is not the enemy, not doing anything is.
- New habits take time: It takes at least 3 weeks doing a new activity before it becomes a habit. Maybe even more. Give it a chance.
- Take small, next steps: Start with something easy. Define a plan and a goal.
- Create a P.I.P. (Pragmatic Investment Plan) and define goals using SMART.
- Find out where you are in the Dreyfus modal (novice - expert) in your profession.
- Keep a notebook with you. Take notes, keep your thoughts floating.
- Start a blog.
- Take a walk to think over things once during the day.
- Get a second monitor.
Take the wheel, you cannot drive in the automatic mode.
On the last page of the book, surprisingly the author asks the reader to send him a Mind Map with his learnings of the book.
Below, I am sharing mine.