Researcher’s Corner: Computer programming for librarians

It’s research time! Opinions about hiring are abundant, but science is much scarcer. 

I’m pleased to be able to present an informal look at Brighid Gonzales’ study of a decade’s worth of job postings. “Learn to code” is advice I see frequently directed at frustrated job hunters. But which language? 

If this summary whets your appetite, the full article is at:

Gonzales, B. M. (2019). Computer programming for librarians: A study of job postings for library technologists. Journal of Web Librarianship, 13(1), 20-36.

With libraries increasingly depending on constantly evolving technology, library technologists often must know more, and more varied, technologies than ever. For early-career librarians and library students interested in learning coding and going into a technology-focused area of librarianship it can be difficult to decide which programming language to learn in order to be the most marketable, or which language will be the most useful for a specific career path. 

In the past, many employers did not list specific programming languages in job ads, however current job postings often specify which programming languages are required or preferred by the employer. In a 2018 study, I analyzed data from 10 years of job postings on the Code4Lib job site to determine which programming languages were the most commonly requested overall, which were the most requested by type of job, and which were most requested by type of employer. 


In order to gather the data necessary for this study, I created a script in Python which scraped information from the Code4Lib Jobs website, including job titles, employers, year of posting, and “tags,” or the keywords used to describe specific skills, coding languages, and job environments within the posting. I chose to use the Code4Lib Jobs website because it is specific to jobs in library technology and because job postings have been maintained on the site as far back as 2004. While over 1900 job listings were initially collected, the results were filtered to include only jobs categorized specifically as librarian or archivist positions, as well as limiting job postings to a 10-year span from 2008 to 2018, resulting in a final dataset of 492 job postings. I further refined the data for analysis by coding each job posting by the type of job and the type of employer.

The job postings were divided into the following job categories based on their primary job duties:

  • Web Services (website development, web-based services)
  • Library Systems (ILS management, technology management, discovery systems, emerging technologies)
  • Software Development (applications programming, development, software engineering)
  • IT (server maintenance, network administration, database administration)
  • Digital Services (institutional repositories and scholarly communication, digital initiatives, digitization)
  • Taxonomy (information architecture, search)
  • Data Services (data management, data curation)
  • Archives/Special Collections (archives and special collections)
  • Metadata (cataloging, metadata)
  • Electronic Resources
  • UX (user experience, user interface design, usability)
  • Hybrid (some combination of two or more other categories)
  • Other (all other positions not necessarily related to technology including reference, instruction, government documents, sales, customer support, project management, and their various combinations)
  • Internship

In addition to these job categories, the jobs were also broken down into types of employers or types of library environments including:

  • Academic
  • Public
  • Contractor
  • Corporate (including vendors)
  • Nonprofit (including foundations, associations, and consortiums)
  • Cultural (including museums, archives, and cultural heritage institutions)
  • Special (including government, medical, and law libraries)


Analysis of the data showed that the greatest number of job postings were categorized as Library Systems jobs (104 job postings total). By employer type the greatest number of job postings were categorized as Academic (418 job postings). While the top five programming languages required by job type and by employer type varied slightly, six programming languages appeared in over 30% of the total job postings. Those languages included:

  • XML (59.8%)
  • HTML (40.7%)
  • PHP (37.0%)
  • JavaScript (32.3%)
  • SQL (31.9%)
  • CSS (31.5%)

The least-tagged programming languages were Django (1.0%), C (0.8%), and Visual Basic (0.4%), while C#, C++, and ASP.NET were not tagged in any of the job postings studied. Additionally, over 50% of job postings were tagged with three or more programming languages, meaning job candidates with more varied skills and knowledge may find more job options available. The prevalence of XML, SQL, and PHP remained consistent throughout the decade under study, while the use of Perl steadily decreased, and the use of Python steadily increased through the decade. While not in the top five overall, Python appeared in the top five languages for five different job categories, including Archives/Special Collections, Data Services, Metadata, Software Development, and Other, suggesting versatility and usefulness across job categories. Some other interesting conclusions drawn from the data include the use of Java in job postings categorized as Data Services or Corporate, and the frequency of Python and R in Data Services job postings, and of Python and Perl in Metadata job postings.


Those working in library technology will always need to be quick-learning and adept to change, but the results from this study offer students and job seekers some guidance on the hard technology skills most in demand in libraries today. While this study is now several years old, the conclusions are likely still relevant today. Job seekers looking for library technology positions are likely to find plenty of job opportunities with skills in XML, HTML, PHP, JavaScript, SQL, and CSS. In addition, knowing one programming language makes it substantially easier to learn any new languages that become necessary or useful to know later in one’s career.

headshot of Brighid M Gonzales. She has glasses and shoulder length hair. She is wearing a black blazer and the background is plain white.

Brighid M. Gonzales, Assistant Director of Systems and Metadata, Our Lady of the Lake University

Brighid M. Gonzales is currently the Assistant Director of Systems and Metadata at Our Lady of the Lake University in San Antonio, Texas, and previously served as the Systems and Web Services Librarian for seven years. She has published on a variety of library technology topics and most recently published the book Systems Librarianship: A Practical Guide for Librarians (Rowman and Littlefield, 2020). She has also been a member of the Code4Lib Journal editorial committee since 2019.

1 Comment

Filed under Researcher's Corner

One response to “Researcher’s Corner: Computer programming for librarians

  1. Pingback: Author’s Corner: Hiring Systems Librarians | Hiring Librarians

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.