Feb 1st, 2008 | People
New Scientist published three interesting articles related to the human psychology. This post tries to apply these findings to the programmer’s mind.
Should a programmer trust gut instinct
In the article The subconscious mind: Your unsung hero, author argues that contrary to common beliefs non-conscious thinking is better in some cases than rational, conscious thought:
- where people have to make difficult choices based on large amounts of hard-to-assess information. Subconscious thought processes allow us to integrate complex information in a more holistic way
- in problem solving, verbalizing what they are doing has no effect on people’s ability to solve analytical, mathematical or logic problems but actually hinders performance on insight problems, such as solving a riddle
- subconscious thinking is the source of our inspiration – it is central to creativity. In highly creative people subconscious information is more likely to overspill into consciousness, giving them richer mental resources from which to make creative connections
Creativity and problem-solving are required for any descent programmer. This article shows that these skills are dependent on quality of our subconscious thinking – gut instinct. Can we consciously improve our subconscious thinking? Yes, and the best way is getting experience and making many mistakes. Certainly, it will work only if you learn from them. As famous quote says: “Good judgment comes from experience. Experience comes from bad judgment.” Especially it is true in the software development.
Short Summary: trust and develop your gut instinct.
How a programmer could keep focus
Many of us struggle with distractions during our work. They really hurt our productivity. Psychologist Nilli Lavie says in the article Focus feature: Keeping your mind on the job:
You don’t have voluntary control – you can’t say ‘stop’ to a ‘distracter’. If you wish to ignore something, that doesn’t mean that you will succeed.
Surprisingly, he found that when a more visually intensive task “loads” the brain’s attention, we become increasingly blind to distractions, and our performance on the task will improve: reaction times get faster, and error rates drop. That means that the harder you are forced to concentrate, the less likely you are to be distracted.
Therefore, conclusion is simple for programmers – a challenging task will force you to ignore distractions, a boring task will make you very susceptible to them.
Short summary: load your brain to avoid distractions
Procrastination in programmer’s life
Another productivity killer is procrastination. Piers Steel at the University of Calgary in Alberta found a formula for procrastination:
Utility = E x V/G x D
This calculates how likely you are to do something immediately – the task’s utility – by taking into account the four key variables: how confident you are of succeeding in the task (E); how pleasant you perceive the task to be (V); how easily distracted you are (G); and how much time will elapse before the reward for completing the task arrives (D).
He suggests strategies to cope:
- Make a firm commitment to your boss or partner to finish a task by a certain time.
- Strip your workspace of all distractions.
- Get a good night’s sleep and try tackling the most unpleasant and difficult tasks early in the day.
- Set a series of realistic goals.
- Promise yourself a reward for each goal that you meet.
- Believe in yourself.
- Outsource your motivation. Get someone else to regularly goad you into action.
I can promise – you’ll find even more strategies in various sources. I had a related post too: 5 steps to cooperate with you unconscious mind. But after all, you’ll get results only if you have desire to improve and change yourself. As Plato said: “The first and the best victory is to conquer self.” Chinese wisdom adds: “A journey of a thousand miles must begin with a single step.”
Short summary: it is possible to fight procrastination… if you really want