[Editor’s Note: This post is part of a series of posts related to ACRL TechConnect’s 2015 survey on Programming Languages, Frameworks, and Web Content Management Systems in Libraries. The survey was distributed between January and March 2015 and received 265 responses. A longer journal article with additional analysis is also forthcoming. For a quick summary of the article below, check out this infographic.]
Our survey on programming languages in libraries has resulted in a mountain of fascinating data. One of the goals of our survey was to better understand how staff in libraries learn about programming and develop their coding skills. Based upon anecdotal evidence, we hypothesized that library staff members are often self-taught, learning through a combination of on-the-job learning and online tutorials. Our findings indicate that respondents use a wide variety of sources to learn about programming, including MOOCs, online tutorials, Google searches, and colleagues.
Are programming skills gained by formal coursework, or in Library Science Master’s Programs?
We were interested in identifying sources of programming learning, whether that involved course work (either formal coursework as part of a degree or continuing education program, or through Massive Online Open Courseware (MOOCs)). Nearly two-thirds of respondents indicated they had an MLS or were working on one:
When asked about coursework taken in programming, application, or software development, results were mixed, with the most popular choice being 1-2 classes:
However, of those respondents who have taken a course in programming (about 80% of all respondents) AND indicated that they either had an MLS or were attending an MLS program, only about a third had taken any of those courses as part of a Master’s in Library Science program:
Resources for learning about programming
The final question of the survey asked respondents, in an open-ended way, to describe resources they use to learn about programming. It was a pretty complex question:
Please list or describe any learning resources, discussion boards or forums, or other methods you use to learn about or develop your skills in programming, application development, or scripting. Please includes links to online resources if available. Examples of resources include, but are not limited to: Lynda.com, MOOC courses, local community/college/university course on programming, Books, Code4Lib listserv, Stack Overflow, etc.).
Respondents gave, in many cases, incredibly detailed responses – and most respondents indicated a list of resources used. After coding the responses into 10 categories, some trends emerged. The most popular resources for learning about programming, by far, were courses (whether those courses were taken formally in a classroom environment, or online in a MOOC environment):
To better illustrate what each category entails, here are the top five resources in each category:
By far, the most commonly cited learning resource was Stack Overflow, followed by the Code4Lib Listserv, Books/ebooks (unspecified) and Lynda.com. Results may skew a little toward these resources because they were mentioned as examples in the question, priming respondents to include them in their responses. Since links to the survey were distributed, among other places, on the Code4Lib listserv, its prominence may also be influenced by response bias. One area that was a little surprising was the number of respondents that included social networks (including in-person networks like co-workers) as resources – indeed, respondents who mentioned colleagues as learning resources were particularly enthusiastic, as one respondent put it:
…co-workers are always very important learning resources, perhaps the most important!
While the data isn’t conclusive enough to draw any strong conclusions yet, a few thoughts come to mind:
- About 3/4 of respondents indicated that programming was either part of their job description, or that they use programming or scripting as part of their work, even if it’s not expressly part of their job. And yet, only about a third of respondents with an MLS (or in the process of getting one) took a programming class as part of their MLS program. Programming is increasingly an essential skill for library work, and this survey seems to support the view that there should be more programming courses in library school curriculum.
- Obviously programming work is not monolithic – there’s lots of variation among those who do programming work that isn’t reflected in our survey, and this survey may have unintentionally excluded those who are hobby coders. Most questions focused on programming used when performing work-related tasks, so additional research would be needed to identify learning strategies of enthusiast programmers who don’t have the opportunity to program as part of their job.
- Respondents indicated that learning on the job is an important aspect of their work; they may not have time or institutional support for formal training or courses, and figure things out as they go along using forums like Stack Overflow and Code4Lib’s listserv. As one respondent put it:
Codecademy got me started. Stack Overflow saves me hours of time and effort, on a regular basis, as it helps me with answers to specific, time-of-need questions, helping me do problem-based learning.