Coders wanted.

I’ve talked a lot in the past about the gulf that is growing between libraries that are change agents and libraries that are change averse. Lately, I’ve been seeing a new gulf growing in libraries, that has less to do with one’s attitude towards change and more to do with the skills of one’s staff. I see it happening in my library, and my Director is an enthusiastic proponent of change. The problem is that many libraries simply don’t have people capable of creating significant changes in our library middleware. Our systems librarian can get our OPAC to work (in the sense that people can search it and maybe even find our materials if they know how to search it) but that’s it. More often, he’s fixing printers or calling vendors because their products stopped working with our off-campus students. There is no one who knows how to code, and this includes most of the people in IT (not that we have that sort of relationship anyways). I’ve been lobbying to get a coder — or better yet, a librarian who can code — as we have one more funded position that we can create. I want someone who can hack into the catalog and find ways to make it easier for us to search it. I want someone who can not only talk about Library 2.0 and Web Services, but who can actually create things that move us towards 2.0 (whatever that means). I want Norwich to have an OPAC that is easy to use, online journals that are easier to find, and databases that are easier to search.

I guess there are a few ways for libraries to actually get coders:

  1. contract out for specific services if there aren’t a lot of things you need done
  2. work closely with folks in IT to get things done (this is only possible if you have a good relationship with the IT folks and if they themselves have the skills to do what you’d like them to do)
  3. Hire a coder with an IT background
  4. Hire a librarian with a coding background
  5. Grow your own coder-librarian through continuing education and training

Some libraries have been smart enough to hire AMAZING librarians and/or coders to help with this stuff. Here are some of the folks I’ve been keeping an eye on who really blow my mind:

The stuff that Casey Bisson is doing at Plymouth State University in NH is so exciting! Why doesn’t every library have someone like him?!?!? Casey has two blogs, both terrific: Maison Bisson and LIBDEV (which is a collaborative blog). Last week, he spoke at the NEASIST Conference Buy, Hack or Build, where he discussed what we can do to improve the OPAC beyond the superficial “lipstick on a pig” sort of stuff. You can hear a podcast of his talk here. Check out the insanely cool prototype he created to make it easier for people to search the catalog by subject. It reminds me of what Red Light Green does with related subjects, but it’s even better because it shows the user the results and the subjects side-by-side. It is really hard to search most library catalogs, and the sort of stuff he’s thinking about will make it much more usable.

John Blyberg is the Network Administrator and Lead Developer at the Ann Arbor District Library. Yes, that library. The library with the most exciting Web site I’ve ever seen. The library that is implementing RSS feeds for keyword searches in the catalog. His blog blyberg.net offers many behind-the-scenes peeks at AADL and their Web site. If smoke comes out of your ears every time you think about the usability of your ILS, you should check out John’s ILS Customer Bill-of-Rights.

I dutifully read Dan Chudnov‘s work log in my aggregator, and though I don’t understand a good 80% of what I read, I am thrilled that developments like this are coming from a librarian! Dan Chudnov worked on the project team that developed DSpace and has been doing really cutting-edge stuff in the library world ever since. He created Unalog which is a social bookmarking application. I have used it a great deal in my book research to see what librarians in-the-know are bookmarking. He is also working on COinS and COinS-PMH (Making Links’ COinS-PMH for Better Links has a great explanation of COinS and COinS-PMH).

I don’t know a lot about what Roy Tennant is working on at the California Digital Library since he doesn’t have a blog (and we all wish he did). What is extraordinary about Roy is that he’s a coder who can explain technical things in plain English to regular folks who don’t even know what XML stands for. And he makes you actually want to know more about XML. He also can inspire people to think critically, to push for change, and to look at their own OPAC with a more critical eye. I was blown away when I was talking to one of the librarians at work about how unusable I think our OPAC is and she said “I agree. I went to a talk last year where this man from the California Digital Library talked about how our catalog should work more like Google…” I nearly fell out of my chair when she said that. Thank you, Roy, for getting the ball rolling for me at work before I even got there. 🙂

Ryan Eby‘s blog has a lot of terrific insights about OPACs, social software, and search. Ryan works at Michigan State University and also writes terrific tech-related stuff at LIBDEV.

I only just discovered Chris Deweese‘s blog, Clam Chowder as a result of his insanely cool blog post Mini-rant: IT Departments as a barrier– Why? in which he (an IT person) wrote:

Why? Why stop your users from using new tools? Is your job of stifling their creativity and innovation that satisfying? Are you afraid that you won’t have a job if they have these tools?

Is it security? Ok, lets argue that. If you are worried about security, do not, let me bold this, DO NOT put your computers/servers on the internet. So there is your security solution.

OMG, this man is so cool! Chris is the “IT Guy” at the Lewis and Clark Library System and I’m sure he spends lots of time empowering his patrons and the librarians he works with. He even started another blog, the LCLS Webborotory to highlight the stuff he’s doing there, prompting a wistful “rant” from Jenny Levine. I would love to have someone like him in my library too!

Dorothea Salo of Caveat Lector is one of those brilliant and independent people who, when faced with a problem, just learns what she needs to know to fix the problem herself. She may not know a ton of programming languages yet, but you can be sure she will learn them as soon as she feels she might need them to do better work at her job. Recently she started learning Java, which I can attest is no mean feat. Her gutsiness and moxie makes her a definite role model for me.

In response to a post of mine a few months back, Dorothea wrote:

I do think there’s something to be said for acquiring the necessary expertise ourselves. I do like to see experts working on our stuff, but honestly, if we took the trouble to get a clue (much of this stuff isn’t rocket science), we wouldn’t be in such sad straits as we are.

I am totally in agreement with all of the folks who think that librarians should try and learn to code. I really do want to be that person for my library. However, there are two things standing in my way. The first is time. Obviously, with the book my free time is gone. Even then, I brought my PHP and MySQL book with me to work back in September with the best intentions of learning while at work. But there are the constant e-mails and reference desk shifts and projects that need to get done. Maybe during the summer I’ll have more time at work to sit down and learn, but with the amount of time I have to learn programming languages, I don’t think I’ll be hacking the ILS anytime soon. The other problem, much more difficult to defeat, is the difficulty I have learning programming languages. I’ve noticed that some people (like my husband) really have a facility for learning this stuff. Maybe it’s because he’s been programming since he was 10 and I’ve only become interested in the past 2 years. For one of my classes in grad school, we had to learn some Java to create some algorithms. I read the book and read the book and read the book. I did the exercises the book suggested I to do for every chapter. But I just couldn’t get it. I’m not accustomed to “not getting things” and I’m certainly not a person who would ever give up easily. My husband would explain things to me (having never learned Java himself, it was frightening to me how quickly he picked it up based on his knowledge of other programming languages), but none of it made sense to me. I feel the same way with PHP (which I know is supposed to be EASY) and I wonder whether I’ll ever be able to get beyond just using it to create web forms.

I have the desire. I want to be able to do this stuff. I just question whether everyone has the ability to learn programming languages well. Just like some people can’t design a good-looking Web site to save their lives and some people lack the ability to write well. We all have our strengths and for some of us, learning programming languages may not be one of them. Maybe I’m wrong. I am just speaking from my own experience. But I sincerely doubt I’ll ever be doing the sort of stuff that Dan Chudnov or Casey Bisson do. I hope that I can make a contribution to the library world as someone who is always willing and eager to try out the latest software, someone who is always happy to teach other people how to use technology, and someone who is always a vocal proponent of online communities, social software, user-centered Web site design, and usable library middleware.

Maybe we need the motivators just as much as we need the coders.

14 Comments

  1. Some scattered thoughts.

    One, going through a textbook is not the best way to get programming to stick, IME. Maintaining and altering Other People’s Code, while less glamorous, is easier for a newbie, and exposes you fastest to the bits of the language you’ll actually find useful. (I mean, I learned a lot about Java GUIs in the class I just took — which is entirely bloody useless to a Java-for-the-Web programmer.) If you’re working on a program whose results you more or less understand, so much the better.

    Two, you have to be patient with yourself. The first time I tackle a Java problem — I invariably either can’t figure out what’s going on or screw up the fix entirely. The second time — I usually get sick of it and quit.

    By about the fourth time on the same problem, I manage to lick it. Maybe for some people it’s instantaneous. Not me. The trick is, I don’t expect instantaneous fixes from myself. (Not even when the bloody server is peppering me with five hundred emails a day…)

    Three, I think one way to get hold of some coders is to pay attention to the pipeline of women leaving computer science. They’re not leaving because they’re not good with this stuff; they’re leaving because comp sci is (still) a toxic environment. Librarianship isn’t. We need these gals; we should be recruiting them, heavily…

    … and finding them jobs! I have a friend who made this exact switch, only she had a successful career as a developer FIRST. It’s taken her a year to get anywhere near a library job, and the job she’s found is TEMPORARY.

    Whiskey tango foxtrot is WRONG with us, I ask you? Honestly, it makes me mad. We should be falling all OVER ourselves to hire people like her.

  2. Programming is relatively easy (especially is you chose a well designed and well documented language like PHP, IMHO), but thinking is hard.

    Libraries definitely need more technology experience, but the greatest failure I’ve seen is in our ability to develop a vision for what online library services should look like in a year or two (or five).

    Then we need to apply that vision to our interactions with vendors; we need to use that vision as criteria in purchasing and hiring decisions throughout our libraries.

    Now, the technology problem:

    Our systems are built wrong. An ILS is part of a larger family of online services every library offers, but it’s built like an island. Many of the examples cited above required programmers first to overcome the barriers our ILS vendors put in the way of integration. Imagine how much more could be done, and home much more quickly it could be done, if our vendors offered the same sort of API/webservices access to our systems as Amazon, Google, Yahoo, or Flickr offer.

    Each of those services is well documented — with code examples — and a web search reveals no shortage of opensource projects in many languages that use those APIs. Imagine the day when the web is filled with applications based on our library APIs.

    Dorothea is right, it’s much easier to learn to code by building on OPC. Can you imagine how rich the code pool could become if our systems supported it?

  3. Yes, I was going to mention Ross Singer, but realized that my post was getting ridiculously long. I loved his anti-library 2.0 rant. Snarky, but totally on target!

  4. I certainly hope we need the motivators as much as we need the coders–but then, I want a world where everybody gets to do what they’re good at. Thanks for the pointer to the anti-library 2.0 rant, which was refreshing. Oh, and happy Thanksgiving!

  5. Why no coders?

    Just a quick note that in trying desperately to keep up with the ton of phenomenal writing going on in the biblioblogosphere, I somehow missed this post by Meredith that sums up some of the thoughts I’ve had about library systems departments.
    I…

  6. librarians 2.0 don’t need to be coders 2.0

    There are many roles beyond just coder that are essential to developing technology solutions.It will of course depend on your organization which of those roles you need to take on.I like this diagram from the IBM article Elements of Service-Oriented

  7. Librarian code skillz

    Do librarians need to be programmers? As the Simpsons’ Reverend Lovejoy says, “short answer, no with an if; long answer, yes with a but.” This memelet – librarians as coders – has been going around for the past few months….

  8. This sort of things makes me wish we still lived in Ann Arbor, and that I was employed at a library! 🙂 Developing apps for a library seems so much more appealing than working on web-based marketing. (Although I am doing some very cool stuff right now.)

Comments are closed