Mark Needham

Thoughts on Software Development

The prepared mind vs having context when learning new ideas

with 3 comments

I’m currently working as a trainer for ThoughtWorks University (TWU) and the participants have some Industrial Logic e-learning material to work through before they take part in the 6 week training program.

I’ve been working through the refactoring/code smells courses myself and while I’ve been finding it really useful, I think this was partly because I’ve been able to link the material to situations that I’ve seen in code bases that I’ve worked on over the past few years.

It would have been interesting to see if I’d have got as much value from going through the material 4 years ago before I started working at ThoughtWorks and didn’t have a range of code bases to relate the patterns to.

My thinking is that I would have found it more difficult to see the value of the material and that the approaches described would just have seemed ‘obvious’ despite the fact that I’ve made pretty much all of the mistakes that the training looks to address!

About a year ago I wrote a blog post where I described the value of re-reading books and one point which I’d forgotten is that even though it may be hard to relate to some ideas the first time you come across them it’s still valuable to read about them anyway.

It helps to prepare your mind for when you eventually come across some code where the idea can be applied and Krishnan pointed out that this was actually part of the feedback received from the current TWU participants.

I think this is probably a good example of a variation of confirmation bias at work in that since we’ve been prepared to see certain patterns/potential to use different refactorings in code when we do come across those situations in code we’re much more likely to see those situations.

Krishnan pointed out that it would still be very useful for the TWU trainers to refer back to the Industrial Logic material when we come across those patterns in the project simulation that we run as part of TWU.

I think this is the most important part of the process as it will help to reinforce the learning.

I’m still curious whether there ever is a time when it makes sense to delay learning about something until we have more context.

I find that when I’m learning about something which goes way over my head I’ll often stop doing that and pick something else to look at which I can relate to a bit better.

I try to go back to the original material again later on but what I find often happens is that I’ll come across it in the future more by coincidence than design and this time it will make more sense.

Be Sociable, Share!

Written by Mark Needham

July 22nd, 2010 at 4:06 am

  • Nick

    I often have this – moreso before I was employed as a Web Developer and learning the concepts of constructing code as a hobby.

    Nevertheless, I always powered through things even though I didn’t full comprehend them because I knew that in the future they might make sense or things might ‘click’.

  • Melanio Reyes

    Being a musician as well as a developer, there are times when I pick up a new piece of piano sheet music that I want to learn to play, but my current playing ability finds the work too challenging. Conceptually, I can read the music just fine, I can even hear it my head. For some reason, my fingers fail me and it doesn’t sound musical. Usually I’ll put it aside and move on to something else. It when I come back to it again is what amazes me. I’m suddenly able to learn and perform the piece with ease.

    Sometimes, I think when learning something new and challenging, you need to step away for awhile.

  • Pingback: Confirmation Bias and Loss of Autonomy at Mark Needham()