Hmm, Maybe We Were Both Wrong…

OK, I interviewed three people today for positions at my company. As one of the questions in the interview I thought I’d give them my list of the names of ten “obscure” Java projects and see which ones they could describe. My hypothesis going in was that: a) Everybody would get some of the easy ones like Velocity and Lucene (after all, they are Apache projects) and b) I would prove my critics wrong because nobody would get all of them right or even eight out of ten.
None of the people in question listed less than several years of Java work and most claimed good knowledge of various J2EE technologies like JDBC, JSP, Servlets, and EJBs. Based on the interviews, they weren’t very strong candidates but two of them were so-so.
At the end of the third interview not one of them had come up with even a one sentence description of any of the ten items that came close to the project. I got one who referred to Lucene as that “text formatting thing”, I think he may have confused it with Velocity. Another referred to Apache XML-RPC as something to do with Apache’s web services stuff, “like SOAP.” Grand total I had gotten maybe six guesses and/or mumbles about the items and that is as close as it came folks.
I’m curious to see if anyone next week will be able to identify any of them and if anybody else has any interviewing to do, what are your results?

9 thoughts on “Hmm, Maybe We Were Both Wrong…

  1. codist

    Not surprising to me. Almost everywhere I have worked people only know what they are given to work with. Knowledge of open source projects seemed to be pretty rare. I’ve always spent a lot of time keeping up with everything but most folks could care less. Management at companies often have dim view of free software anyway, at Lockheed (they make F16s) open source is forbidden!

  2. Gregg Bolinger

    I’m actually not too surprised either. A friend of mine just graduated with his Masters degree in CS and I bet he couldn’t describe any open source projects either. Mainly because he has been in school and has been working for the school doing some hard core C and C++ type work. But also because he has no time to do anything on his own.
    I’ll finally have my BA in CS in 22 months (counting down) and I’m already 30 years old. But I spend all my free time looking at open source projects. Testing things out. Coding for no other reason than to code (I have no idea what drives me to do this, I must be crazy. Hmm, sounds like a blog entry). My current job has nothing to do with programming although I have created mini projects for myself at work the require coding and since they aren’t sanctioned by my employer, open source projects are my only means of survival.
    I would be interested in the other 8 projects you had on the list.

  3. David Kennedy

    Not surprised by your results, but your questioning would be unfair if, for example, you were expecting a server side developer to recognise Batik. I could vaguely describe 8 of your 10 projects, but due to the nature of my work, I’ve not used any of them. (I’ve played with 2, Lucene and BSF.)
    I’ve had the same experience lately, where I’ve met experienced, knowledge and bright Java developers who were quite happy being ignorant of the wider world of open source projects and libraries available. To them, it’s not needed for their particular work, and quite often, their company forbids incorporation of such code anyway.

  4. Daniel Farinha

    It’s interesting.
    A candidate who can name all those obscure projects… is he/she a good candidate?
    I know from experience that you normally learn about all those projects when you’re bored and… unemployed for long periods of time. So you learn about such projects to keep yourself busy, updated, and so that you can add some more stuff to your CV. Been there, done that.
    You might have full-time employed developers who keep themselves updated, but then they’re obviously working in a place where not a lot of work gets done.
    If that’s the kind of people you want to hire, then that question is perfect.

  5. John Munsch

    >You might have full-time employed developers who
    >keep themselves updated, but then they’re obviously
    >working in a place where not a lot of work gets
    Oh, of course, obviously…
    It couldn’t be that we’ve used four of those different open source projects where I work in the last year and evaluated two other ones for use in projects.

  6. Jason Barker

    If I’m asked such question, I would answer with “Give me an access to Google”.
    Does it matter if I know many/most of those projects?
    Isn’t it more important to have the skill to learn/use those obscure projects, instead of knowing what they are but not knowing how to use them.
    > Oh, of course, obviously…
    Are these people single by any chance? Or maybe don’t have any additional responsibilities outside work?

  7. Jason Barker

    Forgot to mention, I’ve used displaytag (been quite active in the mailing list – submitted patches), lucene, velocity.
    I know pico container, apache xml-rpc, anthill, and batik.
    I still don’t understand what you want to achieve by asking the candidates that question about obscure open source projects.

  8. John Munsch

    I have three kids and a wife myself, though two of the children are married and live in other cities. As for responsibilities outside work, I have them, but the difference in my case (and maybe in yours)
    is that I work on software even when I’m not at work simply because that is what I enjoy doing 🙂 If I had some other hobby I would doubtless be less informed.
    The original reason for asking people this question was not to see if they were acceptible candidates. I would take someone who is unfamiliar with all ten of the items on that list if they were a good candidate in other ways. It was mainly to test the assertion by others that there was in fact nothing obscure about those ten items and that everyone would know what they were. In fact, if you look back at the original entry, it is suggested over and over that *I* am the ignorant
    one for even suggesting that everyone doesn’t know what Velocity and Lucene are because they are Apache projects. Those people believed that pretty much everybody carries around the complete Apache catalog in their heads and since I had interviews coming up I decided to test that. That’s all.
    Now. Here is where I think we _actually_ differ on this subject. I don’t expect everybody on a given staff to stay up to date on all these items. BUT, if you don’t have one programmer like that for very say… ten or so on your staff, then when your programmers say, “We need a user friendly templating engine and we’ve added four weeks to
    the schedule to build it,” there is no one to say, “WHOA! You need to check out Velocity. You are re-inventing the wheel.” Software development today is more than ever like being a Lego Master Builder rather than being a master painter. When I first started most every project was responsible for putting every brush stroke you saw onto the canvas. These days you have an enormous head start if you have at least some people who know every part available to them and can go straight to the right one or can give you a short list to look at without an extensive search just to find tools that might help.

  9. Jason Barker

    > if you have at least some people who know
    > every part available to them and can go
    > straight to the right one or can give you
    > a short list to look at without an extensive
    > search just to find tools that might help.
    No one knows every part, everyone has different areas of interest & expertise.
    The practice at my workplace is to ‘spike’ it. Do a 10-15 minutes Googling (no extensive search has ever been needed) and investigation. To make sure no wheel gets reinvented and to find out what tool is best for what.
    When I first suggested the use of displaytag to the team (back in version 0.85), I didn’t know about it, no one else in the team did. But after the requirement for table column sorting and exporting came up, then I Googled, read the search result (a mailing list), investigated the project, and decided to use it.
    If someone suggests 4 weeks for a templating engine while velocity is already there just like in your example, that person might need to consider quitting his/her job.

Comments are closed.