Wow. It’s been two months since my last post. But I can explain. You see, back in January we got a new roommate and in between dealing with his insomnia and his incontinence I just haven’t had time to sit down and think about library stuff.
Anyway, a few days ago I came across a couple of posts about the relationship between librarians and coding. From March 5, Wayne Bivens-Tatum explains why he ignores the calls for librarians to learn how to code. In contrast, at Library Journal on March 6, Matt Enis reports that programming and coding skills are fast becoming essential for librarians. So, which is it? Must a librarian know Python or Ruby in order to be successful as a librarian or to improve a community? Or, is the clarion call for coding in librarianship just another manifestation of misguided technological solutionism?
Well, it kind of depends on what we mean when we say that coding is “essential” for librarianship. On a weak interpretation, that just means that it’s something librarians should be familiar with at some minimal level. That is, coding is weakly essential in librarianship if only some librarians need to master coding and the rest just need to be able to understand what coding is, how it relates to libraries, what can reasonably be asked of code, and whatever threshold concepts are required in order to work alongside the people who actually write the code. On the other hand, coding is strongly essential in librarianship if all librarians need to be able to write and use workable code themselves to solve problems and/or create new services. Put another way, if coding is weakly essential for librarians, then all librarians need to learn the basic principles of coding. If coding is strongly essential, then librarians need to learn the principles of coding as well as learn one or more programming languages.
Coding and strong essentialism
I’m going to start by looking at the strong view: librarians should be able to write code. For example, last December, Bohyun Kim described the state of the art of coding in libraries this way:
Librarians’ strong interest in programming is not surprising considering that programming skills are crucial and often essential to making today’s library systems and services more user-friendly and efficient for use. Not only for system-customization, computer-programming skills can also make it possible to create and provide a completely new type of service that didn’t exist before.
Compare to Andromeda Yelton’s four reasons librarians should learn to code: to optimize existing workflows, to improve usability, to communicate with vendors and IT, and to empower librarians to create new services. Kim and Yelton are both appealing to the same two overarching arguments in support of strong essentialism about code in librarianship. First, there’s the maintenance argument: most library systems and services require constant attention, so librarians need to learn how to code to maintain their systems, to talk to vendors, to improve efficiency, and so on. Second, there’s the forward-thinking argument: it is only by embracing coding that librarians can provide new, forward-thinking services to patrons like makerspaces, hackerspaces, 3D printers, and more. And these justifications are, by and large, correct: library systems do, in fact, benefit from librarians who can code and libraries are, in fact, pursuing forward-thinking projects like LibraryBox and attracting forward-thinking coder communities built around things like maker culture. But, are these really arguments that all librarians need to know how to code? I’m not convinced they are.
You see, both the maintenance argument and the forward-thinking argument for strong coding skills rest on a fundamental category mistake between the librarian and the library. What these arguments show is not that all librarians need to code, but that all libraries need coders. Same goes for most of the skills we encounter in librarianship: there is no universal set of skills that are strongly essential in librarianship, but there are skills that are strongly essential for libraries. And it’s probably worth pointing out that maintaining systems and creating forward-thinking digital tools are not the only things libraries do. Libraries might also need readers’ advisory skills, instruction skills, reference skills, archiving skills, collection development skills, and so on. And all of these skills are only weakly essential insofar as a library only needs some librarians to master them, so long as the rest of the librarians meet some threshold understanding.* Basically, there are a lot of great skills out there, and it would be great to learn them all, but we’ve got to prioritize. I would love to learn to code, but my time is spent learning about assessment, classroom management, information literacy, pedagogy, and whatever else is going to help me do my job better. It’s not that coding is unimportant, it’s just that in my role within the library coding is less important than other concerns. As Bivens-Tatum put it in his post, “If I had needed to learn to code for work, I’d have done it. The thing is, that’s true for most skills.” Really, I see no substantive reason to consider any particular skill strongly essential for librarianship.
“But wait,” the objection goes, “then what’s the point of library school, if not to provide a common skill-set?”
And my response is that if the reason you go to library school is for vocational training, then you’re doing it wrong. And if your library school only taught you to be a practitioner, then shame on your library school. Library school is (nominally) graduate school and the focus should be on cultivating the principles, values, and knowledge that undergird librarianship. Yes, there are some threshold concepts to which all librarians should be exposed: organization of information, archiving, research methods, and, yes, coding (and a great many more). But these are only weakly essential and are adequately covered in the five or six survey courses every LIS program requires. Now, we might decide to specialize, in which case coding could be an extremely important skill in digital content management or archives (to name but two). But, other tracks might need to prioritize other skills. Again, it’s our shared principles and knowledge that should be universal, not any specific skill-sets. (For more on what these principles may be, check out my posts on expertise.)
Long story short…
Some librarians need to learn how to code and pick up one or more programming languages, but most librarians don’t. And while most librarians might not need to learn how to code, all librarians should understand the basic principles and foundations of coding, if only so that they can better communicate with those who do learn and apply programming languages.** Heck, even Wayne Bivens-Tatum’s dismissive attitude towards code is only possible because he has a basic understanding of code: the very ability to “steal the code I need to fix any problem I might encounter” requires some understanding of what coding problems look like, what correct code looks like, and so on.***
So, coding is a weakly essential skill in librarianship: all librarians need to know what a programming language is, how to talk about it, and what coding can and can’t do. But, then again, that’s how it is with every other skill in librarianship. The only things that are strongly essential in this profession are our values and principles; our theories and concepts. Show me a skill you think is strongly essential for librarianship, anything from coding to cataloging, and I’ll show you a great librarian who nonetheless lacks that skill. And the next time someone says that “all librarians must have skill X”, ask if they really mean “all libraries need someone with skill X.” I bet you’ll find they actually mean the latter.
[In the meantime, if you want to brush up on your coding skills, join me on Codeacademy.com: I just started Ruby and we’ll see how it goes.]
—
* (Of course, the number of discrete skills required of each librarian goes up as staffing levels go down to the point where a library that only employs one librarian might need that librarian to be skilled at everything. But, that doesn’t affect my larger point.)
** (And, from a pedagogical standpoint, it could be that teaching a programming language is the best way to teach the principles of coding. But, that’s a pedagogical tactic, not a tacit admission of strong essentialism. )
*** (Also, just to be clear, HTML is a markup language, not a Turing-complete programming language. So, strictly speaking, WBT’s position on HTML is irrelevant to the issue of coding in libraries. Still, the same “learn it on the fly” approach to programming languages is popular, so for my purposes it’s a distinction without a difference.)
I am happy to agree with your analysis that arguing that all libraries need coders is not the same as arguing that all librarians need to code.
I do want to point out that one of the problems I keep encountering is that often there’s at most *one* librarian in a library who knows any coding, and this both makes their technology job nigh impossible (not merely building but also maintaining and advocating for technology becomes that person’s sole responsibility, and often they’re junior and in the basement), and also puts a pretty hard limit on how good their skills are likely to get and the quality of library software that can be shared by the field as a whole, because coding is so very socially learned — there’s so much craft knowledge, so many things you pick up by looking over someone’s shoulder or collaborating on something. So I think the optimal number of coders per library is frequently more than one, and this would produce a more-than-linear increase in utility for the field as a whole. (And this means in turn that the optimal number of people to expose to some amount of coding, to see if they’re interested & if it sticks, is fairly large, though likely less than 100%.)
Mostly though I think it’s fun to be able to make things better and build things that didn’t exist any more, and I want everyone to be able to have fun :).
Anyway, would love to hear how your Ruby experience (and your codecademy experience!) go. My total exposure to Ruby is 4 hours at a code4lib preconference but I wouldn’t mind an excuse to talk about it and maybe learn some more.
Actually, Andromeda, I regret not adding something about that. Even though I don’t think that all librarians need to code, I absolutely agree that we need more librarians who can code. I wonder if the understaffing of coding librarians is a symptom of the fact that library administrators lack sufficient understanding of programming to make appropriate staffing decisions? If so, it’s more reason to think that even if we don’t need to learn Python, we at least need to learn some basic principles.
And I just chose Ruby at random. Griffey says that if you’re comfortable with symbolic logic (which I am) then learning code is pretty easy, so I figure why the heck not.
Thanks for the comment!
Honestly Ruby’s a good choice (though pay attention to the security issues if you end up deploying anything in it) — there are a LOT of Rubyists in code4lib, and not coincidentally a lot of libraryland Ruby projects (Project Blacklight, notably).
Also, one of the things I would totally do if I had infinite spare time was talk to lots of library administrators to figure out the barriers to employing and evaluating coding librarians, and to supporting librarians who want to learn. It’s clearly an issue and it’s one I don’t have a ton of visibility into. Yet.
As for the recurring Python example, would love to see you at the preconference in Chicago :).
[…] Both the maintenance argument and the forward-thinking argument for strong coding skills rest on a fundamental equivocation between the librarian and the library. What these arguments show is not that all librarians need to code, but that all libraries need coders […]
In 1983 Don Swanson at the University of Chicago Graduate Library School taught us Assembler. At the time he managed to convince many of us that we had to code so we could make these new fangled omputers work.
Thirty years later I am quite content to hire coders to make my programs run in the same way that I am content to hire mechanics to fix my car. We need to know what we don’t know so we can work with experts to create the solutions we need.
Thanks Peggy; the analogy with mechanics is perfect! Out of curiosity, even if you don’t use it now, did you ever use your knowledge of Assembler while on the job?
My general knowledge of coding was more use to me in that it made me unafraid of computers. My first professional jobs were in special libraries, McKinsey & Company and then Wells Fargo so IT support was already available. I did not do any actual coding until I created a circulation system for a k-12 single building school library in extremely rural Maine.
The ability to think in “if then loops” and apply boolean alegrbra are the single most directly applicable things I learned whiel gettign my Masters.
This is a great and throughtful post! I really enjoyed reading it. I don’t advocate that all librarians need to code. I am interested in the librarians who already want to learn how to code and helping them at the both institutional and individual level. And I completely agree with you that “the understaffing of coding librarians is a symptom of the fact that library administrators lack sufficient understanding of programming to make appropriate staffing decisions.” This point is worth an emphasis because libraries overall can benefit so much from having more librarians who can code but really do so little in encouraging and nurturing them institutionally! I blogged about this in the past (http://www.bohyunkim.net/blog/archives/1099 ) but many people tend to ignore that part even though I made it even bold and blue.
The problem I want to point out is institutional (what libraries need to do to grow and nurture library coders) rather than personal (what librarians need to do to become a coder) although the latter is of interest to those who want to learn how to code. I wish more people would pay attention to this distinction and I am so glad you have pointing it out!
Thanks for the additional context: your blog post is spot on and I wish I had read it before writing this post!
[…] don’t need to learn how to code, and I got a bit hot under the collar. Yesterday I read this excellent rebuttal by Lane Wilkinson on whether coding is an essential librarian skill. I agree on nearly all points […]
[…] then I hit this post, by Lane Wilkinson (who I swear I’m not linking just because of the cute bird in his […]
I agree that all libraries probably really need at least one good code-monkey! But every librarian in the place doesn’t need to know how to do it.
Ok, so I wasn’t going to respond, but the “code monkey” thing got me….
So, not all librarians need be able to write code, alright…are there any common skills that all librarians need to have? What special technical skills do librarians bring to the table?
Actually, I don’t think that there are any common skills that all librarians need to have. Instead, I prefer to frame things in terms of the common needs that libraries have.
Hm. I not sure I disagree, but doesn’t that feel strange to say? Why do we have a professional degree is there’s no baseline skill set? And is this justifying the cutbacks in librarian hiring because administrators decided it better served the needs of the library?
Hi fitz. In answer to your questions…
(1) Nope, it doesn’t feel that strange to me.
(2) Like I wrote in the post, if you’re going after a graduate degree in library science for job training, then you’re doing it wrong. A graduate degree should be aimed at theory, principles, and values, not job training. That some basic technical skills are encountered in library school is merely a function of pedagogy and instructional design.
(3) No. Exactly the opposite. If we go down the path of quantifying librarians in terms of discrete technical skills, then it becomes much easier to replace professional librarians with lower-paid paraprofessionals. We’re already seeing this with respect to the outsourcing of cataloging, IT support, and other library services. However, if we can explain librarianship in terms of a set of values, knowledge and expertise, it makes it much harder to pursue deprofessionalization. (See my posts on expertise from last year for more on this.)
Yeah, I thought about it a bit…what you’re saying is weird. A MLIS is a professional degree, not an academic one. In this type of training, the theoretical underpinnings are secondary to the teaching of vocational skills.
To say a profession cannot be defined by its common skill set is to say a profession cannot be defined. This vagueness is what makes it easy to cut our jobs….
Does this mean all librarians should be programmers? Hell no. But we should focus on developing professional skills that libraries really need rather than trying to protect a pseudo-academic status that exists only in a few well-endowed universities in the US. If a library needs an academic, they should go get a research monkey with an academic degree. There’s plenty of them hanging around just about every campus…
You write that “to say a profession cannot be defined by its common skill set is to say a profession cannot be defined,” which is patently false: it is quite common to define a profession by shared domain knowledge, principles, or expertise. So, whereas you believe that a librarian is defined as a person with a discrete set of technical skills X, Y, and Z, I argue that a librarian is a person with expertise in the collection, organization, and dissemination of information (or something along those lines) and, further, that that expertise can manifest itself in a variety of skill-sets.
I’m glad you agree that not all librarians must be programmers, but your position still entails that all librarians must have some particular skills, so perhaps you could elucidate and provide a list of these skills?
And I’m not entirely sure what you intend by the “professional/academic” distinction. I would engage the distinction, but it’s a gross oversimplification and a straw-man to boot, so there isn’t anything to respond to.
I keep reading that “It not the skills that ‘Librarians’ must have, but the skills that ‘Libraries’ must have.” Since when is the Librarian separate from the Library. This is a dangerous train of thought in my opinion. Is this a death knell for the Library profession? If the Librarian doesn’t have the skills that the Library needs then what do we call these essential/skilled, non-librarian, employees of the Library.
[…] level. I might disagree with either interpretation, although I agree with Lane Wilkinson’s argument in response to my last post that there are probably sets of skills that all libraries should have available. […]
[…] Is coding an essential library skill? […]
Lane, finally reading through the comments here. Apparently “Librarian Meg” thinks you’ve written a rebuttal to my gurus post, whereas I think we mostly agree on the whole issue. Someone’s reading something wrong somewhere.
Dang, I must have glossed over that. Maybe read it as ‘response’ instead of ‘rebuttal’. You’re right, we mostly agree; I’ve also had to make that comment elsewhere. Also, I really prefer your ‘basic’ terminology to my own ‘strong/weak’ distinction.
I read the comment on the other post (that I refuse to name!) where the person wouldn’t link to me because my post made her cranky or whatever. Since she seemed to more or less agree with me, I’m not sure what the deal was. It seems that if I really want to irritate librarians, I just have to write a post saying “I’m not doing whatever trendy thing you claim I need to do and I’m getting by just fine.” The general response always seems to be, “Wayne says that such-and-such isn’t important!”, which is never what I said. Either people read what they want into those posts or I need to be a clearer writer. Maybe both.
Yeah, I hope I didn’t contribute to the misinterpretation, though I fear I probably did. My intent was to write that yours is the stronger position, but I may not have been explicit enough.
[…] If so, what skills do they all need and why? I’d say none. As Lane Wilkinson put it in a post that was part of the online discussion, “Show me a skill you think is strongly essential for […]
[…] bibliotecários precisam e por quê? Eu diria que não há nenhuma. Lana Wilkinson escreveu em seu post: “Mostre-me uma habilidade que você acha que seja essencial para a biblioteconomia, mas […]
[…] About Essential Library: Is coding an essential library skill Library Service and Essential […]
[…] Is coding an essential library skill? (I’m still going to learn it.) […]
[…] Is coding an essential library skill? | Lane Wilkinson – Sense and Reference (Blog) [Consultado el 7 de Julio de 2018]. Disponible en: Link […]
[…] you remember the “Every librarian a coder” trend a while ago? Lane Wilkinson blogged about it once. I remember some ACRL conference presentations on this around that time, since ACRL is a great […]
[…] Town’s libraries are leading a global coding revolution, with Bonteheuwel Library showcasing their digital capabilities at a nationwide coding event and […]