Slashdot Mirror


Measuring LAMP Competency?

An anonymous reader writes "Our company is getting ready to hire a number of programmers. While the majority of the prospective candidates do have good-looking resumes, we are looking to see if we can get some clear metrics in the assessment process. After a little research we have learned that there is a well-established PHP + MySQL training and certification process, and some of the candidates are already certified. There is also a candidate with a good portfolio, a lot of experience, and no certification. Most of the applicants also have some college/university science-related education. So our goal is to be able to somehow measure LAMP overall competency as well as basic computer science concepts such as BNF, data normalization, OOP, MVC, etc. How do Slashdot readers go about this kind of characterization?"

26 of 453 comments (clear)

  1. Ignore the certificates by Anonymous Coward · · Score: 5, Funny

    Get them to write a trivial app.
    If it contains 'INSERT INTO table ('. $foo. ');'

    Kill them.

    1. Re:Ignore the certificates by garaged · · Score: 5, Funny

      the part that is not using the mysql_real_this_week_special_now_for_sure_escape($foo);

      --
      I'm positive, don't belive me look at my karma
  2. No faith by jvillain · · Score: 4, Insightful

    Personally I have no faith in certifications at all. I know tons of people who are certified out the yazoo and can't do a darn thing. I also knows tons of people with no certifications especially in open source where lots of us were working long before there were certifications, that figure things out on their own and dig for information. The people that are driven to dig are the ones that rock the house. Needing a course to learn is some what of an automatic fail to me. You will learn far more about which type of person they are in the interview than you will from a certification.

    1. Re:No faith by badboy_tw2002 · · Score: 4, Funny

      Its the same way with doctors and civil engineers. I'll take my bypass (both heart and highway) from the guy who was to busy getting shit done to get board certified.

    2. Re:No faith by Capt.DrumkenBum · · Score: 4, Insightful

      I mostly agree with you, but some people go out and get the certification so they can get past the HR droid who only knows "Looks for X certification."
      I am a big proponent of hands on testing. Sit them down in front of a machine and give them a task to do. Time them, and then look at history, to see what they did and how they did it. If you see any red flags then don't hire them.

      --
      If I were God, wouldn't I protect my churches from acts of me?
    3. Re:No faith by Gulthek · · Score: 5, Insightful

      Unfortunately IT certification has nowhere near the requirements and rigor that doctor and engineer certification requires.

      If IT certification were more than "pay $amount -> get cert" then I'd be all for giving them credence. But they aren't. Currently they just highlight the programmer or IT professional who wants to hide their incompetence with paper.

    4. Re:No faith by Lunix+Nutcase · · Score: 4, Insightful

      Nice false dichotomy there. There are plenty of people who actually know things AND have certifications.

      Needing a course to learn is some what of an automatic fail to me.

      Why? While self-learning is nice there are plenty of self-taught programmers and sysadmins that are complete garbage because they taught themselves to do things the wrong way and since they had no positive or negative feedback from someone like an instructor they have no idea that they are even doing things wrong.

    5. Re:No faith by Dr.+Evil · · Score: 4, Interesting

      That's a pretty bold assertion. I assert that it is not true.

      Although... most certifications are entry level. They only say that you've read the material, have done some practice and have a basic understanding of the theory. They *try* to test for experience, but the Cisco, Microsoft and Linux certs can be passed without experience. I've written others, but I've seen few certs which contradict this.

      Intermediate industry certifications mimic designations. They require nomination/sponsorship and years of experience, also point systems to maintain certification. They're much harder to fake.

      All of these certifications make a reasonable minimum requirement. That's all. Most people I've met who are anti-cert seem to be resentful that they'd have to study material to acquire product knowledge in an area they've never seen, nor expect to see. Those people of course are missing knowledge. Maybe it's relevant to their jobs, maybe it's not. They'll never know, and they might spend weeks trying to figure out some problem because they don't know the capabilities of the software/tool/product.

      Now I have to get back to work fixing some device which was deployed by some self-taught boob who didn't adhere to best practices for the device... probably because they used the default configuration without knowing what the defaults were. They of course moved on, and are probably telling people that certifications don't matter...

  3. Re:ask to see a server they configured by pak9rabid · · Score: 4, Insightful

    The answer seems simple. Ask for guest access to a server that they configured. If they don't have something like that you could set up a simple lamp server and have them perform some basic tasks.

    This may be good for interviewing people for a sysadmin position, but I fail to see how configuring a server has anything to do with the applicants ability to develop software.

  4. why BNF? by Anonymous Coward · · Score: 5, Insightful

    Why BNF?

    1. Re:why BNF? by Jesterboy · · Score: 4, Informative

      Why BNF?

      I think he is referring to Boyce-Codd Normal Form, a level of database normalization, as opposed to Backus-Naur Form, a way of describing context-free grammars.

      Perhaps he accidentally dropped the C in the acronym. Although, judging from my CS classes, this is a common confusion.

  5. Portfolio. Previous work. certificates mean zit by unity100 · · Score: 4, Insightful

    there is no higher proof of competency and ability than proof of prior work. certificates are like school courses. everybody can take one if one attends the courses, or passes an exam. practicing in the field however, is an entirely different matter.

    portfolio shows that you not only know your field, but also you have properly and responsibly participated in projects, collaborated, and actually built stuff with it, and saw them to their completion.

    that is the kind of people you want to hire. and nothing than a portfolio shows it better.

  6. Re:ask to see a server they configured by WankersRevenge · · Score: 5, Insightful

    As someone who has run a dedicated server for seven years, I would never grant any unknown third party access to my server. Even as a guest with almost no permissions. That's just inviting trouble into your house. Give them code samples, answer questions, provide references, but keep the digital doors locked unless you don't value the data on the machine.

  7. Have someone competent interview them. by jthill · · Score: 4, Insightful

    Skip the alphabet soup. Do you really have no one on staff capable of recognizing competence?

    If you don't, who were you planning to have manage the new hires? Who were you planning to have interpret your metrics?

    --
    As always, all IMO. Insert "I think" everywhere grammatically possible.
  8. Re:More than just knowledge by fmaresca · · Score: 5, Insightful

    A good work ethic and honesty ...

    is not hiring two persons to drop them few months later.

  9. One question I always ask... by tirk · · Score: 5, Insightful

    I've hired a couple programmers in the past and there is always one question I ask that I have found sorts out some of the better candidates. The question - "I've just requested you to do some task and you find you really haven't worked out that type of task in the past and aren't fully sure the best approach. What do you do?" The answer I'm looking for is basically they'll let me know that's a new area for them, but that they'll go out and find examples of that type of task and research it and find out how to make it happen. If they say anything along the lines of having me help them, or ask to go to a class, or anything along that line it will automatically set up red flags. And of course, just answering the question "correctly" doesn't automatically mean they are good at doing that, but you can dig deeper into how they'd research it, etc. I've been a programmer for over 25 years now and while there are certain core things that a computer can do and some it can't, the actual processing of it is what matters and it's nearly impossible for you to remember every little detail of every language and system, the real power is in knowing where to look to quickly get your answer. And as a final important talent, a person needs to be good at understanding and conversing specifications from someone that is not technical. Just my thoughts on what I've looked for....

  10. "as well as basic computer science concepts" by FuckingNickName · · Score: 5, Insightful

    as well as basic computer science concepts such as BNF, data normalization, OOP, MVC, etc.

    Put 10 seasoned programmers in a room and, without access to references or preparation, ask them to write the BNF for some subset of a well-known language, normalise a database in stages up to 5th normal form, give a detailed description of OOP implementation in any language (not just "how is inheritance formed?" but "demonstrate polymorphic behaviour - suggest how it might have been implemented - describe its disadvantages" etc.) and ask them to fit some app description into MVC pattern.

    You know what? Zero of them will succeed in all of your tasks. And, dear reader, if you claim that you will then you are lying.

    You know why? Because testing like this doesn't reveal anything. I passed University with top grades throughout because I knew how to bone up for an exam and cough up the syllabus as requested, as well as having a moderately mathematical head. I can demonstrate prior performance and I can grasp new concepts. I can remind myself quickly of old concepts when given access to a reference.

    But I don't have some magical savant-level ability to memorise everything I've ever done (and, experiments on savants suggest, if I did then I'd lack the skills to apply my elephantine knowledge to solving general commercial development problems). It's never hindered me. This sort of ability might be necessary if I were, say, a field intelligence agent(?), and not being able to concoct the right deception within a subsecond time interval might result in my death. Otherwise, it's just a dog and pony show.

    1. Re:"as well as basic computer science concepts" by cenobyte40k · · Score: 5, Insightful

      I have always said that being an engineer (Programmer) is less about what you know and more about knowing how to look it up. I have been a system engineer for going on 20 years now and I still look up 90% of the stuff I do. I could muddle through many of the tasks but why would you do that when I can look it up, get it done faster and have a higher chance of success? I think you really hit the nail on the head with this testing people in isolation thing. It doesn't tell you anything about how well they work in groups, how quickly they can get through reference material (I would suggest that looking it up is my sharpest skill), thus not really telling you anything about problem solving in the real world. Testing doesn't show you anything, the worst engineers I have ever worked with had a list of certs as long as my arm. The best ones didn't have a cert or degree or anything.

  11. Re:ask to see a server they configured by bsDaemon · · Score: 4, Insightful

    A lack of ability to properly configure a server can often lead to developers writing code that requires more than the minimum privilege level, wonky configuration "needs" without really thinking it through, and a mindset of "throw hardware at it!" Working previously as a system admin at a web hosting company, the new hires that came to us, usually with a lack of college education or experience with compiled languages but a lot of experience as "web developers", they answers usually involved excessive needs for additional memory. A lot of the resource abuse issues I had to deal with also boiled down to a customer installing a software package that had a lot of neat features but required dedicated hardware to run far in excess of what a shared hosting package or even a VPS could deliver without affecting quality of service for other customers.

    I'll freely admit I'm not a good web developer, but I can hold my own reasonably well with Perl and C in the areas I work in then and now. My first instinct, however, is exactly the opposite of "buy more RAM" or "just let everything in through the firewall." Not saying all, or even most, developers are like that. But a very high percentage of the ones I've seen in action are.

  12. Re:Previous work by thomasdz · · Score: 5, Funny

        "The COO has come to you, because no one else is available. The CEO is flipping out. There's a server on the network running some common variety of Linux. Transfer rates from it to any other machine are very slow, regardless of the protocol. i.e., http, ftp, rsync, samba are all slow. What do you do?"

    OH GOD OH GOD... what wall jack is that server plugged into...what? Not labelled? CRAP! OK, I'll just PING it and look it up in the switch arp table and cross reference the MAC and the switch port... OH NO...THE RDP client on my Blackberry just crashed and I'm in the middle of the highway during rush hour... CRAP. OK, OK...calm down...make up something... OK, um tell the CEO that the server is under service lockdown and frozen due to the upcoming board meeting and potential buyout... yeah...that'll give me a couple of days leeway... whew!
    Then, since I'm in the network group, I can just blame it on the server group since they never patch their servers anyway... that E1000 driver never did work properly on Linux, yeah yeah that's what I'll do...

    --
    Karma: Excellent. 15 moderator points expire sometime.
  13. Re:Previous work by eiMichael · · Score: 5, Insightful

    I was with you until the yelling part, an interview is a two way street. If I'm getting yelled at in an interview I can only imagine how bad it will be in the workplace.
    On second thought, if that's actually how your office functions, then I guess it is honest and appropriate. I just wouldn't want to work there.

  14. Little Bobby Tables has your answer by Wee · · Score: 4, Informative

    Which part of that, specifically, do you find offensive?

    It's not offensive so much as funny.

    You don't, by chance, do any web programming do you? If so, what's the URL? Just curious is all...

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  15. Re:Previous work by oh_bugger · · Score: 5, Insightful

    Agreed. Meeting a table thumping, yelling person in the interview would just cause me to stand up and say "I'm sorry, I'm looking for a position at a professional organisation". If this sort of situation is routine enough to require somebody to do well in it during an interview then I'd say there are some problems there.

    In real situations this doesn't happen. At least in the places I've worked. There was an incident of massive negligence by the support team involving one of our biggest customers databases last year. Instead of someone in management hitting the table and yelling, everyone in the development team already knew it needed to be fixed and so we fixed it. A good team doesn't need yelling at.

    It seems to me that the type of managers who yell and ask why are usually the ones in the positions who don't need to know. A good manager will be right there with the team putting forward ideas, not simply asking questions. If they're not going to be putting in ideas then they should get away from the problem and let people get on with it.

    --
    Go home and shave your giant head of smell with your bad self
  16. Re:Previous work by tomhudson · · Score: 4, Insightful

    and check the interface duplex. Obviously, the last set of answers is the right one.

    First step is to run top, not to check the network. Just like the first step, when a car will crank over but won't start, isn't to pop the hood and start fiddling with the wires, but to check the gas gauge.

    Always eliminate the easy things first.

  17. Re:Previous work by nabsltd · · Score: 5, Insightful

    Actually, I never had anyone walk out. Since it was presented as roleplay of a real world situation, and I'd explain the details of the situation calmly and clearly, it was evident that it was an extreme example.

    What a competent interviewer would do is set up a VM with the problem they want diagnosed. That way, there wouldn't be any need to set up a fake "situation" where the "real fault" can be any number of things, including ones that don't match what you have established in your head.

    Of course, if you can't handle an environment with occasional actual preparation for your job (e.g., interviewing), I wouldn't want you to work with me.

    That's the last thing I'd ever want is a stressful situation to come up, and an employee walking out because it was "too hard".

    Being "yelled at" by a superior is not a "stressful situation". It's unprofessional behavior. Being told politely and calmly that there is a problem that needs to be fixed quickly because the company is losing $X million per hour is a "stressful situation".

  18. Re:Previous work by spiritgreywolf · · Score: 5, Funny

    Egads - it's the whole "Root Cause Analysis" crap. A mile-long report filled with BS that means nothing to anyone else and and action plan of "how to prevent this from happening again" blah blah blah. I always felt those things should be triaged first to determine if the RCA was even under our control. But whatever.

    I worked for a hospital in LA that rakes in far too much money than they should and they do those a lot. Usually they would pay the most expensive consultant to write one of those things up for it to only be ignored. They would have already vilified someone (responsible or not) and then just go through the motions.

    As far as the interview - deal with it. If you can't stand a little heat stay out of the kitchen. I would probably just laugh at the guy slapping the table and then play along. I would say "Good. We have some spirit here. You there - table slapper. First thing I'll say is use some of that fire and gumption to get the reatrds with their neckties on too tight to get the f**k out of my way while I fix the problem - and be advised, every time you slap the table adds another 1 minute to my problem solving because you're being annoying, and another 10 dollar Starbucks card to feed my liquid crack habit."

    And as someone who had to deal with a LAMP server I built on spare parts a few years ago I encountered just such a thing - ARP flux. I still don't understand a lot about it but was able to get it working. And don't knock Google. I don't pretend to have all the answers - never do. I am a jack of all trades, master of none. If all I am is all you got, you'd do well to either have coverage I can count on or a MiFi for me to have unfettered access to resources I've built over the year. Be smart. Leverage your people and their assets they know they can reach.

    As to nobody being available and it filters all the way down to me to fix a critical server? Looks like that's the FIRST thing that goes into your RCA before you even THINK of rattling my cage, Mr. Manager. "Business Continuity Planning" - learn it and love it :-)

    That said, I am now and always have been happy to roll up my sleeves and try something to help regardless of the circumstances. CIO, CEO, Line Manager or Mary in accounting who blushes at the comment of "I think your mouse has a dirty ball" :-)

    One of my favorite things to ask is like what I read a while back on the site "Joelonsoftware". "Build me a house" and hand them a pen. If they just jump up and start writing a square - they lose. Ask questions. Probe a bit. "Who wants the house? Where? Underwater? In space? what's my requirements? I figure if you're asking ME to design a house we're pretty much open to anything."

    Does the person have good troubleshooting skills? Are they well rounded? Common sense is not so common much anymore. What kind of things do they like to do as "stretch" things on their own time? I write hospital EDI interfaces for integration engines for a living and I very much enjoy it. It also means what I do touches many, many aspects of programming and system design to get things to work together. Part programmer, part analyst, part teacher, part hardware engineer, part tech support, part application setup, part network guy to help figure out VPN stuff. Being able to get iptrace running on AIX so I can grab a file for bringing in to Wireshark can be helpful too when the ass-hat on the vendor side says I'm sending him 2 of everything and I'm saying he's on crack.

    So you wanna slap the table? I'll roll with it and we can laugh about it. I don't take any of that seriously. Be advised I might also stick my finger in your coffee and then taste it and say "Hmm.. A cream and sugar kind of fellow, eh? You should warm that up a bit." right in the middle of your mini flake-out. Someone did that to me years ago and I made the choice right then and there to laugh at that kind of thing. It was either that or I could have just kicked his ass. Of course he was much bigger than me so I was pretty sure I would have had to pack a lunch; since kicking his ass would have most likely been an all-day job. Lucky for both of us I was lazy.

    --
    Never have a philosophy which supports a lack of courage