A question for programmers

I had an interesting exchange with some fellow students this week (in blackboard, so I unfortunately cannot link to it.) The topic posted by the teacher was: How does one gain technical experience required for an system manager job? and second, what are some qualifications for a Systems Manager that might be listed in a job advertisement?

In my initial response as to qualifications, I said:

Can the candidate learn new languages as needed? I think this is more important than knowing any specific languages. … Preferred languages are changing rapidly. … A flexible programmer may be more useful than one that is especially well versed in one language. (Keep in mind that I am not a programmer)”

One of my fellow students responded, saying that she had read that it is not realistic to pick up be proficient in (sorry, had to go back and re-read) more than one or two languages. This surprised me. I certainly don’t think it is easy to pick up a new computer language, but I don’t think it is unreasonable to think a new hire could learn the library’s preferred language. One of my co-workers, Steve Ramsay, tells me “The first language is hard, because it’s your first language. The second language is hard because it’s not like the first language. After that it’s easy.” (except he probably said it much more eloquently.) Steve is a hella smart guy, so I take his proclaiming something as ‘easy’ with a grain of salt. Still, I think it is much more important to find a programmer who likes learning new languages than one who already knows specific languages- unless, of course, you need someone that can start working on a specific project right away. Edit: One person pointed out that a systems manager doesn’t necessarily need to know programming- I will address this in my next post.

So my question for programmers and people that hire them: Am I being unrealistic? Is it better to hire someone who already knows the languages used at your library, or is it OK to hire someone who knows some languages and is willing to learn more? I would really like to know if I am way off base.

If I was hiring a programmer, I would try to find out how willing they are to learn new languages by asking questions like: What is your favorite language? When was the last time you learned a new language? Why did you learn it? If they’ve been out of school 10 years and they only know the languages they learned in school, I might be a little worried.

Photos by: davestfu and Nat W.

This entry was posted in Library, School Stuff and tagged , , . Bookmark the permalink.

6 Responses to A question for programmers

  1. Not a programmer, just a librarian who occasionally codes…

    I will learn a new programming language if there’s an existing project I need to work on. Python is the language I cut my teeth on, and if I have to code something from scratch it’s still what I use, but when I started as a DSpace monkey, I perforce learned JSP and (some) Java, and now that Manakin’s out of the gates, I’ve been reacquainting myself with XSLT. I can sorta read PHP owing to monkeying around with Open Journal Systems.

    Oh, and SQL. I can’t think of many programmer-types who don’t need at least a LITTLE SQL.

    I don’t know where your fellow student read that more than one or two languages is unrealistic, but it doesn’t square with anything I’ve heard from my programmer friends, never mind my own experience. I’d mark that down as “bogus” and move on.

  2. Greg says:

    Programming? Qualifications? You have to know something to be a Systems Manager? Someone forgot to tell me. I showed the remotest interest in technology and the next thing you know…

    And mine is no podunk library. 17 branches, 30+ servers, 850+ workstations.

    It is, in my opinion, WAY better to hire someone with insatiable curiosity and the ability and desire to learn, rather than try to find someone who already knows your technologies. ‘Cause even if they claim to know them, they probably don’t know them the way you use them in your environment.

  3. Michael says:

    Are you looking for a programmer or a system administrator? Different, though overlapping, skill sets.

    It’s worth noting that that language is a minor aspect of programming. A good programmer can pick up languages relatively easily. Better to try to measure whether programmers are good at programming, than the number of languages programmers “know”.

    It’s also worth nothing that projects often dictate choice of language. If you are starting a software project from scratch, a blank screen, with a target language in mind, you will want to find a programmer with a particular specialty in that language. (Though you might ask yourself why you have gone as far as specifying a language before consulting a professional.) If you have a corpus of code you are modifying or extending, a specialist will be less critical, as your programmer will have plenty of examples to look at and learn from.

    This blog entry from Amazon team leader Steve Yegge distills the technical interview nicely.

  4. Michael says:

    “It’s also worth noting that projects often dictate choice of language.”

    Typos are bad enough. Typos that change the meaning of an entire paragraph are terrible.

  5. I have no idea what a system manager is, so my response may be irrelevant, but you asked for developers to respond…

    I’ve been a developer in software companies for a dozen years now, and have interviewed more than a hundred candidates in the last five years. I can’t imagine hiring a candidate who was mediocre in other ways (negative personality, unenthusiastic, poor design skills, not bright enough — choose one) but who had an excellent command of the language. I don’t mean “in comparison with an otherwise enthusiastic candidate who didn’t know language X” — we’d rather leave the position empty.

    Candidates at my employer pass through 6-7 group and one-on-one interviews. Only two of those are language-specific — one in Java, one in SQL. Both I (the SQL interviewer) and the Java interviewer have recommended we hire candidates who only scored 1 or 2 out of 5 on knowledge of the respective languages. The only way we’d nix a candidate who was strong on the non-language interviews is if they knew neither Java, nor SQL, nor web programming. A particular language is simply the easiest thing about software development to learn.

    Of course it’s useful to have a language guru around, if your team is big enough. But you probably only need one.

  6. Mark Dennehy says:

    What qualifications might be listed in a job ad? Try none. Probably the best lesson on job ads might be to ignore completely what they say the company wants and just get a contact point from them and then to pursue that contact point for the real details. In the past few weeks, while locating my current role, I’ve seen more dross in job ads than I thought possible. And the mistakes were not subtle either – they were very, very basic and very, very avoidable:

    http://stochasticgeometry.wordpress.com/2008/04/25/tips-for-hiring-new-engineers/