July 15, 2020

Learn to Code

I first learned to write software in the early 1980s, on a Commodore PET computer (pictured) that stored the program on a cassette tape. Why did I choose to learn to write software? Because I knew that I was going to stick with working in a library — that in fact I would be pursuing my B.A. degree so that I could enter library school. And even then it was apparent to me that computers would be an essential ingredient for libraries.

If computers are essential to libraries, I asked myself, then shouldn’t I, as a library professional, know how to use them most effectively? Yes, indeed. So I learned BASIC and my very first program was a library orientation interactive tutorial. It was crap. I mean, it worked and all, but it was full of “GO TO” statements and other cruft that today would have any programmer hanging her head in shame. But it was a start.

From there I learned Pascal, FORTRAN, and Perl. Although BASIC, Pascal, and FORTAN ended up on the dustheap, I stuck with Perl. For me, Perl is like the Swiss Army knife that is always in my pocket. It’s what I pull out to munge data that needs to be in a different format or enhanced or processed in some way. It excels at this, although it has long since been replaced by other languages for other purposes for which it had been used.

PHP or Ruby along with Javascript now seem to rule as web user interface languages, while Java powers enterprise applications. And a lot of folks code in Python these days. But the language you use doesn’t matter as much as knowing a language to begin with.

Programming teaches you to think logically. Well, it should, at least. In my case I think logical thinking is a lost cause, but at least I try. Programming teaches you that there is nearly always a way to get from Point A to Point B, you just need to nail down the algorithm.

And once you know how to program, it’s like having a hammer — you see nails that need to be hit everywhere. Not long ago I needed to get some data loaded into a Google Fusion Table for analysis but I needed to merge some data elements first. With a language like Perl that’s a snap, so within minutes I had my data whipped into shape. Someone else who didn’t know how to program would have been stuck.

So if you’re reading this, learn to code. Not necessarily to become a programmer, but to know what it can do for you. To know how easy some things are and how difficult others can be. To better understand when you need a program to do something and when you don’t. To be a more well-rounded professional. And to prevent anyone from pulling the wool over your eyes that a given task is more difficult than it is.

And lucky you, this is just the year to do it. It is Code Year, actually, according to Code Academy, which helps people learn to code. “Sign up for Code Year to start receiving a new interactive programming lesson every Monday,” touts the web site, and “You’ll be building apps and websites before you know it!” I tried out the first few lessons, and it strikes me as a gentle way to learn to program. The lessons are small, focused, and introduce concepts with demonstrations that are easy to understand. It is therefore likely your best chance to learn to code if you aren’t in school.

Go for it. Believe me, you’ll be better off for it and more employable to boot.

Roy Tennant About Roy Tennant

Roy Tennant is a Senior Program Officer for OCLC Research. He is the owner of the Web4Lib and XML4Lib electronic discussions, and the creator and editor of Current Cites, a current awareness newsletter published every month since 1990. His books include "Technology in Libraries: Essays in Honor of Anne Grodzins Lipow" (2008), "Managing the Digital Library" (2004), "XML in Libraries" (2002), "Practical HTML: A Self-Paced Tutorial" (1996), and "Crossing the Internet Threshold: An Instructional Handbook" (1993). Roy wrote a monthly column on digital libraries for Library Journal for a decade and has written numerous articles in other professional journals. In 2003, he received the American Library Association's LITA/Library Hi Tech Award for Excellence in Communication for Continuing Education. Follow him on Twitter @rtennant.


  1. Love how you’ve stated the benefits -nails everywhere! So empowering to be able to notice and smash them.

    Am also very excited about Code Year. FYI, for any librarians who are doing code year and want some company along the way, I’ve made a Connect group and I’d love for you to join us: http://connect.ala.org/codeyear .

  2. Andromeda – shoot, I had meant to highlight your Connect group and forgot! Thanks for catching that.

    • *g* I’ll forgive you, particularly as you’re now in the group. I was thinking about your comments at Top Tech Trends that one time, though — when you noted that it would be great if there were more women represented in library tech. Don’t know if you’ve looked at the group members page but it is something else — have I ever, EVER seen a tech group that looks like that?! So maybe we can generate some future TTT panelists.

      I also want to mention http://catcode.pbworks.com — that is, catalogers + coders — they have some active CodeYear discussion on their wiki plus an IRC channel, and a bunch of participants over there too.

  3. Kaitlyn Tongalson says:

    Hey Rey! Lisa Norberg recommended that I check out your article, I am a Columbia Student also collaborating with Codecademy, would love to ask you more questions about coding and its usefulness for librarians, if you could email me at ktongalson@gmail.com or contact@codecademy.com that’d be great!