Why I Learned To Love the Command Line

I’m sure you’ve all heard a million times by now that libraries are looking for young professionals with technology skills. And I’m sure you’ve all thought to yourself “But of course, I use technology all the time! I’m proficient in the Microsoft Office Suite, I conduct online research like a champ, I would medal in the social media Olympics!” And, of course, you’d be right. Libraries do need professionals that are intimate with and can teach software applications, are comfortable with online research both in databases and free web resources, and can smartly and strategically develop a social media plan. But I’m also increasingly sure that we need to up our game in order to stand out and better serve our patrons. I’m talking about the hard stuff, the stuff we were hoping we’d never have to think about because of our blessed IT departments, the stuff that puts us face-to-face with the command line: y’all, I’m talking about coding.

Coding is an invaluable skill for young information professionals. While we won’t be expected to attend to database or systems administrator duties, we may be expected to embed videos in our library website’s HTML file, or modify a database, or troubleshoot electronic resource access issues, or simply be familiar enough with coding restrictions and limitations to have informed discussions with our IT department. Austin Public Library is currently transitioning to the Drupal platform to decrease the reliance on the IT department for doing basic things like updating a blog. Platforms like Drupal and WordPress do not, in themselves require any programming knowledge, but knowing HTML, CSS, and JavaScript will enhance interactivity and customizability. In other words, it just can’t hurt to be familiar in a programming language (and, believe it or not, its kind of fun!).

I’m lucky in that because my program has such a focus on information science, it offers several programming courses, the most popular of which is Database Management which teaches the language PHP and database language MySQL. I went into the class expecting to see unfamiliar faces, students who are in my program but take most usability or information architecture classes. Instead, I was greeted with mostly people like me: library- or archive-track students who want to improve or begin their programming knowledge. We move at a quick but manageable pace. More importantly, while the assignments are difficult, they’re so different from what I’m used to (ahem, writing papers, ahem) I find a good challenge in them. In addition to looking good on a resume and making me the official computer genius of my family, coding also challenges my brain in new ways, forces me to think creatively and problem solve, and affords many opportunities to collaborate with my classmates when a script just won’t do what I want it to –and I think we can agree those are skills useful to ANY information professional.

I want to be clear that I’m not advocating librarians become professional programmers– programmers spend years of their lives and dedicate their career to the art. If your library or museum is lucky enough to have a dedicated IT department, bless them. I will say though, as library websites become the primary service point by which patrons interact with the library, librarians should know how the web works, what languages it works in, what languages do what, and how the web is structured. My vision of the future library does not have each department working in a vacuum from one another but rather librarians and IT professionals working together, sharing a common language, and figuring out how to best serve the community.

What can you do if your program doesn’t offer any introductory programming courses? First, look outside of your department; many graduate-level departments teach introductory courses. Talk to your advisor and see what your campus offers. Similarly, if you can receive credit for them, check your local community colleges. There are also lots of free online sources. Code Year is a great program that has weekly assignments and is done entirely online for FREE. The W3 Schools have all of their training manuals online and they are easy to understand and offer exercises. The beauty of programmers is their willingness to put their work on the web for others to use, modify, and learn from.

What skills are you improving? What resources do you use for improving your technical skill set? Leave a comment or message me on Twitter, @beccakatharine.

31 thoughts on “Why I Learned To Love the Command Line”

Code proud, code strong!
I am currently taking Advanced Web Applications (basically a Flash/Flex programming class) and I am loving it. My coding geekery goes back to BASIC but I never thought that I would take classes again or be a programmer. I cannot express, however, how thrilling and fun it has been to learn and use some html and now java. For making minor tweaks to a simple site to understanding good design, function, usability, workflow and organization I cannot recommend a web design and even networking classes highly enough! Great thoughts Rebecca!

@Joanna, I took Advanced Web Apps through FSU when I was in libschool, and learning actionscript is invaluable – especially since the present-day and near-future of the web is really written in javascript and jquery, learning actionscript makes it that much easier to transition from language to language. I just wanted to offer some hope and kudos :).

I was really glad to see this post. I recently was able to transition from the no-budget / no-IT small pubLib realm where I was the primary web dev, IT guy, and reference “librarian”–not even out of school!–into the systems department of a robust academic library as the web services librarian. Rebecca’s insight was spot-on. While we have some traditional hardcore sysadmins in systems, the big boss, myself, and a new unfilled programming position [check the postings over the next few weeks for Nova Southeastern University!] are all *librarians.*

The delineation between librarian and coder has really become indistinguishable. In fact, as librarian programmers we find interacting and responding to the needs of the reference and public librarians more intuitive. We still have to deal with a central university IT that doesn’t quite “get” the demands and high-traffic of a library, but as our ranks here at local systems are populated by coding librarians, I think there is going to be a tangible sigh of relief.

I’d also like to suggest some great website/tools in addition to CodeYear:

Thanks for the great resources! I’m enjoying WebAps thus far as I did Multimedia and even Network Admin. I have definitely found the right niche here of blending the technical with the information side of things.
Glad you are excited about it and congrats on your promotion to boss!

One of my first classes in library school encouraged me to create a website from scratch (though the one I turned in was an easy bake Weebly production). I wasn’t unfamiliar with WYSIWYG website hosts (I made a Geocities site in high school). However, this time I learned a bit about HTML to make a set of connected pages I can view on my computer. It was very satisfying! Now I’m having a great time in the digital libraries course I’m taking this semester. Our final task is to build our own digital library! Learning the Greenstone Digital Library software is challenging for me sometimes, but I’m having a lot of fun with it.

I agree that library staffers can benefit from even the smallest amount of coding education. Even if someone isn’t working on the library website or databases, knowing a bit more on the inner workings of these systems can help them understand how those systems work and (maybe) help them become better at accessing the information contained inside those resources.

I am in no way a programmer or a coder, but I have some experience with web development, which I have actually used in my job as a ref librarian. These are the skills that they just assume you have, and you never know when you have to trouble shoot your website or help a patron with making databases in Access. My school offers really awesome workshops in a variety of things like PHP, XML and XSLT, Ruby, etc. I wish I had more time to take them!

Thanks for this post Rebecca! These are all great points. I am quite behind in Code Year but I’m really glad so many librarians and library school students are taking advantage of it.

Learning web based coding languages is definitely a good skill for anyone in the library world to learn. For easy to learn coding I really recommend the w3schools website: http://www.w3schools.com/ I use it all the time as a reference and used it the other day to teach myself css coding.

While I don’t think all librarians should become programmers, the industry really needs an influx of people who can code. It’s great to be able to build a web page, but in the Information Age, we need more people with the skills to build scalable information systems that can be accessed through a web site, a desktop app, a mobile app or even as a service. Many of the technologies that form the building blocks of such systems (e.g., AWS, OpenStack, Hadoop, NoSQL, Ruby on Rails, etc.) are already here, but libraries need people who can build full-fledged solutions (and not just rely on another vendor).

I think it’s especially important to learn the basics of coding just as part of remaining digitally literate! I know many librarians who get nervous about all of the “IT” end of library services, but I think diving in and picking up a few things can help demystify the whole computing realm–taking the “magic” out of the back-end of the internet helps make the information transfer more smooth, especially when librarians hit the critical mass we need to start launching/tinkering with our own systems. (How about a library-coded ebook platform?)

Great points Topher. As Rebecca’s experience illustrates, my own and what I’ve heard from my peers as well, the process of “demystifying” (as you called it) is most important and valuable. As my Networking Admin Prof said throughout the semester: it is easier to teach network and coding skills to librarians than it is to teach information and people skills to coders. He, a network admin for many years, also liked the idea of giving enough information to the people he would work with so that they could talk about issues with more clarity. Any acclimation, education, successes and boosts of confidence in this area can only help down the road.

Rebecca, et all – should there be a distinction between coding and web development? Is it all really the same? I think often in library school we conflate HTML/CSS with coding, which is not necessarily the same thing. I think.

Come to think of it, is HTML/CSS a truly valuable skill anymore? I seem to be getting a lot more creative problem solving from CodeYear than I got from my Network MultiMedia course. Isn’t coding really about critical thinking and decision making more so than making things pretty and organized on a webpage (html/css)?

I think you make a good point there, there is a difference between understanding coding languages and web development. They’re separate entities that do separate functions. It’s still important to know a little HTML/CSS though, that’s like the minimum.

Micah – I think “making things pretty and organized” also involves critical thinking and decision making, just as much as coding. HTML/CSS and traditional coding may be horses of a different color – but both are equally important in the library setting. How many ugly/poorly designed library websites are out there? And how many patrons might never use library resources because you can’t find them on the website? These days some patron only interaction is with a library’s website – so it better be pretty and well organized.

I feel like more than just coding knowledge, librarians also need design knowledge. I can’t tell you how awesome my InfoCamp experiences were because they taught me a lot about design and design processes.

At this point, I think they expect us to know at least a little web design. When my director asked me to take over administrative duties for our virtual chat service, I didn’t realize that I’d be using basic html skills but they turned out to be handy. I use the extra skills I learned through school at my job when I least expect it.