Blog, projects and et cetera..

Copywork for the Professional Software Developer

Reading time: about 2 minutes

Recently I learnt of a learning and study concept called “Copywork”. I subscribe to a great newsletter called the Art Of Manliness, which I highly recommend. They featured an article on this technique but pitched it more from the point of view of a author. This learning technique was popular in the 19th century and before. The way it worked was an individual would manually and meticulously copy great works of literature, or just course material if you were talking about schools; page for page, word for word. It acted as a form of study and even was consider a meditative practise.

When I heard of this idea at first, I was fascinated. However, on reflection I realised that I did in fact, learn in a similar way when I thought of my school days and copying work down from the black board. This probably served a similar purpose? However, “copywork” has a few distinct differences all the same.

Depending on which author or authority on the subject you were to talk to at the time you’d get a different perspective. Copywork is as much about concentration, spelling, grammar, memory as it was about study. Some authors for instance would read a paragraph/page and try to reproduce it from memory. Over and over again, until they got it right. The blog post even mentioned how Jack London employed this technique in an aid of finding his voice and improving his style after initially being rejected by publishers.

What strikes me the most about this idea/practise is it is nothing new to me. I’ve spent countless hours, playing along to music I love in the same way. I’m also aware painters and sculptors spend a lot of their time recreating the work of the greats, all in search of a better understand of them and themselves. To find their voice, style and niche.

And how/could, I now wonder, I used this technique with programming? How is programming different to any other creative discipline I’ve mentioned? Would one benefit from transcribing the full source code of a program most consider to be brilliant? What would those code bases even be? And how would you even approach it?

Well I have some answers to these questions, as I’ve been trying this technique out. I’m going to update the blog at some later date with the exact details, but suffice to say, it’s hard work.