In the world of digital scholarship, I count myself among rather late adopters. It was during my doctoral studies when I first tried to learn some programming stuff. It took me another three years until I was able to write and run my own first programming scripts in Python. However, since I reached that stage a couple of years ago, I quickly became a programming-enthusiast, fully immersed in the exciting world of web scraping, exploring countless datasets available via GitHub, and always experimenting with new Python packages and libraries.
Here I differentiate between two idealized types of behavior: computational skills and computational practices. A computational skill is, for instance, an ability to write a script implementing particular algorithm to solve a given problem; on the other hand, a computational practice is, for instance, usage of version control for managing scripts. While someone’s computational skills might be operationalized as a variable with values represented as positive numbers (e.g. “0” = “no skills”, “1” = “at least some skill”), computational practices rather differ in being worse or better, and therefore might be better operationalized by a set of real numbers (e.g. “-1” = “somehow bad practice”, “1” = “somehow good practice”). (Of course these two types of behavior often overlap, but I do not think this anyhow threatens the core of my argument.)
For now, my observation is following: while my computational skills were gradually growing over the last couple of years as I learnt new tricks almost on a daily basis, my computational practices have not been under such a vivid development and still tend to include many bad habits.
I think I have an explanation for that: I hypothesize that it is because skills and practices are learnt differently. In my case, a new good practice has been often simply transmitted by collaboration on a joint project and by imitating what other people do. This way I learnt to use GitHub, just by following up what one my colleague did once we were writing a joint article. On the other hand, new skills are typically not transmitted this way. I suggest that it is because they often require a long-term focused incremental learning. This way I learned Python, following a number of online tutorials, guiding me step-by-step from one level to another.
I now feel really lucky to be a part of our research project here in Aarhus with other like-minded scholars. I see it not only as a great opportunity to employ the computational skills I possess, but - perhaps even more importantly - as an opportunity to make collectively a substantial progress in our search for good practices in digital research. In fact, it was one of the main motivations for me for deciding to move here. It was important for me to realize that I am not the only one who struggles on this front and to discover that there already exists a whole bunch of literature on good practices in scientific computing (like this article, this article, or this article)
Subscribe via RSS