Welcome to the international (English-speaking) blog of the Department of Computer Science at the University of Helsinki. Our blog invites views on research, education, student life, and other societal themes connected to our computer science fields. The intention is to build a forum as an open window for readers from inside and outside computer science. If you have any good ideas or articles to share on this blog, please feel free to contact us: cs-blog [ät] cs.helsinki.fi.
On Hammer and Nail
by Antti-Pekka Tuovinen
The other day, while commuting to work in the morning, I was filling in the crossword puzzle of the Metro paper. I almost completed the puzzle but there were still some words missing. No matter how hard I tried, I could not figure out the solution. I was sure I had filled in everything correctly so far and started to suspect there was something wrong with the puzzle itself. Then, in the evening, when I happened took the paper out again, I almost immediately spotted one mistake I had made and I also found the missing words quickly. It was as if I had seen the crossword with "new eyes". And this was not the first time this happened.
Some time ago there was a documentary on TV ("Aivojen automatiikka", episode 2, Yle) where they showed how the automatic processes of the human brain can play tricks on the conscious part of the mind. For example, in one experiment the participants had to solve a series of mathematical problems that were laid out with match sticks. They had to make the two sides of an equation equal by moving just one stick. At first, all the problems in the series could be solved by the same strategy, and the participants were able to solve the problems quickly once they learned it. However, the last problem in the series was totally different and the participants were really struggling when trying to solve it (some did not find the solution at all).
At this point of the experiment, the researchers leading the experiment dampened (by electromagnetic stimulus) the activity of the participants' brain's left frontal lobe and excited the right frontal lobe. After the treatment, the participants were able to find the solution for the last problem rather quickly. Creativity was increased by "turning off" a part of the brain! The researchers' interpretation was that the strategy that had worked so well previously was an impediment for solving a problem that did not fit the pattern. It seems that the brain does not like to give up solutions and solution models it has worked hard to develop and learn. I think my own experiences with crosswords are related to this - some times you just need to take a break and come back to a puzzle later to be able to find a way to solve it.
Computer programming and software design are cognitively intensive fields of human activity where there are many very different ways and techniques for framing problems and for developing solutions. It is both a blessing and a curse. When one goes through the hard mental process of mastering a certain language or style, the expertise thus gained may in fact reduce the ablility to appreciate alternative solutions. So, to somebody with a hammer, everything will start to look like a nail.
Well, what can we do about it? Should we do like Gyro Gearloose in Disney's Donald Duck comics (Pelle Peloton in Finnish) and put on a brain stimulating "thinking hat" when encountering a tough design problem or a mysterious bug in our own code that we "know" must be correct? Perhaps, but at least we should be aware that our brain might be playing a trick on us. We can then take a break and do something totally different for a while and come back later. Or we can try to seek advice from a different school of thought, for example, from a colleague with a bit different background and experience. It is also surprising how often it helps to just try to explain a problem to someone else.
In our professional development, we should be open minded and invest in learning different programming languages and styles. So, in addtion to a couple of hammers, there should also be a screwdriver and maybe a saw and a wrench in our toolbox. And finally, we should not just try to get over our mistakes but try to learn from them. Fred Brooks (a pioneer of computer architecture and software engineering) writes in his recent book "The Design of Design" ((c) Pearson Education, Addison-Wesley, 2010): "Success is dangerous for the professional designer. Failure stimulates analysis, scrutiny, re-thinking. Success stimulates confidence both in design techniques and in oneself. Both trusts may be misplaced."
photo from: larrybeacham.com
Comments
The CS Blog Task Force
Sini is a postdoctoral researcher and lecturer at the CS department, currently working on usable security in the Secure Systems group.
Aaron is doing his PhD in the NODES group at the CS department. His research focuses on mobile computing and energy efficient design for multi-interfaced mobile devices.
Ella is a PhD student in the Nodes group. She is interested in e.g. distributed algorithms, real-life data mining, clouds and ubiquitous computing.
Giulio is a Professor at the CS department. His area is Human-Computer Interaction. For more information, please find his homepage here
Tomi is a Professor at the CS department. His area is Software Engineering. For more information, please check
Add comment