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?"

453 comments

  1. Previous work by Anonymous Coward · · Score: 1, Insightful

    Look at things they have done! Not just the outside, check the code, look at the database structures etc.

    1. Re:Previous work by JWSmythe · · Score: 3, Insightful

            In the past, I've asked people to send me sample code. Some was protected by various agreements, so they sent me snippets that were enough for me to review their coding style, without giving away the details of their work.

          The clincher is always the interview. I don't just sit down and talk with someone about what they know, and let them brag without anything supporting it. Ask real world questions. Have them write a few lines of code to do something on a piece of paper or whiteboard. It doesn't have to be syntactically perfect, but it has to be close.

          My interviews were more for sysadmin stuff, so having them describe what they'd do for a task can be very revealing. Like a question like this:

          "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?"

          I'll have established what the real fault is in my head, and give them appropriate answers to what they say to do.

          It's a pretty simple one to solve, or at least bring to a point where authorized assistance is needed. I've gotten all kinds of answers to that one. Some answer "call someone else for assistance", which I tell them the someone else is unavailable. Some just reboot it, which isn't a valid answer as a first step. I tell them "No, it's a production machine. You can't." Some actually start pinging, checking ifconfig for errors on the interface, and check the interface duplex. Obviously, the last set of answers is the right one.

          Adding extra stress is always useful, if they don't get it right off. A little yelling and table pounding is enough for that. "The COO is demanding an answer now! [pounding on table] We're losing money! If you don't get this fixed, it's your job on the line!" Some people do fine. Some just stare at you dumbfounded without a clue if they don't have Google in front of them.

          When it's my interview, and my decision (it's not always both), I evaluate how good the answers were, even if they were wrong. Did the guy show a competent level of knowledge, or does he just think he can do the job and has no clue. A few will float to the top, and quite a few get put to the bottom of the list.

      --
      Serious? Seriousness is well above my pay grade.
    2. 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.
    3. 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.

    4. Re:Previous work by Anonymous Coward · · Score: 2, Insightful

      If you started yelling at me in an interview, I would walk out. No one who is competent is going to put up with behavior like that. Enjoy your crappy candidates.

    5. 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
    6. Re:Previous work by Anonymous Coward · · Score: 0

      Two problems:

      First, one important factor of any competent IT person is knowing where to look for the answers that aren't stored in their brains. You're putting them in a situation where they have to find the answer without access to their resources, and then shouting and pounding the table when they're unable to do so. Not good.

      Second, many people, like myself, find interviews more stressful and intimidating than real world problem scenarios. A person who can't solve a problem in an interview with some maniac screaming at them isn't necessarily a person who can't solve a problem in a real world crisis.

      As for sample code, it's only useful if you also question them about the code in the interview. You need to know why key design decisions were made, and what trade-offs were considered.

    7. Re:Previous work by JWSmythe · · Score: 2, Interesting

          As I've found, there's always some degree of yelling in high dollar production environments, especially where a few minutes of outage can be the difference between a highly profitable day, or a huge loss. Hell, people freak out when a Windows file share stops working, or Outlook eats their mail. I've never seen a warm fuzzy workplace that involved a production environment and/or deadlines, that didn't have the occasional loud emotional moments.

          When I've interviewed, the yelling is only a small part, during the roleplay part. The rest of it was a fun conversation with plenty of joking around. If they can't laugh at my jokes, they won't be very entertaining to work with. :)

          The last place I worked at, it was unfortunately an every day occurrence. It was always something, which sometimes included outages at tier 1 providers that we were not directly connected to.

          "Oh my god, this guy in [insert random city] called saying he can't reach us! Fix it now!"

          [traceroute to see where the problem may be]

          "There's an outage on [insert another provider]. We'll have to wait for them to fix it."

          "No, call them now! Get it fixed!"

          "We're not their customer, I can't call them. They'd just hang up on me."

          "Do it anyways, I don't care, get it fixed!"

          [calls 3rd party provider, and gets hung up on]

          "They hung up on me."

          "Call [some sales minion] at [our provider]! He'll get it fixed."

          [calls sales minion, gets told he can't do anything]

          You see where this goes. About 30 minutes of people running around like idiots, and suddenly like a freakin' miracle the 3rd party provider fixes their problem and the world is saved yet again. Of course, they always want a written report explaining in detail why the outage occurred, and how could we avoid it in the future, and of course the report would need to be read in a lengthy meeting. Multihoming and putting our own network on a better provider with better peering agreements were always shot down, so this whole thing was repeated every few weeks. I liked the options of not answering the phone any more, and investigating the problems after they were already resolved. It made life a lot simpler. :)

      --
      Serious? Seriousness is well above my pay grade.
    8. Re:Previous work by JWSmythe · · Score: 1

          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.

          But hey, if you can't handle an environment with occasional high stress, I wouldn't want you there. 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".

      --
      Serious? Seriousness is well above my pay grade.
    9. Re:Previous work by Anonymous Coward · · Score: 0

      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.

      WELL YOU'D NEVER CUT IT HERE THEN, YOU MORON.

      DON'T LET THE DOOR HIT YOU IN THE A$$ ON THE WAY OUT!!!!1!1!!ELEVEN

    10. Re:Previous work by JWSmythe · · Score: 1

          For the sake of the scenario, the machine is in a datacenter, in a rack with everything labeled, and you are sitting at a desk where you have both any tools required on your desktop, as well as nearby access to the physical machines. I used variations of that one frequently, but it was tailored for the persons claimed skills and the job role they were applying for. It's silly to ask a DBA or web programmer to debug a networking issue. :)

      --
      Serious? Seriousness is well above my pay grade.
    11. Re:Previous work by Attila+Dimedici · · Score: 2, Insightful

      As others have said, if you yell at me during the interview, I'm not taking the job. If you thump the table during the interview, I'm not taking the job. I find hypothetical questions very hard to diagnose. I had an interview once where they asked me how to solve a problem that I had solved just the week before on the job I had at the time. It took me longer to remember how I diagnosed and resolved the problem than it had taken me to do it.

      --
      The truth is that all men having power ought to be mistrusted. James Madison
    12. Re:Previous work by JWSmythe · · Score: 1

          Well, on the first part, it's a difference between "I don't know", or giving a mostly right answer from memory. If you have to go to Google to find out what program to use to view interface stats (for a SysAdmin), or look up the syntax for say "include" for C, then that's not exactly the candidate you want. Partially or mostly correct answers are good answers. Completely and utterly wrong answers are ... well ... wrong.

          Some obscure things aren't fair game for interviews. How do you change an interface configuration on a Cisco 2980G? That's a trick question unless the person really knows Cisco.

          And of course, asking for definitions of internal use abbreviations and internal policy is just impossible. One place I was at had an acronym for almost everything, and there were other internally used codes, and none of them were documented. Well, pretty much nothing was documented. It took a couple weeks to find out what most the internal use acronyms were. It took the first week to find all the servers, and another month to find out what their purpose was, and even longer to actually get access to them so I could work on them. It was my job to work on them.

      --
      Serious? Seriousness is well above my pay grade.
    13. Re:Previous work by Anonymous Coward · · Score: 0

      And as you're pounding on the table yelling at me during the interview, you have just demonstrated for me that this is NOT the type of environment that I would want to work in. Interviewer FAIL, I decline the job if offered.

    14. Re:Previous work by TrumpetX · · Score: 1

      If an interviewer yelled at me -- even in a mock situation -- I would walk out of the interview right then. I'm worth more than that.

    15. Re:Previous work by Peach+Rings · · Score: 1

      What kind of real-life stressful situation involves the person being stuck in a chair without a computer and without access to the internet?

      When something goes wrong with my system, if the Google search doesn't give me a thousand pages of exactly the answer I need like it usually does, I peruse the related logs, or have the network interfaces print their configuration state, etc, and scan through looking for something unusual. In effect, this turns the answer to your question into: "I look through the log and notice something out of the ordinary. I quickly find that that's the problem and fix it immediately."

    16. Re:Previous work by Anonymous Coward · · Score: 0

      Yelling is a very bad job interview technique and also not a very realistic one (it's not the army!!! People have to use their brain!
      ).

    17. Re:Previous work by Anonymous+Brave+Guy · · Score: 3, Insightful

      But hey, if you can't handle an environment with occasional high stress, I wouldn't want you there.

      You seem to be confusing refusal to accept unprofessional behaviour by idiot management with an inability to handle high stress situations. I suggest to you that the kind of person the GP poster is talking about may well be quite capable of handling the stress, but prefers to avoid the problem situation in the first place by working for a more professional organisation instead.

      That's the great thing about recruitment processes: they're two-way deals, and revealing in both directions. If the interviewer is an ass, or you're good but your CV doesn't get past the HR weenies for some silly reason, then you can pretty much always bet that the corporate culture is poor and the employer isn't somewhere you want to work anyway, so not getting the interview or walking out early is no problem.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    18. Re:Previous work by phtpht · · Score: 1

      Look at things they have done! Not just the outside, check the code, look at the database structures etc.

      Especially look at how they write the automated tests, if they do so at all.

    19. Re:Previous work by turbidostato · · Score: 1

      "What kind of real-life stressful situation involves the person being stuck in a chair without a computer and without access to the internet?"

      One with a flakey router?

    20. Re:Previous work by Anonymous Coward · · Score: 0

      You yell and bang on tables while giving interviews? :-(

    21. 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.

    22. Re:Previous work by Anonymous Coward · · Score: 0

      Some actually start pinging, checking ifconfig for errors on the interface, and check the interface duplex. Obviously, the last set of answers is the right one.

      Is it? The interfaces on my servers have *never* spontaneously changed their duplex settings. I suppose there's no harm in checking it, but unless you have crap for change management and production control processes, there should be a near zero chance of that being the issue on a production system. There are many things that are far more likely to be the problem in this situation. In fact, I'd say checking the interface duplex is the textbook answer, not the real world experience answer.

      Obviously, indeed.

    23. Re:Previous work by DarthVain · · Score: 1

      That's one thing I hate and a turn off for the position. If you hand me a piece of paper and a pencil and ask me to write near perfect code, I feel like slapping you. I mean if the job is for code monkey work, then OK, but for other related fields it is BS.

      Now you did say it didn't have to be perfect syntax so I'll give you points there, but most don't say that. They hand you instruments used 200 years ago and say "Code!"

      To me that is ridiculous, and not based in reality at all, and if it is, I certainly don't want to work there. If and when I do code, I am surrounded by manuals and books for reference, volumes of my previously used code I can steal from (which I find most useful), as well as a host of online sources now (not to mention co-workers, but I suppose they don't want a code-mooch either).

      Starting from scratch with no reference is just silly. Of course if someone is applying for a job where its primary function is coding in a particular language, and they proclaim their excellence for it, then ya they might have to prove it... but at least give them a terminal.

      If you want me to make an algorithm, or pseudocode, or logically arrange some date, or create a conceptual structure, sure...

      Anyway I have had (thankfully not for years) a few interviews where one component was, here is a problem (paragraph on a piece of paper), and a pencil and paper, solve the problem using language X, you have 30 min. Go!

    24. Re:Previous work by ydrol · · Score: 1

      Problem is if someone is yelling at me, my nature is to become very passive (I'm 17st - fairly muscular ), until they go away.
      Depending on their seniority/personality I'd either suck it all up or try to calm them down. or tell them OK go away and I'll get on it.

      Either way my adrenalin will be jacked and I'll need to get a coffee or talk a short 5 minute timeout before I can properly address the problem.
      Unless the solution involves breaking shit or hurting someone (self included) - then I'll be ready right away.

    25. Re:Previous work by Infernal+Device · · Score: 1

      Depends. I'm competent in the LAMP stack, but don't know the hardware it runs on, since that's usually under the people in charge of production servers.

      Go ask them, maybe, instead of bugging a programmer?

      --
      "My God...it's full of trolls!"
    26. Re:Previous work by Anonymous Coward · · Score: 0

          For the sake of the scenario, the machine is in a datacenter, in a rack with everything labeled, and you are sitting at a desk where you have both any tools required on your desktop, as well as nearby access to the physical machines.

      Ahhhh hahahahaha what colour is the sky in your world. Everything labelled? hahahaha I have the tools required right on my desktop? hahahahha

    27. Re:Previous work by tomhudson · · Score: 1

      They hand you instruments used 200 years ago and say "Code!"

      BYOS (Bring Your Own Server). Linux runs fine on laptops. You'll have all the tools you need, the way YOU like them. It's also a handy "working reference implementation." And to really mess with their head, bring your own WAP as well.

    28. 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".

    29. Re:Previous work by cjcela · · Score: 2, Insightful

      You sound like an angry person, having a power trip with a guy who needs a job to make a living. I am sorry if your 'professional' experience involves people doing that to you. I bet you have 'motivational' posters in your office as well. As many others here, I will just walk out of a job interview if yelled at. Yours is yours is just misplaced anger. Grow up.

    30. 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
    31. Re:Previous work by DarthVain · · Score: 1

      I guess now it makes more sense as laptops are everywhere now.

      When I graduated from University in 2000, they were not quite as common or as cheap.

      Now I guess if I was in the market for a job, I would likely have a netbook, with everything I needed to know loaded onto it. Great idea really and I mean for 300$, no reason really not to.

      However I could still see many HR reps not allowing you to use your own stuff for fear of "cheating" somehow... I don't think they would really "get it".

      Better yet, just break out your N800 or whatever linux smartphone exists at the time and go nuts! Might be a bit hard on the thumbs though...

    32. Re:Previous work by sarkeizen · · Score: 1

      One thing I've had to specify with code review is length and scope. I had someone give in 500 lines or a fully functional (but lame) application. I usually ask for a short ( 200 line ) function that solves some specific problem. On occasion I also give a take-home problem where they need to send fully functional code back. Usually ask simple coding style questions in the interview but mostly do what you mentioned and give "situational" questions. So coders might be asked what happens when you notice a security flaw or realize there's a security flaw in code you just released. Oh and make sure that you cross-examine them on their code sample during the interview - especially make or suggest some small change and ask the candidate to explain what that would do to the function - someone who didn't really write the code often can't answer a question like that on the spot. If they can and they didn't write the code then they've spent enough time with it that it suggests they could have. :)

    33. Re:Previous work by Anonymous Coward · · Score: 0

      Your potential hire should be asking why the company got into such a fucked up state where they are going to be put into a firefighting situation, and then promptly leave.

      The correct response to you is: fuck off, your position just isn't worth it.

      Your environment should not be high stress, and nothing you could ever come up with should be so important that it becomes that way.

      Life is too short to deal with fucktards like you.

    34. Re:Previous work by JWSmythe · · Score: 1

          Actually, I've seen this in real life. Not on machines that I set up though. Machines have been put into production, usually with a default install of whatever OS, and they hope it'll work. Mixed duplex usually works fine at low speeds, but has severe problems when there's a load put on it. Some network cards negotiate poorly, coming up at half duplex when the switch is set to full. Or worse, the switch is auto too, so they both negotiate, and come up with different settings. I saw one desktop machine that would negotiate 10baseT, even though it was capable of 100baseTX. The user complained it was slow. I didn't have permission to change port settings, so I couldn't just lock all the ports on the switch at 100baseTX, but I did set their port for it. Even so, their machine would still "negotiate" 10baseT, so I had to manually set it for 100baseTX. Problem solved.

          On the network where I had full control over everything, all was fine and dandy, except once in a while a network cable would go bad. I don't know why, it would just start showing errors on both sides. In those cases, changing the network cable was the answer, but it's because we exhausted all the other potential problems.

          Someone else posted the better answer, which is very applicable too. Check the state of the machine first before going on to external problems. Some people go straight from "Can't reach the machine" to "Call the bandwidth provider".

      --
      Serious? Seriousness is well above my pay grade.
    35. Re:Previous work by jacks0n · · Score: 1

      My take is completely the opposite. I *want* to work in a high speed, high stress, high dollar business with a bunch of rum swilling pirates as co-workers. I don't mind being yelled at when I fuck up. I'd vastly prefer that to some pussy 'putting a note in my HR folder' or some passive-aggressive shit. Most of the time, the so called 'professionals' who can't take a tirade are way too narrowly focused, insecure, easily distracted, with a poor work ethic. Not all of course. There is a thin layer of zen-masters at the top of every high stress industry that has transcended yelling. People think they can become them by aping them, but that just ends up being pathetic.

      Still, LARPing during an interview is totally unacceptable on the grounds that it is phony, annoying, and generally un-manly.

    36. Re:Previous work by JWSmythe · · Score: 1

          Bad router, bad switch. There are all kinds of fun reasons you can't just look for the answer on Google.

          I was in that situation once in a datacenter quite a while ago. I had my laptop. I tried to put the wrong firmware on the switch. The catalyst 2924 has two different IOSs, depending on how much memory it has. All the rest of the 2924s we had were the larger ones. So the botched upgrade left me disconnected in a city where I knew no one, and had no connectivity of any sort. It was the middle of the night, and there was no one around to even let me plug into a port in their cage. The circuit was GigE fiber, so I couldn't even just plug it into my laptop. So I worked my way through it by myself with no way to get online. I got lucky, I had an older firmware on the laptop that would work. Unfortunately, I had to upload it via the serial cable. For anyone who hasn't done that, you may as well take a nap while it's uploading. I got the older IOS on, then downloaded the correct new one, and got it running before the end of the maintenance window, so all was fine. It's just a good example of "you can't just Google the answer." ... and if that had been a interview question, the right answer could be as simple as "Attach the serial cable, and use the boot loader menu to copy the firmware from my laptop via xmodem" They wouldn't need to specify:

      flash_init
      load_helper
      dir flash:/
      [clean out any extra files that are in the way]
      copy xmodem: flash:[someversion].bin
      boot system flash:[someversion].bin
      write memory
      reboot

          If someone did manage to rattle off the right commands from memory, I'd be pretty impressed though. :) "There's gotta be some way to do it, check Google" obviously isn't a good answer. I rather have people who know enough to do the work, rather than have them Google for every step of every task I give them. If I want someone to do that, I'd better only be paying them minimum wage.

      --
      Serious? Seriousness is well above my pay grade.
    37. Re:Previous work by Anonymous Coward · · Score: 0

      I interviewed at Google a couple years ago, this was pretty much how they did things. For 6 straight hours..

    38. Re:Previous work by JWSmythe · · Score: 1

          Well, you need to learn some self control, because stressful situations will come up. If you shut down, you're not of much use when they happen. If you get violent, that's definitely a hazard and a liability. Either way, when the shit hits the fan, you're not going to be a productive member of the team.

      --
      Serious? Seriousness is well above my pay grade.
    39. Re:Previous work by JWSmythe · · Score: 1

          It's nice for helping the scenario along. It then doesn't involve chasing wires or using inferior tools to do the job. If they have an answer that involves a tool that I wouldn't have thought of, it would still be a correct answer. Well, unless it is a hammer or chainsaw, then it's probably wrong. :)

      --
      Serious? Seriousness is well above my pay grade.
    40. Re:Previous work by JWSmythe · · Score: 1

      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.

          Haha, I like your response. :) When I was in charge of my network, you're the kind of person I'd rather have. It's much better than all the other "I'd walk out, then go home and cry" answers.

      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. ... for it to only be ignored. They would have already vilified someone (responsible or not) and then just go through the motions.

          Are you sure we've never worked together? :) Ya, I've seen several people fired over things that weren't even under their control. I never quite got how a company can justify firing someone in a department that wasn't even involved in a situation. They were always fired to prove to some major customer that they did something about the situation. I played that game when I was in charge at one job, but I never fired real people. How's a customer that doesn't have an intimate knowledge of my companies staff know that "John in IT" didn't even exist. (shhhh, that's a secret) I never believed in firing someone for mistakes, unless they were repeated mistakes or plain stupidity. Even if a one-off mistake caused a loss, it was just a mistake, and since we still have humans working jobs, it could happen again.

      --
      Serious? Seriousness is well above my pay grade.
    41. Re:Previous work by turgid · · Score: 1

      So is there another machine on the network with the same IP address? Maybe some machines have software-settable MAcs and there's a duplicate. I had to LART a bunch of people several times because of those ones.

      Is there a loose (ethernet) cable?

      Has someone plugged something silly into the uplink port of a switch? (Did that myself when I was young and ignorant).

      Maybe the poor machine is completely overloaded for some reason?

      Maybe a Windows box is spewing out loads of traffic due to a virus infestation which is causing congestion.

    42. Re:Previous work by Anonymous Coward · · Score: 0

      Being "yelled at" by a superior is not a "stressful situation". It's unprofessional behavior.

      Sometimes people lose their temper when their company is losing thousands of dollars a minute, and their job and future might hang in the balance.

      Good luck finding a company where no member of the executive team ever loses their cool. (I'm guessing you are young)

    43. Re:Previous work by JWSmythe · · Score: 2, Interesting

          I've interviewed with them 3 times on the phone (three interviews each). Some of their questions just plain don't make sense. From what other folks have said, it's just to see how you handle stressful situations.

          Like this question...

          G: "How does telnet work?"

          Me: "Can you please clarify the question?"

          G: "How does telnet work?"

          Me: "Well, it is an application which opens a TCP connection to a server, normally on port 23, but can connect to anyTCP port where you are expecting ASCII data".

          G: "Tell me more. How does telnet work?"

          This went on for about 10 minutes, where I finally had to give in and say "I must not understand what you're looking for, so I don't have a better answer for you."

          During another interview, the interviewer started asking Python questions. I told him that I don't know Python. I'd never touched Python. Python is not listed anywhere on my resume. He spent about 15 minutes on Python questions. During another interview set, where the interviewer was very pleasant and did ask me questions in my skill set, what the Python questions were all about. He said that there was a little holy war over there. Half the company wanted to use Perl. The other half wanted to use Python. It was a constant conflict. As with most holy wars, lots of people have their preference, but don't make a big deal about it. Others will make a huge deal over it just for the sake of doing it. That interviewer probably had a hard on for Python, and didn't want any non-python people on the team.

          In all 3 sets of interviews, I was always interviewing for sysadmin positions, so I thought it was very odd to get in depth questions regarding programming, except for maybe some basic shell scripting. I've known sysadmins who couldn't write the first line of code, but I prefer the ones who can at least modify easy shell scripts. :)

          You got the trip to their office though? Congrats. I'm hoping to get that invitation sometime soon.

      --
      Serious? Seriousness is well above my pay grade.
    44. Re:Previous work by DarthVain · · Score: 1

      For someone with such vast cognitive abilities you must code better than you read.

      Never called you a loser, quotes or no quotes.

      Also not talking about programming jobs, rather jobs where some programming is required. I agreed if the job is a primary coding position, however any IT job these days has a host of requirement thrown on by managers or HR that really don't belong.

      You certainly sound like a douche I wouldn't hire, that's for sure. Drama class is next door.

    45. Re:Previous work by DarthVain · · Score: 1

      Though two points I agree with are paper for notes. I hear of students trying to use netbook/laptops in university for notes, but as soon as you hit anything half sciency your in trouble because you can't easily jot down a chart, graph, mathematical formula, special symbols, etc...

      Even at work now I carry a little 5x2 paper notebook everywhere.

      Also about problem solving in an interview setting. I would much rather a "here is a problem, solve it" than a "define this obscure thing you maybe used once before for us" and be evaluated on that.

      I am not a coder. I code when it helps me solve problems, or I need to look at what so called "coders" come up with. Not so much as to evaluate if they code well, but if their code actually does what it is supposed to do.

      You'll forgive me but must of the coding for our business gets outsourced to consultants, and I have seen first hand the result, and I am not all that impressed.

      I have no doubt it would be different if we had more in house talent, but that's a buisness decision way above my pay grade, regardless of how I may feel about it.

    46. Re:Previous work by Anonymous Coward · · Score: 0

      what about just checking the error logs?

    47. Re:Previous work by AuMatar · · Score: 2, Insightful

      You have to deal with stress, but not disrespect or yelling. The problem there is the yeller, and I don't know a single workplace I've ever been in where someone acting like that wouldn't be disciplined or fired. In fact, the few who I've seen try that *were* fired. If someone came in yelling at me I'd tell him to fuck up and refuse to work on the issue until he came back calm. We are not your whipping boys, you will treat your employees in a respectful manner, or you'll get either nothing from them or their resignation, like you deserve.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    48. Re:Previous work by adamofgreyskull · · Score: 1

      Is this you?

    49. Re:Previous work by Blink+Tag · · Score: 3, Insightful

      You said this:

      For the sake of the scenario, ... you are sitting at a desk where you have both any tools required on your desktop, ...

      And this:

      Some just stare at you dumbfounded without a clue if they don't have Google in front of them.

      Not to be a jerk, but make up your mind. For many purposes, Google is an invaluable tool. The skill you want is the ability to think for one's self--and some may have enough knowledge to know which keywords to look for.

      ... And maybe I'm good enough to be picky, but I wouldn't want to work for anyone who yelled at me (even role-playing) in an interview.

    50. Re:Previous work by orangesquid · · Score: 1

      Well, I'd check to see if the server's cooling fans might be spewing a stream of charged particles, van de Graffe-generator-style, with an electrometer whose input Z is up at *least* around 10^12 ohms---with improper grounding, those charged particles could be a nuisance! So, we ought to check for proper grounding via RF injection. If we find a stream of charged particles and either ground loops or lack of a decent ground in the area around the server, we'd be dealing with the possibility of large electrostatic fields occasionally building up and playing the occasional trick on *MOS silicon, or messing with SMD capacitors in the presence of passing charge carriers (radon daughter decay particles, passing cosmic rays or their post-upper-atmosphere-collision daughter decay particles, local sources of nominal charged particles)---typically this manifests as an occasional memory or transmission error, suggesting that if the server isn't using ECC RAM already, it ought to be (same goes for antiquated bus technologies with zero error-detection/retransmission ability), and that probably the next best step is check the output of ifconfig for checksum errors.
      I mean, in an ideal world, software can be written perfectly, but hardware has physical limitations, and you have to look at the mechanical parts that fail most often and consider all possible paths of influence, right?

      [note to pedants: yes, there are surely a few factual, conceptual, and deductive mistakes above---feel free to correct them, but don't forget, it's called "humor" *g*]

      --
      --TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
    51. Re:Previous work by Anonymous Coward · · Score: 0

      Are you interviewing a developer or a sysadmin? Because a developer should not be expected to know this stuff OR even atempt it.

      It's like saying your are interviewing for a cardiac surgeon and you ask
      "The brain surgeon is off sick and the CEO of the hospital REALLY needs this brain surgery TODAY, what are you going to do!"

      It's not even REMOTELY his area of expertise!

      My answer would be "call the guy who's job it is!"

    52. Re:Previous work by FoolishOwl · · Score: 1

      Pfft.

      Just use your sonic screwdriver to reverse the polarity of the neutron flow.

    53. Re:Previous work by darkpixel2k · · Score: 1

      What kind of real-life stressful situation involves the person being stuck in a chair without a computer and without access to the internet?

      Ok...uh..let me think....

      Got it. You're the network admin for the small-town ISP in Jericho Kansas. You look up from browsing Slashdot and drinking coffee to notice a mushroom cloud in the distance. The boss rolls in at full-tilt and says "The interweb just went down!"...

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    54. Re:Previous work by ydrol · · Score: 1

      I got plenty of self control. I just need a 5 minute break if someone thinks they can yell at me if I've done nothing wrong.
      Otherwise I dont think clearly. Much like how inspiration often comes away from the keyboard.

      The violent thing was a bad attempt at a joke btw..

    55. Re:Previous work by ckaminski · · Score: 1

      I do believe that checking the link light is the easiest thing to do first. If it's amber (10/100m) when it should be green (1gbit), then you know what the problem is.

    56. Re:Previous work by JWSmythe · · Score: 1

          That was pretty rough. The interviewer proposed an impossible situation with no way to resolve it. The question and discussion chain should allow for an easy path for a knowledgeable person towards the correct answer.

          I liked his second story though. I wouldn't have made it past the gate before saying "no way".

      --
      Serious? Seriousness is well above my pay grade.
    57. Re:Previous work by JWSmythe · · Score: 1

          You know, if I was interviewing you, and you did show competence when answering other questions, you'd float straight to the top of the hire list. Someone who can yank an excuse like that out of their ass (assuming you didn't plagiarize it) is always useful and entertaining to have around. :)

          I may have to add parts to my "wheel of excuses". :)

      --
      Serious? Seriousness is well above my pay grade.
    58. Re:Previous work by JWSmythe · · Score: 1

      I did say that most of my interviews were for sysadmin stuff. Reread my post. They were just examples of interviewing, which would obviously need to be modified for the field. The general idea applies. I'm sure we've all seen moments when an update gets pushed out, and breaks in production. Or (god forbid) another problem makes your code not work.

      --
      Serious? Seriousness is well above my pay grade.
    59. Re:Previous work by Anonymous Coward · · Score: 1, Insightful

      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.

      Haha, I like your response. :) When I was in charge of my network, you're the kind of person I'd rather have. It's much better than all the other "I'd walk out, then go home and cry" answers.

      I call bullshit. You're only saying that because your techniques have been criticised above. Now you're adjusting what you really wanted from the answer to fit somebody who vaguely agrees with you. You're pretty pathetic and I hope you don't actually get to interview anybody.

    60. Re:Previous work by Anonymous Coward · · Score: 0

      It's still unprofessional and I'd have no problem telling any CxO who started yelling at me to go fuck him-/herself (and if they attempted to fire me for it then they'd be in trouble since I don't live in one of the "right to work" states in the US where they can fire you for anything they want).

    61. Re:Previous work by Jaime2 · · Score: 1

      But what's more likely -- the NIC configuration changed on its own, or a process ran into some bad data and has gone into an infinite loop?

    62. Re:Previous work by AvgUser · · Score: 1

      A little stress test should be part of the hiring process. Do you really want employee's that freeze when the situation gets sticky? Fact is, the job still needs to be done competently and quickly leaving little room for simple mistakes which often happen under those conditions... In any environment there are going to be stressful moments, you want cool calm & collective personalities that can get to the net & maintain politically correctness. The ability to gently tell the COO "alright, let's take a look, please calm down & let's get to the bottom of this" is an invaluable trait... I give it a thumbs up as a key way to identify those who can do the job without freaking out, potentially adding to the issues at hand.

    63. Re:Previous work by dave562 · · Score: 1

      I've seen it and it isn't pretty. In fact I just left that organization and have found a much better position with a more professional company. I feel sorry for my co-workers who stayed behind because they didn't have the flexibility to up and leave.

    64. Re:Previous work by dave562 · · Score: 1

      I was thinking the same thing. When a server is running slow, especially ALL of the services, I am going to fire up performance monitor and check the CPU. If the CPU is fine then I will start branching out from there, and probably check to make sure that it isn't a RAM or disk space issue. The network is usually the last thing I check because 99% of the time. The network either works or it doesn't. If it has been working, it won't suddenly stop working unless there is a hardware fault. If services are running slowly it is probably because too many people are trying to access them, not because the connection to them is faulty.

    65. Re:Previous work by toddestan · · Score: 1

      Well, given that he wanted to see his thinking process, having the problem be an unlikely problem would allow him to see how the interviewee thinks as he tries several things - including "Does he try the easy stuff first?".

      Like your car example, say you asked a mechanic you were interviewing to diagnose a hypothetical car that wouldn't start. I'd want him to check the gas gauge, but I wouldn't stop him there.

    66. Re:Previous work by JWSmythe · · Score: 1

          You can call anything you'd like from an anonymous account. I don't back down to anyone, so if I say it, it's actually how I feel.

          I don't particularly care if you or anyone else doesn't agree with my interviewing styles, especially where almost none of you have ever sat in on an interview I was conducting.

          Next topic, interrogation techniques. This will be a full demonstration. Do we have any volunteers from the anonymous peanut gallery who wish to play the role of "interviewee"? Liability wavers are on the table to your left. Be sure to have them signed and a photo ID available before you come up to the stage.

      --
      Serious? Seriousness is well above my pay grade.
    67. Re:Previous work by i.r.id10t · · Score: 1

      Unless you are gonna "shout" them a beer or two... :)

      --
      Don't blame me, I voted for Kodos
    68. Re:Previous work by Tenareth · · Score: 1

      That's not a very useful executive. At the point it has been proven to be outside of your control it is time to get the customer support team working with the client to help them talk to their ISP and provide as much information as possible so that they can tell the ISP what is wrong. This accomplishes the task of letting the client know that it is not related to your service. It also lets them know that even though it isn't your problem you are willing to help in any way you can.

      If he/she just keeps yelling at a tech that can't solve the problem, you have a leadership problem that needs resolving.

      Yelling is almost never useful, back when I was a manager or director I would let the executive know that we are working on it and let us do the job they pay us to do. I also found it helpful that if you are having a vendor issue, let the executive send an e-mail stating it is an urgent matter to your contact, this lets the executive be a hero and gives the vendor bargaining power to escalate the issue to their upper management.

      During an incident the leadership should be maintaining calm so that the people doing the work are at their peak performance.

      --
      This sig is the express property of someone.
    69. Re:Previous work by Tenareth · · Score: 1

      You do sound like a fun guy and pretty competent, however I have to say that any firmware upgrade SOP 101 is to have a copy of the current firmware available if something bad happens. It shouldn't be luck that you have a rollback plan for any type of upgrade.

      --
      This sig is the express property of someone.
    70. Re:Previous work by JWSmythe · · Score: 1

      During an incident the leadership should be maintaining calm so that the people doing the work are at their peak performance.

          Well, I will say there was one person at the company who was really good at that.

          In reality, we don't all have the luxury of a strong leader at the company, and even less of a chance that they will be top brass. In that, folks letting emotions get the better of them and showing it are very likely in a stressful situation.

      --
      Serious? Seriousness is well above my pay grade.
    71. Re:Previous work by JWSmythe · · Score: 1

          That incident was way back when. It was a simple upgrade, tested in the lap, what could possibly go wrong. :)

          Needless to say it did become part of our SOP. After I left that company, it was part of my personal SOP, just in case.

      --
      Serious? Seriousness is well above my pay grade.
    72. Re:Previous work by JWSmythe · · Score: 1

      ... and your iPhone has service everywhere, including the middle of office buildings, and datacenters. What did you have to pay for the "black magic" package that makes it immune to the laws of physics that pertain to RF communications?

      --
      Serious? Seriousness is well above my pay grade.
  2. ask to see a server they configured by jacktherobot · · Score: 1, Informative

    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.

    1. 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.

    2. 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.

    3. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      Ummm...

      It's really not that hard to set up a virtual server. I don't think jacktherobot was suggesting that you do this exercise on a production machine. In fact, "set up a simple..." implies the opposite.

    4. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      > 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

      That implies the exact opposite of what you said.

    5. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      In fact, "set up a simple..." implies the opposite.

      There's also the flip side: "Ask for guest access to a server that they configured." If I had a server set up and a prospective employer wanted guest access as a measure of competency, I'd quickly run away and never look back. I have just as big a responsibility to protect my stuff as a company has to protect theirs.

    6. Re:ask to see a server they configured by justfred · · Score: 1

      And vice-versa. If they do give you access to their server - FAIL.

    7. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      VMWare instances I think.

      Bob

    8. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      I concur. An inability to setup a LAMP server does not mean they are a poor developer.

    9. Re:ask to see a server they configured by weeboo0104 · · Score: 1

      Agreed. I had one interviewer last year ask for access to previous customer data. I used to work in the Banking and Energy Generation/Supply industries, so I simply told the interviewer that I value my business relationships too much to turn over confidential information to a stranger. If you want to know if someone knows how to configure Samba, give the applicant the criteria you want fulfilled, have them write a smb.conf file, run testparm against it, and then see if it fulfills your criteria. Every admin has their personal preferences how to code and solve problems. If you find someone who can solve yours, let them do what they do best and hire them.

      --
      It is easier to build strong children than to repair broken men. -Frederick Douglass
    10. Re:ask to see a server they configured by BigDaveyL · · Score: 1

      I think you have that reversed there buddy...

    11. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      Thank you for this comment.

      I'm a more than competent developer but I don't have much in the way of server administration skills. Employers love to try and hire people who are a jack of all trades- which is usually a bad idea. And in my experience they usually want to pay only $15/hr for said person.

    12. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      You mean you've never smoked tea leaves before?! It's the next big thing, man. All the kids are doing it.

    13. 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.

    14. Re:ask to see a server they configured by michaelwigle · · Score: 1

      ~shrugs~ If you can't or don't want to setup a secure environment on your server for it then grab desktop with the VM software of your choice and create a basic LAMP environment and tell them to go at it. Unplug the desktop from the network if you're really worried. All they need is just enough to show they can navigate the environment and do some quick/basic setups and coding to start with.

      When I have been part of the interview process for techs I always require hands-on repair of (non-critical) machines to show they can actually troubleshoot and fix a real problem. I choose the problem based on common points of failure and replicate the problem so it's a real-world problem with a real-world fix. I've never been disappointed with folks who can pass my test.

    15. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      You mean you've never cut off your cock and stuck it in a bag before? Hi-larious!

    16. Re:ask to see a server they configured by tomhudson · · Score: 1

      I don't agree with the yelling, but day-to-day running of a LAMP stack should be required knowledge. After all, you're going to want to have one or more test environments, and it's nice to know that if you TOTALLY hose the system, you can restore it without having to go crying to someone else.

      You should be able to alter the config so that you can have it listen on alternate ports, change what file extensions get run through an interpreter (you might want .html files to be interpreted as .php files, for example - this way, if at some future date an html file is replaced with a php file, you don't have to look in every piece of code and every link that references it by name, and change the file extension), which interpreters are loaded, etc.

    17. Re:ask to see a server they configured by Buelldozer · · Score: 1

      I see your point but...meh.

      Virtualize an identical instance of your bare metal server and give them access to the VM. Just telling them what you intend to do, and why, should score you more than a few points with any knowledgeable interviewer.

    18. Re:ask to see a server they configured by mldi · · Score: 1

      You're hired!

      --
      If you aren't suspicious of your government's actions, you aren't doing your job as a responsible citizen.
    19. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      I've got to admit, reading this makes me want to cut off my cock and stick it in a bag. I'm such a freaking tool.

    20. Re:ask to see a server they configured by lena_10326 · · Score: 1

      Not to mention that setting up a single node LAMP system is bonehead simple given the ease of Linux installation and package management these days. Any boob can set that up on an old desktop lying around.

      And, if it's a home system there's not likely to be any code on the box that would be interesting to a recruiting developer. If it's a corporate system, then it would be highly unprofessional and illegal to provide that kind of access.

      --
      Camping on quad since 1996.
    21. Re:ask to see a server they configured by rawler · · Score: 1

      I've actually seen one of our providing companies respond "chmod -R 777 /" as a solution to a bug we filed with them.

      On another topic, that we measured their application leaking about 200MB ram every 24hours, their reponse: "Buy more ram, restart weekly.". I actually took the time to troubleshoot this one myself, and since I knew it was a tomcat-based application I hit up Google, and 45 minutes later I'd nailed it down to a known bug in one of their dependent (and delivered) libraries. About 45 minutes to solve, without much prior skills. I'm not THAT expensive, I'm sure I was cheaper than the RAM.

    22. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      As a former sysadmin and developer, I can say ... configuring a server is MUCH FREAKING HARDER than writing a webapp. Why? Poorly documented, weird design choices, etc. etc. etc.

      A good developer can work within restrictions. Besides, if you give them a properly configured server to test on (say, one that doesn't allow special privileges) they can easily write code that doesn't require special privileges.

    23. Re:ask to see a server they configured by falconwolf · · Score: 1

      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.

      It may take resources you don't have available but if you do then why don't you set up a test system? Just have the system isolated and populated with made up data. It's not the same but when I get around to it I'll do something like it. Currently I have Leopard running on my Mac but when I can I'll install Snow Leopard on an external HDD and test it before installing it on my Mac. I could hose the test system and still have a functioning system. I'll do the same when I get around to installing Ubuntu on it too.

      Falcon

    24. Re:ask to see a server they configured by vegiVamp · · Score: 1

      Agreed on your observations about web developers, but the ability to configure a server is still useful only for a sysadmin - what you need to test is their ability to program, within both security, memory and performance constraints. They could perfectly well be able to set up a highly-tuned server, and never have heard of, say, SQL parameter binding.

      What you're saying here, is that in order to verify if they can fly an Apache chopper, you will see how they do in a Cessna. Same underlying thought patterns, entirely different skillset.

      --
      What a depressingly stupid machine.
    25. Re:ask to see a server they configured by Anonymous Coward · · Score: 0

      For most projects, server hardware is much cheaper than programmer time. Your priorities are backwards until you're dealing with Google sized scale.

    26. Re:ask to see a server they configured by dave562 · · Score: 1

      You could just fire up a VM for them to work with. Hell, it would probably be worth while to take a production system, purposefully break it and then save a snapshot of the broken machine. Use that snapshot as the test environment for new candidates.

  3. 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 c6gunner · · Score: 1

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

    2. 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
    3. Re:Ignore the certificates by hilather · · Score: 1

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

      Kill them.

      If only everyone took security as serious as you.

    4. Re:Ignore the certificates by sakdoctor · · Score: 1

      Subtle dig at PHP?

      You know PHP does offer nice ways to do this, along with many horrible ways along with ACs all too commonly used example.
      PDO::prepare for example.

    5. Re:Ignore the certificates by Anonymous Coward · · Score: 0

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

      Kill them.

      Out of curiosity, what's your main problem with that code?

      1) It doesn't specify the column name
      2) The column name is represented by a variable
      3) The dot operator is unnecessary and inelegant
      4) $foo might not be sanitized
      5) It doesn't easily port to another database engine
      6) A database connection isn't necessary for a trivial app.

      I agree that #1 is a capital crime. #2 and #3 are unfavorable to me. #4 isn't an issue since you only gave one line of code. #5 is unavoidable, and #6 is likely false.

    6. Re:Ignore the certificates by quanticle · · Score: 1

      If they escape their strings, but don't use transactions, then only maim them.

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    7. Re:Ignore the certificates by Anonymous Coward · · Score: 0

      Prepared queries are great, until you need to prepare a query where the number of parameters depends.

      That's when you start getting abominations like "SELECT ?,?,?,?,?,? FROM ? WHERE ?=? AND ?=? AND ?=? AND ?=?" with the appropriate parameters set to null or 1, as appropriate.

      Layers that support named parameters using a hash/named array/whatever your language calls it make this less likely to happen (then you can build your query with $sql.=" AND moo=:moo"; $parm["moo"]=$string;) but for the most part, if the database itself doesn't support named parameters, then your layer is just calling mysql_real_this_week_special_now_for_sure_escape() on your parameters and not preparing the command.

    8. Re:Ignore the certificates by jbezorg · · Score: 2, Funny

      You laugh. I've seen this in a code review.

      <? header( 'Location: ' . $_GET['s'] ); ?>

      That was the entire script....

      No wonder why I'm bald.

      --
      I've lost all my marbles except one & It's fun to test angular & centripetal acceleration in my skull
    9. Re:Ignore the certificates by Enleth · · Score: 1

      And when they pass this, ask them to define MVC. If they start describing MVP (which is used in just about every single web application framework out there and labeled "MVC" in the code and documentation), you'll know that something's wrong. If you fall for this yourself... Well, you'll know something is wrong on a yet more basic level.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    10. Re:Ignore the certificates by afabbro · · Score: 1

      So you're saying CakePHP, symfony, CodeIgniter, etc. are actually "MVP" instead of "MVC"? Can you explain?

      --
      Advice: on VPS providers
    11. Re:Ignore the certificates by Peach+Rings · · Score: 3, Informative

      There's nothing wrong with that...

      It just HTTP-redirects you to the URL in the s variable of the query string. Are you worried that someone will change the value and -gasp- be redirected to a page of their choosing? They already have an address bar you know.

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

      Hi, I think you might be interested in my newsletter.

      Please visit http://google.com/groups/?s=rapeyou.com&param=now

    13. Re:Ignore the certificates by Anonymous Coward · · Score: 0

      Well. If you have www.bank.com and I can give out www.bank.com?s=www.let-me-rob-you.com links that would be kinda nice for phishing don't you think?

    14. Re:Ignore the certificates by Skal+Tura · · Score: 1

      transactions by far are not required component of any database handling in typical web application. requirement for transactions is rare, and transactions should only used where needed.

      Using transactions for everything? A bit like using hammer to create something to use for nailing nails.

    15. Re:Ignore the certificates by Skal+Tura · · Score: 0, Troll

      apart from the another AC reply there is another flaw:
      $_GET['s'] does not really describe the param being referenced. S means ...? ;) of course it's sublety, but all variables and array indexes ought to be named something relating to what they mean for maintainability purposes.

    16. Re:Ignore the certificates by Skal+Tura · · Score: 1

      Many of them are.

      in MVP data handling, flow control and view is actually mixed up, while yet having an view layer which is only partly utilized usually.

      This can most easily be noticed when there's some HTML formatting happening in the controller. Another incorrect method is fetching and saving data in the view portion (where the actual presentation happens).

      MVC is best for maintainability, but only if adhered to quite strictly. This does not impose limits, it does raise some "interesting" questions for MVC newbs, but easy to solve. Unfortunately, very few actually understands what MVC stands for, and just plainly will stick stupid things in the view layer.

      View layer should only have to do about the output, nothing else. No input, no actions etc. only output the data correctly.

      CakePHP is actually a nightmare, so it's kinda funny you should mention it as an example... CakePHP is one of the worst piece of crap i've seen. Even Zend Framework guidelines does not adhere to MVC guidelines completely, and contains some insanely stupid code, and some even more insanely stupider abstractions, but fortunately, it comes so "bulk" that it can be easily utilized as an MVC framework given even half a brain with half a thought.

    17. Re:Ignore the certificates by Enleth · · Score: 2, Interesting

      MVP stands for Model-View-Presenter. What differentiates a Presenter from a Controller is that a Controller creates an appropriate model (or models) and a view of some kind, connects those together and tells them what to do. It might also do ACL checking and the likes before. Then, the view fetches data from the model(s) and displays it (for a very liberal value of "display", as might be the case with, say, an RSS feed generator). That's right: the view is an active element of the system, usually implemented as an object using some kind of a base class just like the controller and it can access the model. Of course, the model should be strictly read-only for the view - all things good and sane are lost for the application when some moron calls a method of a model that modifies data from inside the view. A good framework might employ safeguards against this, but a good design comes first to protect against such idiocy. One could argue that the view just becomes a second controller with a different set of responsibilities, and it's actually an interesting and somewhat reasonalbe point of view, but that's just what MVC really is.

      The Presenter, on the other hand, does not relay the model(s) to the view and tell it what to display. Instead, it fetches *all* the data itself and spoon-feeds it to the view, which is usually a purely passive construct. As a side effect of this, the Presenter is usually involved in some presentation-related data postprocessing such as pagination and sorting, that a Controller should never do. Hence the name. On the other hand, this allows for a "dumb" view, such as those used by CakePHP - it's just a bunch of HTML files with embedded PHP snippets that display the data. Much less flexible than MVC, but also much simpler to implement and use.

      Of course, neither is better than the other. They're just two somewhat different variations of the same idea, each with their own advantages and disadvantages. The only problem is that uninformed people call MVP "MVC", which is plain and simple wrong and indicates some degree of ignorance of the subject, which is never a good sign.

      Personally, I'm using a hybrid solution that will invoke an MVC-style, class-based view when it exists and fall back to MVP-style spoon-fed templates otherwise.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    18. Re:Ignore the certificates by rawler · · Score: 1

      Actually, I (or rather my company) have paid money for code that actually allowed BASH-injection from an unauthenticated URL-rest-service, in an application designed to require root. Although, the software were only designed to protect still unreleased Movies, they were probably already on Pirate Bay anyways.

      And no, the bug wasn't fixed, and yes, the developers still got paid, despite my objections.

    19. Re:Ignore the certificates by Anonymous Coward · · Score: 0

      There's nothing wrong with that...[cut]

      well, if you ignore the possibility of using a crafted uri in an xss attack, that would mostly be true ;)...

    20. Re:Ignore the certificates by Blink+Tag · · Score: 1

      Sounds a little like a troll, using an extreme example, then providing a poor solution.

      No need to parameterize column names or table values--use a whitelist instead. The point with parameterized queries is to filter unknown input. Parameters are only one type of filter. Besides, if you've exposed your table|column names, you're not encapsulating properly.

      As for an unknown number of parameters, that's trivial to handle. Loop on your (filtered) list of conditions, and add a " AND {$col_name} = ?" for each.

      With regard to the db not supporting parameters (of any kind), you're right, but as it's not true of any major modern RDMS, your example comes out as FUD.

    21. Re:Ignore the certificates by Anonymous Coward · · Score: 0

      There's nothing wrong with that...

      It just HTTP-redirects you to the URL in the s variable of the query string. Are you worried that someone will change the value and -gasp- be redirected to a page of their choosing? They already have an address bar you know.

      Can it redirect you to a javascript: url? If so, then it could allow people to form links that steal other people's cookies.

    22. Re:Ignore the certificates by jbezorg · · Score: 1
      --
      I've lost all my marbles except one & It's fun to test angular & centripetal acceleration in my skull
    23. Re:Ignore the certificates by Anonymous Coward · · Score: 0

      For one thing, It's open to HTTP Response Splitting.

    24. Re:Ignore the certificates by vegiVamp · · Score: 1

      You just volunteered for the, erm, showers. That's it, they're showers.

      --
      What a depressingly stupid machine.
    25. Re:Ignore the certificates by Admiral+Burrito · · Score: 1

      Header injection attacks.

      http://example.com/redirect.php?s=/%0d%0aSome-other-header:%20some-nasty-value

      The PHP docs for header() suggest this was fixed in 4.4.2 and 5.1.2, but beware of regressions.

      The bottom line is you should never inject data into a context where there is any potential for it to be interpreted differently from what you are expecting.

      If you don't know whether or not such potential exists, assume that it does and find out how. If you assume it doesn't, you're likely to be proven wrong the hard way.

      Some people say "don't trust user-supplied data", but that's not quite right either. It'll stop you from being exploited by users, but a well-built system should still DTRT even when given "wéïrd" data, no matter where it comes from.

    26. Re:Ignore the certificates by bugg · · Score: 1

      The variable could contain a newline and then set an arbitrary HTTP header (set-cookie, for instance) or it could redirect the user to anywhere on the internet, including reflexive XSS attacks on arbitrary sites, etc.

      --
      -bugg
  4. Get people to talk about what's on their CV. by djKing · · Score: 3, Insightful

    If they can't talk intelligently about what they say they've done... next!

    --
    Free as in "the Truth shall set you..."
    1. Re:Get people to talk about what's on their CV. by Anonymous Coward · · Score: 1, Insightful

      This

      I take real experience over a piece of paper. Anyone can study for a test.

    2. Re:Get people to talk about what's on their CV. by kubitus · · Score: 1
      this way you get the big talkers, boasters and the like.

      .

      ask them what interesting problems they encountered,

      ask them how they see the users point of view on their apps.

    3. Re:Get people to talk about what's on their CV. by Anonymous Coward · · Score: 0

      Thats my problem. I can't talk shit about what I've done. I do it, (and have done it very well for a long time). I just don't usually babble about it. If I were issuing commands to the computer via voice, then it would be an issue for me. They break the normitive at their own peril. I've seen lots who can rattle on a good story like no tomorrow. Its too bad they suck when it comes to doing the work.

    4. Re:Get people to talk about what's on their CV. by Anonymous Coward · · Score: 0

      If they can't talk intelligently about what they say they've done... next!

      I agree!

    5. Re:Get people to talk about what's on their CV. by dave562 · · Score: 1

      I've found it helpful to ask something along the lines of, "What went wrong along the way to accomplishing X" where X is an accomplishment they've listed. If they say nothing went wrong, they're probably full of it. Things very rarely ever work right the first time, especially if they are complex at all.

  5. 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 Anonymous Coward · · Score: 0, Insightful

      Not the same thing, numb nut.

    4. Re:No faith by Anonymous Coward · · Score: 0

      I'd take the one with good portfolio, a lot of experience, and no certification any day (and 3x on Sunday). A cert proves someone passed a test, no more. A programming test isn't a bad idea.

    5. 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.

    6. Re:No faith by NetNed · · Score: 1

      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.

      Well as long as he slept at a holiday inn last night of course!

    7. Re:No faith by fluidbyte · · Score: 1

      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.

      Everyone needs some form of training, granted. But I'll take MY bypass from the guy who dealt with the 'special circumstances' and has had to work on their own to figure out a solution rather than the one that rests on his laurels.

    8. Re:No faith by Anonymous Coward · · Score: 2, Informative

      That is a retarded statement. Certifications for both doctors and civil engineers are completely different than what he is talking about. Both of these professions involve people dying when it is not done properly. For both professions, it is not a matter of just completing your degree and getting licensed. Doctors work as interns for years. In addition, a PE license requires 4-years of qualifying experience after school.

      I understand what you are saying here. I am a licensed Civil Engineer and I have worked with many licensed engineers that should probably not be and I have worked with unlicensed people that are exceptional. A certificate on your wall does not suddenly make you a genius, but both a medical license and PE license are non-trivial to obtain.

    9. Re:No faith by fluidbyte · · Score: 1

      ...plus, who has a body or a large expanse of land and some concrete laying around? Ask that same question about computers and you start to see that your metaphor is full of crap.

    10. Re:No faith by Anonymous Coward · · Score: 0

      I'll have my bypass done by the doctor that does the most of them, or other cardio thorasic surgery each year.

      And I'd prefer by bridges and sewage treatment plants designs from civil engineers that crank out the most of those each year as well.

    11. Re:No faith by Anonymous Coward · · Score: 0

      That is a retarded comparison - comparing a code-monkey to a medical professional. I've worked with programmers with degrees most of my life, and with the except of exactly ONE such programmer (who was self-taught before he even went to university anyway) they were all completely pathetic at actually working. They could sit and spew off a bunch of happy horse-shit theory all day long, but couldn't implement a damned thing.

      Degrees and certifications in IT prove only one thing - you had the money to go. It doesn't prove you have the capabilities to actually do the job. That is why a lot of large companies will administer aptitude tests to ALL prospective employees, regardless of degrees or certifications.

      "The proof of the pudding is in the tasting".

    12. Re:No faith by Anonymous Coward · · Score: 0

      That's Holiday Inn EXPRESS you insensitive clod!! ... gah, doesn't ANYBODY pay attention to commercials anymore!!!!

    13. Re:No faith by Monkeedude1212 · · Score: 1

      Tower, this is Ghost Rider requesting a flyby.

      That's a negative, Ghost Rider, the pattern is full.

      WHOoooooooooooooooooooooooooooooooooooooosh!

    14. Re:No faith by StuartHankins · · Score: 1

      I'm sure you're joking, but a cert has almost zero value. Too many mills and too many cram courses mean the cert holder often can't do the job. It's too bad, really, as that was once a useful filter for candidates. The last candidate we hired had no certs but most of the 12 or so applicants before him did -- and guess what, they couldn't do trivial things, not even explain how they might do it in pseudocode let alone use pencil and paper to write a SQL statement.

      Perhaps the half-dozen word problems were the culprit. Too often people are stymied when presented with a written problem. It's a sign of our failed educational system (speaking for the US).

    15. 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.

    16. Re:No faith by pablo0713 · · Score: 1

      What about those who dig for knowledge and thirst for it AND get the certifications because they value education???? You can't simply discount someone because they have certifications. Needing a course to learn helps a person fill the gaps in their knowledge while exposing them to topics they might have missed or not have much experience in.

    17. Re:No faith by Rudeboy777 · · Score: 1

      The difference is not as stark as your implies. The AMA is very protective of the tiny minority of incompetent doctors responsible for the lion's share of malpractice lawsuits. Even among MD's there are those that game the "certification" system to gain entry into a career they are not qualified for.

      --

      From hell's heart I fstab at /dev/hdc

    18. Re:No faith by StuartHankins · · Score: 1

      some people go out and get the certification so they can get past the HR droid

      Agreed. Yet some of us, who have spent decades in the business, never had to get the certs because we interviewed well / got lucky / whatever. It seems awfully expensive to send someone making $XX an hour out to get certs when you know they can do the job. If they want a class, great. I've done that. But although I'd like to, say, get my RHCE, I have work to do and if I'm off at class there is no one to do it for me. So it's a balancing thing.

      Were I starting over, I'd probably have to get my RHCE first. But again, I've always interviewed very well, so who knows.

    19. Re:No faith by Anonymous Coward · · Score: 0

      Do not snub certs just because a test is all that is required. Many of those test require you to know a lot of detailed information about the technology. They show a certain level of time spend and dedication to their craft. Having said that, you be a fool to rely on them alone. Candidates with relevant certs and academic credentials almost always get an interview with me. I then use the interview to find out how much experience they have to back up their credentials.

    20. Re:No faith by MightyMartian · · Score: 1

      I tend to agree. I just finished taking the introductory Microsoft Server 2008 courses (because my employer thought it would be a good idea), and about 50% of it was listening to someone yack, 25% doing some very simple GUI simulations, 15% poorly concealed advertising (phrases like "Windows Server 2008 is the most advanced server operating system ever made" abound), and 5% pathetically easy end tests. I ended up realizing that this is what the joker with the MCSEs and other certifications actually do.

      The only courses I'm interested in now are the Microsoft licensing courses, because that's the one area where my head tends to explode.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    21. Re:No faith by badboy_tw2002 · · Score: 1

      Good thing there's no software that could kill someone! Except maybe in automobiles, planes, boats, rockets, medical systems, power plants, telephone switches (better hope that 911 call gets through), etc etc etc.

      Its not so much a matter of certification as it is a matter of engineering rigor. As you've stated, a certification does not show anything beyond basic competency. Its required for a lot of things where we put trust in people not to screw up some potentially life threatening task, and yet not only does there not exist such a thing for software development, most people would likely scoff at the notion that one was required.

    22. Re:No faith by Lunix+Nutcase · · Score: 1

      That is a retarded statement. Certifications for both doctors and civil engineers are completely different than what he is talking about. Both of these professions involve people dying when it is not done properly.

      What about the cases of people dying due to buggy software in x-ray machines? Or all the software that is running life-critical infrastructure in a hospital? Or the software controlling a nuclear plant? Or an airplane? There are plenty of places where writing software DOES involved people dying if it doesn't work properly.

    23. Re:No faith by TheLink · · Score: 1

      http://news.bbc.co.uk/2/hi/africa/3011105.stm
      http://en.wikipedia.org/wiki/Hamilton_Naki

      Quote BBC article: Employed at first as a gardener, Mr Naki worked his way up to become even more nimble-fingered on the operating table than Professor Barnard[1] himself.His work helped the first heart transplant become a reality and for years after that he passed on those skills to thousands of young surgeons.

      http://www.guardian.co.uk/world/2009/may/31/black-surgeon-first-heart-transplant

      But a decade later, with Barnard's help, his contribution gained international recognition. "Hamilton Naki had better technical skills than I did," Barnard said. "He was a better craftsman than me, especially when it came to stitching, and had very good hands in the theatre."

      See also:
      http://www.developmentpractice.org.za/learning-materials/category/29-capacity-building?download=114%3Abuilding-capacity

      Many of those surgeons who learnt from Hamilton would go on to become professors and top surgeons
      all over the world. He was often credited in their academic papers. Hamilton was not intimidated by
      anyone. Dr Brian (Benzy) Cohen who now runs the national fertility centre in Texas, was performing an
      intricate operation on a pig's main vein. As he was completing the procedure he was about to put in
      another stitch. Hamilton - who had done the operation many times - said: "Benzy, that's enough. Tie it
      off now." Believing that an extra suture would stop any bleeding, Cohen proceeded and the operation
      was a failure. The next time, Cohen recalls: "When Hamilton said, 'Benzy tie it off' my immediate reply
      was, "Yes Hamilton" and I tied it off. I learnt immediately that here was a man who understood vascular
      surgical technique better than anyone else."

      [1] Christiaan Neethling Barnard (November 8, 1922 - September 2, 2001) was a South African cardiac surgeon who performed the world's first successful human-to-human heart transplant.

      --
    24. 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...

    25. Re:No faith by garaged · · Score: 1

      you can get a redhat certification un one week, you gotta be really a genius to get a PhD in less than 5 years.

      --
      I'm positive, don't belive me look at my karma
    26. Re:No faith by Belegothmog · · Score: 2, Informative

      I used to feel the same until my current job doing network/server consulting. Now I often go to places that have a full-time IT person who has no certifications, and am shocked by how little they know. I feel like if they had at least gotten a basic server certification they would know what file and directory permissions were and why they are good, rather than looking at me with a blank stare

    27. Re:No faith by oatworm · · Score: 1

      What's a commercial? I'm a smug SWPL-style tech yuppie with no TV and both NoScript and AdBlock installed on my Mac, so I like to ask silly questions like this to prove my superiority over the unwashed masses.

    28. Re:No faith by HoboCop · · Score: 1

      Bah, certifications wouldn't help there most likely. I'm not certified in shit, and I know all that stuff because I can read, and bothered to pick up a book and figure it out. The most valuable skill in almost any IT person is the ability to find answers to things they don't know. I never ask anyone for help, cause I never can get any. I just look shit up.

    29. Re:No faith by Phil06 · · Score: 0

      Give them a spreadsheet and have them write a web front end for it. The spreadsheet should be horribly denormalized, have all kinds of formatting, columns with mixed text, numbers and dates, column names with non-printing characters, lots of leading spaces and zeroes, categories with inconsistent naming, lots of colors denoting key information, blank columns and rows inserted so it looks good, duplicate rows; in other words, hand them the last thing you got from that fresh-out MBA in marketing.

      --
      "...and yet, I blame society" Duke - Repo Man
    30. Re:No faith by Anonymous Coward · · Score: 0

      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.

      With an attitude like that you deserve to be taken out of our gene pool. The licensing for an Engineer or Doctor is WAY different from a paltry IT license and far more rigorous.

    31. Re:No faith by Peach+Rings · · Score: 1

      Yeah that really paid off for all those network engineers who got high-level NetWare certifications.

      The field moves too quickly to waste your time investing heavily in one particular technology which will be irrelevant in 5 years.

    32. Re:No faith by xiong.chiamiov · · Score: 1

      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.

      See: all of the self-taught PHP programmers.

      Hey, I was one, and I realize now that the crap I did was, well, crap. It was a good learning experience, but at some point you learn that people like Knuth really do know what they're talking about.

    33. Re:No faith by xiong.chiamiov · · Score: 1

      Damn preview and me not reading you. The first paragraph there should be blockquoted.

    34. Re:No faith by Anonymous Coward · · Score: 0

      As opposed to a cert-taught boob, who parrots what he fastidiously memorized instead of actually understanding.

      Certifications are a great way to differentiate between self-starters who never bothered to pick up certification, and those who are going to need their hand held and a training course every time something unexpected comes up.

    35. Re:No faith by KlomDark · · Score: 1

      $(self) = "Self-taught software architect/coder with no certs"; // Shove it up your ass.

    36. Re:No faith by Anonymous Coward · · Score: 0

      I have this particular certification... the only one I have as a job that I worked at previously was nice enough to pay for the test while I was doing LAMP work for them.

      It's not a waste of time, and I'd expect any competent PHP developer to be able to pass it. But the problem is it's not necessary and it doesn't tell you enough.

      For example, it does tell you that the person knows the basics of PHP and MySQL. It does tell you that they have at least thought about securing and deploying the applications they've written. It does not tell you that they know how to build an application and maintainable code. It does not address data normalization and basic DB theory.

      In other words, you could be a great PHP developer and not have this cert, or you could have this cert and be a very mediocre PHP developer. As a hiring manager I would probably give everyone with the cert a slightly higher consideration, maybe it would break a tie if I were limited in the number of candidates I could interview. It definitely wouldn't affect my decision about actually hiring, that's all about what they say once they sit down.

    37. Re:No faith by zerocool^ · · Score: 3, Interesting

      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.

      Woah, there, buddy.

      Yes, there are entry level certificates for a lot of things:

      A+ - anyone who puts this on a resume who is going for anything other than a repairman is stretching.
      MCP (Microsoft Certified Professional) - you have passed any one MS test
      PMP - congrats you're a PHB-prototype.
      etc.

      But, there's a LOT of pooh-poohing of certs around here, and some of it isn't warranted.

      For example: People who have a CCNP have passed four different cisco tests, including a troubleshooting one. That could be crammed for probably, as it's strictly a multiple choice test, but most people who have a CCNP probably have at least a decent familiarity with Cisco equipment.

      People who have an MCSE have passed 7 Microsoft tests. Yes, you can cram for this and learn in books / etc, but - it's still more difficult than people think. How many people do you actually know that have gone as far as really getting their MCSE? There's a lot, but not as many as who think that it's just a piece of paper and stupid test. There's some higher level domain configuration and troubleshooting, etc.

      And the RHCE (which I recently got) is a literal hands-on test - they hand you a broken linux box which you have to fix, and then a list of things to make it do via whatever method you think best (i.e. sendmail or postifx, as long as it delivers mail etc).

      Certifications are not the end-all be-all of knowledge measurement. But, they're not completely worthless either. I see people on slashdot all the time who are like "I don't trust someone with a certification", or "I trust someone with an RHCE less than I trust someone without one!". That just doesn't make any sense.

      ~X

      --
      sig?
    38. Re:No faith by Anonymous Coward · · Score: 0

      maybe your HR drone is the reason why you are not getting good candidates. But oh, it sure is easier to kill candidates in the interview than touching the HR drone, right?

      In the end you guys will settle for some chap from some cconsulting/bodyshop whose only claim to fame is 8.0/10 in such and such technology. when you are tired enough to step down from your 'expert-ivory-throne'.

    39. Re:No faith by jvillain · · Score: 1

      It is hard to get certified in technologies that barely have documentation yet.

    40. Re:No faith by tomhudson · · Score: 1

      you can get a redhat certification un one week, you gotta be really a genius to get a PhD in less than 5 years.

      Social engineering attack on the uni's records FTW.

      Fact: One guy I know got his Masters in one day that way. (okay, it was more like an afternoon).

    41. Re:No faith by Anonymous Coward · · Score: 0

      Tsk tsk, using assertions in production comments...

    42. Re:No faith by Dr.+Evil · · Score: 2, Interesting

      Sorry, RHCE, MCSE and CCNP are entry level. They're NOT easy, but if you don't have any work experience to back them up, then they dont' mean that you know very much about the technology.

      I did the MCSE years ago, I'm working on the CCNP, and I work in intermediate roles. I don't do the certs because I'm looking for a job, I'm doing them to broaden my knowledge.

      I've dealt with lots of clueless RHCEs (seriously) and heaps and heaps of clueless MCSEs. Without exception, they lacked experience. The CCNP is harder to find twits, but personally I think it's because it's virutally impossible to get a CCNP without access to $250k worth of hardware... which means you've probably got the experience.

      The CCNP twits I've dealt with took courses paid for by their employers.

      I agree completely that it's tiring to hear people say oh, a "RHCE, I wouldn't hire them". The RHCE is a damned hard cert and probably means that you know what you're talking about. But... it'll only prove a minimum level of knowledge. I'd look immediately at the experience after that. If you came out of some career training school and got your RHCE with no sysadmin experience (hard to believe, but these people are out there), I'd only consider you for the simplest of roles.

      Congratulations on the RHCE. I'd only take the cert if my employer would pay for it. And although I have over 12 years experience with Linux, I'd expect it to be a gruelling cert to earn. Sadly, you have yet to meet the guys who have it and dont' know a make script from a kernel module.

    43. Re:No faith by Skal+Tura · · Score: 1

      Self-learning often brings instant positive and false feedback - Did the thing work or not. And self-learning starts with a motivation so big to learn by self.

      I find people who are saying that "self-learned people are shit, they can't get the job done" to be usually highly educated, putting very high effort but yet achieving at best only slight above average results. Time and time again.

      As a self-taught person, i saw it as teaching me the necessary skills on a deeper level, because actually thought was put it into it, not just sucking information in, but also processing it. This insight of why things are so, and the fundamental understanding of the logic in the background has given me very powerfull skillset and i'm glad to say that today i am very happy in to my achievements (and income level).

    44. Re:No faith by rawler · · Score: 1

      study material to acquire product knowledge

      This pretty much pinpoints my feeling about certifications. They deal much more with product knowledge, than understanding the field they work in. I've seen many Cisco engineers completely dumb-struck when I use the IETF name for various standards and systems, just because they're used to the Cisco-name, for almost-the same thing.

      In the same way, those Cisco-engineers very often fails to find problems in the Cisco-systems, as soon as there is a "vendor X"-device somewhere in the mix, producing a report say basically that since they found nothing wrong in the Cisco-systems, the problem must lie in the "other device", which they of course could not test. The thought didn't even occur to them to just sniff the traffic and see what actually happens.

      I guess my main perceived problems with certifications are;
      A) They are usually Vendor-centric
      B) They usually have a strong practical focus, yet lacking perspective of the field as a whole, and the corresponding theory behind it.
      C) Builds "knowledge" rather than "understanding".

      By the way, this is not only my experience in IT, but also in other areas, such as cable operators.

    45. Re:No faith by paitre · · Score: 2, Informative

      I've taken, and aced, the RHCE twice.

      If you know wtf you're doing, it's really not that hard.

      The RHCA exams, on the other hand... *twitch*

    46. Re:No faith by Lunix+Nutcase · · Score: 1

      Self-learning often brings instant positive and false feedback - Did the thing work or not. And self-learning starts with a motivation so big to learn by self.

      That something "works or not" isn't necessarily meaning that you are doing something right. Something than appear to work but it can contain all sorts of subtle bugs or security holes that you may not know about. And without someone with some level of experience to help mentor you to some degree you may never learn that you are writing code with such issues. Until at some later date someone exploits them.

      I find people who are saying that "self-learned people are shit, they can't get the job done" to be usually highly educated, putting very high effort but yet achieving at best only slight above average results. Time and time again.

      That's great for those people. I never said or even implied that. I don't subscribe to either extreme. As I said, self-learning is great but you NEED someone to make sure you aren't learning things the wrong way because this happens all the time.

    47. Re:No faith by eddy_crim · · Score: 1

      Sorry but that just plain rubbish I have a bunch of IBM certs because IBM make us take them to keep our partner status. Ive seen sheets of answers being passed round so people can memorise them, pass the cert and carry on doing something useful. The only certs i would pay any attention to are ones with a written component such as SCEA (Sun (oracle now?) Certified Enterprise Architecht). Even then its probably pretty easy to rip off the written component from somewhere.

      IT industry certs are a joke. Basicly what happens is:-

      1) Guy pays off certification center in india works through the exam a few times untill hes seen all the questions in the random pool
      2) get answers to all the questions (do a shitty job)
      3) Sell answers on testking.org or some dodgy site as a "guide"
      4) profit

      --
      hmmm.
    48. Re:No faith by Anonymous Coward · · Score: 0

      They *try* to test for experience, but the Cisco, Microsoft and Linux certs can be passed without experience.

      Go try to pass the CCIE lab without any experience. Let me know how that works out for you.

    49. Re:No faith by Anonymous Coward · · Score: 0

      If you are certified it shows you've gone to the effort of sitting the exam, it also demonstrates a breadth of knowledge (though as you rightly point out not experience), and it will also help you get a job as can be seen by the OP expressing an interest in it. Obviously some exams are more in depth than others so an employer should go to the effort of finding which is/are most relevant to the job they are recruiting for. If you can't be bothered to sit the exam then that's your choice but you're not doing yourself any favours. If there are two candidates with not much separating them then the qualifications would probably swing it. It really annoys me when I see "experienced" programmers wasting time digging for information for a problem with a simple solution just because they've not bothered to study all aspects of their language/framework/etc, whereas it's obvious to the certified guy because they remember it from studying for the exam.

    50. Re:No faith by zerocool^ · · Score: 1

      High Five, from the Grandparent poster. I got 100% on both halves of my RHCE test, but I have about 8 years of professional linux sysadmin experience mostly on RH and RH-derivative distributions, plus I studied my ass off and my employer has a training program for it.

      Also, to the parent, clueless rhces - I wonder if they're from back when it was a multiple choice (or part multiple choice)?

      --
      sig?
    51. Re:No faith by Tenareth · · Score: 1

      Agreed, I never ding someone because they have certifications, however I also don't ding people for not having certifications unless the position requires one (usually a client-facing or public facing position that requires lots of letters after their name).

      --
      This sig is the express property of someone.
  6. Seriously? by papasui · · Score: 1

    How to interview someone is seriously a topic on Slashdot? Must be a pretty slow day waiting for that Apple announcement.. Anyway I do the technical interviews at my large company (Fortune 500)all the time (not programming, so this will be just general advice). If you have someone that actually understands the topics ask the questions then it's easy to gauge someones knowledge. Hiring someone that knows what it is going on is important, but in my experience finding someone that has the right personalility is more so. Have your technical person narrow it down to like 3-4 potential canidates then have the hiring manager pick from those, remember that someone willing to do assigned tasks without arguement might be worth more than someone with a bit more experience but runs to HR 4x a week about minor things.

    1. Re:Seriously? by AssClown2520 · · Score: 1

      Very well said. They need to have the basic skills, but personality and overall mesh into the company can't be overvalued.

    2. Re:Seriously? by ghostdoc · · Score: 1

      I'd agree with this completely, except for the fact that hiring managers suck at picking techies. And the 'questions' that get asked, if they're not technical, are pretty much irrelevant.

      Technical competency is pretty much inverse to "team fit" as defined by a non-technical hiring manager. Introverted, awkward, geeky, bookish, maladjusted males are your prime territory here. These are not people who will shine at an interview where they have to be social or ask questions of a non-extremely-technical nature.

      and someone willing to do assigned tasks without argument is a waste of space when the assigned tasks are incorrect. You *need* geeks who will stand up for themselves in this area.

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    3. Re:Seriously? by Anonymous Coward · · Score: 0

      I worked at a bank where successful branch managers and loan officers were often promoted to leadership positions in IT. When I arrived it was an absolute technical train wreck, however, everyone who worked there had been there many years because it was a good place to work. Insecure, inefficient, slow, cumbersome yet there were weekly meetings about topics such as Kaizen and Six Sigma. Meetings are the method by which 'business people' (read: people who have no ability to produce a product), convince themselves of their own value.

      My advice - create a programming test and administer it. Candidates may have a Phd from Stanford, but if they can't code something up and be cool about it, certs and degrees provide no value to me as an employer.

    4. Re:Seriously? by DrgnDancer · · Score: 1

      That's bullshit. Plenty of competent, even some brilliant, techs and programmers have perfectly adequate social skills. Most of them won't qualify for "Most Interesting Person of the Year", but there's a lot of middle ground between "movie star charisma" and "bridge dwelling troll". My personal experience is that a lot of tech types fill the role of "socially maladjusted teenager" in order to get away with shit that they normally would get in trouble over: "Oh, haha, Bob is a complete ass, but you know how those techs are". I have yet to work anywhere where I wasn't considered among the more competent and capable people on the team (My current employer just gave me a 14% raise to prevent me from switching companies), yet I can hold a reasonable conversation with coworkers or clients.

      Are there techs who are socially maladjusted? Yes, there's people in most professions that are. Admittedly technology draws more than its share (the whole working with machines instead of people thing I suspect), but that doesn't mean you should select for social misfits on the assumption that they'll be better. GP stated that everyone sent to the hiring manager had already been screened for tech capability, so if one is a jocular young man who smiles a lot and seems like he'll fit with the team, and the other is surly and mocks your tie, why hire the troll?

      Even if the troll is slightly more competent it's often better to have a merely competent person who can perform well in a team environment, than a brilliant person who can't. In larger organizations the ability to work with a team is essential to getting much done; and even with a smaller shop it can be a real Hell when Bob the brilliant systems guy gets replaced after finding a new job and it turns out that he's been keeping the place running on a combination of brilliance, obscure code, duct tape, and bubble gum that no replacement can possibly unravel.

      As to the doing assigned tasks without argument thing... well you're both kinda right there. It is reasonable to expect a professional employee to be able to call attention to mistakes or foolish decisions in their areas of expertise. It is also reasonable to expect those employees to facilitate the success of the overall goal that a poor decision was designed to accomplish. If you're told to take down the firewall so employees can access e-mail from home, its perfectly reasonable to point out what a brain dead idea this is. On the other hand be prepared to explain how you can poke strategic holes in the firewall to accomplish the same goal, setup a VPN, or otherwise allow employees to check e-mail from home.

      In the final analysis a professional employee should also be willing to do what they are told. Even the smartest and most capaable tech doesn't always understand why a decision was made, and should, when attempts to find a better course of action fail, be willing to do what they're told to do. Of course if my manager insisted on something as boneheaded as above, I'd document the shit out of my objections in e-mail, and probably use my new ability to send e-mail from home to blanket the Internet with my resume, but in the end I'd do what I was told to do. Assuming no laws or moral principles are involved of course.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
  7. More than just knowledge by fastmonkeywheels · · Score: 1, Insightful

    While I understand your position, hiring good programmers takes more than just knowledge of their medium. Hire the top 3 as temporary employees to see how they fit with your company then after a few months let 2 of them go and keep the best. A good work ethic and honesty can only be measured by experience with the employee and not from a resume. To gauge their knowledge of the medium, show them what you're working on and see what kinds of questions they ask about it, that's a great way to gauge their experience.

    1. Re:More than just knowledge by Anonymous Coward · · Score: 0

      Which is great until you factor in the non-trivial cost of hiring someone and paying them for those 2 months while you wait for them to flunk out. I can't think of a single company that's in the business of paying people they DON'T want to hire.

    2. Re:More than just knowledge by Anonymous Coward · · Score: 1

      Depending on your market you will only guarentee mediocrity with this practice. Many good candidates do not apply for contract-to-hire positions.

    3. Re:More than just knowledge by trevorrowe · · Score: 2, Insightful

      While hiring people on a temporary basis sounds like a good idea, it has some serious flaws. Hiring 3 temporary employees with the plan to axe 2 makes for a very stressful/hostile work environment. Only those potential employees with no other job opportunities/offers would even consider it (which is most likely the worst applicants). The list of bad aspects of this idea is longer.

    4. 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.

    5. Re:More than just knowledge by NormalVisual · · Score: 2, Insightful

      Not to mention it's going to be tough finding someone willing to give up two months of their lives just for a working interview with no guarantee of further employment. Better be ready to pay consultant-level fees to those guys for those two months.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    6. Re:More than just knowledge by idiot900 · · Score: 3, Insightful

      If they are told up front their position is temporary, what's the problem?

    7. Re:More than just knowledge by PhuFighter · · Score: 3, Insightful

      What's the problem? Because a good programmer can find a perm position elsewhere. Unless, of course, you offer is heads and shoulders above anything else, all you're going to get from temp positions are the dregs.

    8. Re:More than just knowledge by fmaresca · · Score: 1

      One thing is hiring for a temporary work, another completely different thing is to hire people to fight against each other for the position.

      That's ethically questionable at the very least, and it would be possible only on certain circumstances, like when an economy slow down or crisis push unemployed workers to accept such a deal.

      Whoever is the employer has to be able to decide if a person is appropriate for the work or not, and take any risks that a incorrect election would produce.

      I would never get into a job in those conditions, I don't want to work in such environment. I like to *collaborate* whit my colleagues and not trying to saw the branch where they're standing to get some rise or privilege.

      There are some very skilled persons that are terribly bad at competition, younger people could be intimidated by older one, management sometimes develop preferences, and what not. Competition or basic ecology is simply not always the best strategy.

      Apart for that (the ethical thing) this is not the best possible strategy: if you had to do the hiring of three programmers to compete one against the others, you can't certainly put them all in the same project. So this would be make somewhat difficult for you to evaluate the relative performance, and if those three developers are NOT very apart in skills and knowledge, matters are most complicated after they advanced in their respective project, because differences would be subtle and probably arguable. The only strategy that **could** work here would be to assign a non-trivial well defined and designed project to every one an let them work alone, then compare the results. But this would cost 3 times the money and would probably take more than a few months, and you're facing the risk of a *triple* failure.
      And, if you're not too idiot, at some point you will be envisioning a merge of the best parts of the three projects.

    9. Re:More than just knowledge by Anonymous Coward · · Score: 0

      This approach would probably find three desperate candidates instead of one good one.

    10. Re:More than just knowledge by Anonymous Coward · · Score: 0

      You're not going to get good programmers with this technique for one simple reason: none of them are going to settle for an offer that consists of "two month temp, with a possibility to go perm." That kind of offer is going to attract interns and kids just out of school, but anyone with experience is going to laugh and walk away before you get a chance to try them out.

    11. Re:More than just knowledge by WinterSolstice · · Score: 2, Insightful

      I happen to love doing contract to hire work - I get paid, you get work performed.

      If I like the company (and they offer, so far they have), I'll go perm. If not, thank you and I'm on my way :)

      The FTE gig is the worst gig ever. Crap wages, crap work, too many hours, and you get laid off with the same notice as a contractor (but are expected to slave 'for the good of the company'). It's no wonder so many places outsource these days.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    12. Re:More than just knowledge by kevinNCSU · · Score: 1

      Yea, all those dregs working on their Masters and Doctorates looking for a summer job =P

    13. Re:More than just knowledge by Anonymous Coward · · Score: 0

      If they are told up front their position is temporary, what's the problem?

      Because the one who "survives" might quietly (and rightly) conclude you're a clueless asshole and are unlikely to ever pay him/her what she/he is worth?

      Clueless because you can't see through the other two and double clueless for not knowing what you want when you interview. Asshole since you lied about what was supposed to be a short term assignment when your intent was to hunt for a new employee (and only one at that).

    14. Re:More than just knowledge by DrgnDancer · · Score: 1

      Well, you may or may not want me, but you'd never get me using this tactic. Anyone who has any kind of decent job isn't going to be willing to quit it for a "working test" unless you're going to pay them outrageously for the short term or the resulting job will so awesome as to be worth the risk. A few top notch money management firms apparently select candidates this way (at least according to Will Smith movies), but in that case you're talking about a pay-off job with a salary in the millions of dollars a year. That's worth taking a few risks for.

      The only types of prospective employees I'd see being willing to play this little game with you would be the desperate. Recent college grads or lay-off victims who will take whatever they can get, for as long as they can get it. Since the OPs point was to find mid-career people who know the technology he's working with, this isn't his ideal candidate pool.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    15. Re:More than just knowledge by smidget2k4 · · Score: 1

      You'll only get shitty applicants unless you are paying them a king's ransom to be in your little contest.

    16. Re:More than just knowledge by Dragonslicer · · Score: 1

      Hire the top 3 as temporary employees to see how they fit with your company then after a few months let 2 of them go and keep the best.

      As other people have said, I doubt many good programmers would be willing to do what basically amounts to a reality show, where you compete against other people for months for some "great" job. A slight tweak to that strategy works much better: change the 3 to 1, then after a few months, either make them permanent or let them go. If you do it that way, the employee knows that they'll get a permanent job if they do the work well, and the company knows that the employee will take the permanent job if they enjoy the work and the environment. It's far more stressful and difficult if the employee has to worry about not just doing the job, but doing the job better (for some definition of better) than the other people they're working with. Besides that, they all have to keep trying to find a job, since there's a >50% chance that they'll be out of work again after a couple months. That's bad for the employer, too, since you have to again deal with making a job offer to a candidate that turns it down because they've accepted an offer from somewhere else.

    17. Re:More than just knowledge by Anonymous Coward · · Score: 0

      awesome.

      or hiring two persons
        and telling them they have 6 months. One or Two may go. May the best man win

      |A good work ethic and honesty ...
      |is not hiring two persons to drop them few months later.

    18. Re:More than just knowledge by Tenareth · · Score: 1

      Not completely true, a full time employee is a very large liability these days, you want to make sure they are going to fit before adding them to payroll. I'm not so sure I would do the hire multiple knowing you can only fill one position, but I have regularly used contract-to-hire.

      --
      This sig is the express property of someone.
  8. why BNF? by Anonymous Coward · · Score: 5, Insightful

    Why BNF?

    1. Re:why BNF? by Anonymous Coward · · Score: 0

      Glad I'm not the only one who thought this stuck out as an oddity - maybe it's a sugar they threw in to sound extra smart?

      Had to look it up. Seems like just another hoity-toity way of writing things.

    2. Re:why BNF? by PhuFighter · · Score: 1

      Why not? At least it shows that they read SOMETHING about database and organization. You don't have to agree with it, but at least there's some basis for not agreeing with it rather than repeating past mistakes.

    3. 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.

    4. Re:why BNF? by composer777 · · Score: 2, Informative

      This has nothing to do with database design. It has to do with programming language design. BNF, or Backus Naur Form is basically a way of describing the syntax of a programming language in a precise way. It has nothing, zero, zip, nada, to do with database design. It's not useful for really anything outside of acadamia other than writing a compiler using bison/yacc. I've written a vrml parser, and so could answer some questions about it, but would be annoyed if I was interviewing for a LAMP position and they threw out there. I would think they were incompetent. Maybe you're thinking of BCNF, or Boise Codd Normal Form, which IS related to database design?

    5. Re:why BNF? by Anonymous Coward · · Score: 1, Funny

      because we want to use are arcane knowledge of CS as a blunt instrument of revenge on our MBA overlords when they ask us to do something unreasonable

    6. Re:why BNF? by KlomDark · · Score: 1

      Why not BNSF? Or BMFH? Or BOFH? Or Infected Mushroom?

    7. Re:why BNF? by rawler · · Score: 1

      If you're looking for people interested in computer science, especially ones that have agile language-skills, Backus-Naur might be a good keyword for to indicate that you know about fundamentals of formal languages or have formal education.

    8. Re:why BNF? by Anonymous Coward · · Score: 0

      Strange that. I'm in England, and here BNF most widely stands for "British National Formulary", the UK equivalent of the National Drug File...

    9. Re:why BNF? by Anonymous Coward · · Score: 0

      Or maybe they expect you to have a clue on, for example: designing/parsing a configuration file syntax, just in case yaml is not quite what you need.
      Or basically they would want to know if you kind of listenned to / had some basic CS education.

      or they think that if you understand how your programming language is designed/analysed you might end up being somewhat smarter in its use.

      Finally about cert's, you should ask the certified person: so how much time did you invest to get the nice paper ?
                                                                  and how much interesting code could you have written to present to the admiration of the masses in that same time ?

      nb: I do appreciate that systems or network administrator have different needs/point of view, I do not expect my juniper/cisco/openVPN/postfix admin to write a lot of code
      but to make the code we have work as expected day after day...
      So 20 lines of perl and a cert' would be convincing...

      But a LAMP genie ? what's s/he doing wasting it's time cramming for a cert when there is so much code to be written, and why worry about the "HR droid", 50 000 health care IT people are missing, so how about some cool open source hospital ERP contribution ? ...

      I suspect this could get you waulting over any HR obstacle you might encounter.

  9. Forget certification, look at some projects by petes_PoV · · Score: 2, Interesting
    Explain to the candidates what your requirements are then ask them to describe a piece of work they have completed which was comparable to that. Have them explain the issues involved, how they approached it what difficulties they had to overcome and what they would do differently in the future.

    Since you're looking to recruit a number of people, I'd say that their ability to work together - personalities, maturity, compatibility are at least as important as skills and experience. So don't just pick the top X according to how they rank at interview, consider if you think they can work together as a team.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:Forget certification, look at some projects by thijsh · · Score: 1

      Yes, this is good advice. But the certificates are also an indication, but slightly the other way around. In my experience the *really* good programmers know they have no actual use for certificates and will actually be a little proud they have come so far without... and the ones who boast about all the different certificates they have acquired are not really worth the trouble. I guess people that know they won't be hired by their own merit alone try to compensate for this by getting a whole list of certifications.

    2. Re:Forget certification, look at some projects by qbel · · Score: 1

      Explain to the candidates what your requirements are then ask them to describe a piece of work they have completed which was comparable to that. Have them explain the issues involved, how they approached it what difficulties they had to overcome and what they would do differently in the future.

      Since you're looking to recruit a number of people, I'd say that their ability to work together - personalities, maturity, compatibility are at least as important as skills and experience. So don't just pick the top X according to how they rank at interview, consider if you think they can work together as a team.

      I like the second paragraph you had, making sure a team works well together is a huge part of it, but asking your candidates about a comparable project? I mean, on the one hand it is an amazing question because it forces the potential employee to relate and think, and their response will give you great insight into their thinking process, programming method, and give you the added bonus of seeing just how intimate they were in their previous projects.
      On the otherhand, it smells like pump the potential for all the information you can get out of them before you decide whether you want to pay them -_- Which do you think it is more of, an assessment question or an pre-employee extraction question? And also, do you think that the person hiring will already be aware of the issues and approach-possibilities (thus allowing them to better gauge the person)?

    3. Re:Forget certification, look at some projects by SquareVoid · · Score: 1

      Agree. And let me add this bit. Test them yourself! We had a run of really bad programmers until I wrote a test that shouldn't take more than an hour if you actually know what you applied for. Once implemented, I started seeing degree after degree and certification after certification stumble through the test. Some took 6 hours (seriously, after 2 hours, you should have left and saved everyone their time). It got so bad I started doubting my test and was in the process of making an easier version until a couple people actually completed it. We hired those who finished the test correctly and they have essentially ended our dry spell of under qualified candidates. Portfolios, and resumes can be inflated and lied on. And background checks help some, but there was one employee who gave us his friends from their old company who would lie for them. Testing them yourself is the best way to filter the unqualified.

    4. Re:Forget certification, look at some projects by qbel · · Score: 1

      You know what, pump the potential for all the information is EXACTLY what you want, because if you are interviewing workers for a job, then you probably have the experience that you are hoping they have a little of, and maybe they have experience in parts that you do not have. That is a good question.

    5. Re:Forget certification, look at some projects by Anonymous Coward · · Score: 0

      Certifications are just part of the game. You play the game by getting those credentials just to get on with your life.

      As an employee, if you look at these credentials as a farce, you're just holding yourself back.

      As an employer, if you look at credentials as demerits, then you risk losing a solid candidate.

      Jumping through hoops sucks, but think about it: if you're really qualified, you should be able to pass the test. If you refuse to take the test, it's because you're too lazy or too defiant to do so. If I were an employer, that would raise red flags for me.

    6. Re:Forget certification, look at some projects by Anonymous Coward · · Score: 0

      Having hired lots of sysadmins, developing sysadmins (I hate the term JR SA, more often than not its used in a derogatory fashion by less competent SA's in power plays), and systems programmers over the years, the "describe things clearly (not vaguely)" method has always been the process that has produced the best results. Individuals whom are mostly competent and can work with the team are golden, no matter the pedigree... That's just my opinion based on my 25 years of building and managing, of doing and observing.

  10. Interview by mandelbr0t · · Score: 1

    Generally I would have an interview with the applicants that seemed most qualified. It's the easiest way to see if someone is padding their resume or generally bullshitting. When the vacant look comes into their eyes as they spew forth buzzwords in answer to your technical questions, you know you've got a loser. If you can't separate the liars from the nerds in an interview, you have a real problem.

    Also: do you need this person long-term? If not, I'd advise a contract with the person that uses more Agile methodologies, thus requiring more feedback from the developer, and less time between releases so you can see work being done. If the work starts to suck, at most you're out four weeks work, and you have everything from previous releases to give to a different developer. If you think you might want them long-term, perhaps a 6-12 month contract period as probation might be a good way to safely evaluate their work before committing to an expensive, long-term employment relationship.

    Overall, I'd not worry so much about specific technologies. Zero exposure to LAMP would be bad, but a younger person who's willing to learn is cheaper and has something to prove. Just make sure your production environment is well-shielded from mistakes, and try to enforce some discipline on a younger developer. A more experienced developer will be well aware of the dev/test/prod environment, and generally make less mistakes, so the turn-around time will be less. However, experienced developers typically favor one technology over another based on their experience, so it might be harder to teach them new tricks, so to speak.

    --
    "Please describe the scientific nature of the 'whammy'" - Agent Scully
    1. Re:Interview by bjourne · · Score: 1

      Generally I would have an interview with the applicants that seemed most qualified. It's the easiest way to see if someone is padding their resume or generally bullshitting. When the vacant look comes into their eyes as they spew forth buzzwords in answer to your technical questions, you know you've got a loser. If you can't separate the liars from the nerds in an interview, you have a real problem.

      That's the thing. All interviewers think that is the key to success and they know how to separate the good from the bad, except most of them are miserable at it. Which is evidenced by the number of incompetent programmers working in the industry. Your "spewing buzzwords" might as well be someone talking about technology way over your head and you're missing out on a great hacker.

    2. Re:Interview by mandelbr0t · · Score: 1

      Your "spewing buzzwords" might as well be someone talking about technology way over your head and you're missing out on a great hacker.

      Which is why it's stupid for people to believe that they can start a web business without even a basic understanding of the technology involved. Keep in mind, too, that my response was mostly tongue-in-cheek, though it's not always easy to tell with me any more.

      --
      "Please describe the scientific nature of the 'whammy'" - Agent Scully
  11. 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.

    1. Re:Portfolio. Previous work. certificates mean zit by Anonymous Coward · · Score: 2, Interesting

      How do I show my enterprise app that runs on Solaris and Oracle to another company? If it isn't a webapp, how do you truly show a portfolio?

    2. Re:Portfolio. Previous work. certificates mean zit by Terwin · · Score: 1

      Outside of a significant component of an open source project, this seems problematic.

      Corporate work is mostly work for hire, so it may or may not be legal for you to take copies of the code you worked on while on the job.
      Most significant projects are team efforts, and without the parts built by other developers your code does not do much(if it can even compile and run without all of those shared resources that were not exclusively your work)

      Even on an open-source project where you have as much access to the source as you like, your code is likely to be interspersed with the code of other developers(unless you wrote the original piece and it was 100% feature complete and bug free).

      Sure you can write some code specifically to put in your portfolio, but code written to impress a potential employer, unless written on the spot, is as likely to be exactly as honest and pure as the associated resume.

      The best bet would be hiring people that other people in your company have worked with in the past and can vouch for their diligence and skill.

    3. Re:Portfolio. Previous work. certificates mean zit by unity100 · · Score: 1

      you can provide a demo, or, get a reference from the prior project owner you worked for. with as much details as you can.

    4. Re:Portfolio. Previous work. certificates mean zit by matrim99 · · Score: 1

      And nothing shows a complete lack of respect for previous non-disclosure agreements than showing off previous work (code) in an interview. Code that you created for any project that you worked on outside of work (outside of any non-disclosure agreement) is great. Code from a recent employer is generally bad.

      --
      Right. No, your other right. No, the other other right.
    5. Re:Portfolio. Previous work. certificates mean zit by interval1066 · · Score: 1

      Certs for seminar type classes are almost worthless, all they indicate is that you were present at the class enough times for the instructor to know you were there and not taking the course for granted by going out and getting smashed instead of listening to him/her and taking notes. I've been to quite a few over the years and the ones that gave certs (which were probably 90% of them) simply required you were present for most of the class. The interesting thing to me as that both run of the mill seminars and courses and pass/fail type deals (like the MCAD, MCSD, or the MCSA, the Microsoft certified stuff) cost a lot of money. The seminar-type deals are for current employees to learn a technology that your company intends to deploy. Looking for those certs in new hires is almost certainly not going to give you any kind of edge. Period.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    6. Re:Portfolio. Previous work. certificates mean zit by Steauengeglase · · Score: 1

      I'm having similar questions as some of the other posters. I've consciously avoided work that requires signing an NDA, but I'm probably losing opportunities with this strategy. The whole thing sounds like a catch-22. Almost everyone I know except myself isn't even allowed to write their own software, let alone show anyone software the work they have done. Their companies claim complete ownership, even if it is just a 'hello world'. Granted this really isn't a big deal as far as having software to show, but it does cause someone to undermine their own credibility. It almost reminds me on the old "unix taint" you hear old AT&T guys talk about, though considerably less intrusive.

    7. Re:Portfolio. Previous work. certificates mean zit by Sudheer_BV · · Score: 1

      Agreed. I once saw a job application form asking for project details, customer names and other information you would usually consider confidential. Would you want your employee, when they are applying for another job, to disclose these details to another company?

      --
      Sudheer Satyanarayana
      www.techchorus.net
    8. Re:Portfolio. Previous work. certificates mean zit by unity100 · · Score: 1

      drop items to your ndas, contracts that they have to provide references in detail for you, regarding the project you have done there.

    9. Re:Portfolio. Previous work. certificates mean zit by Anonymous Coward · · Score: 0

      If it isn't a webapp, how do you truly show a portfolio?

      And if it's a webapp, what if it's entirely behind login credentials.

    10. Re:Portfolio. Previous work. certificates mean zit by Kjella · · Score: 1

      Agreed. I once saw a job application form asking for project details, customer names and other information you would usually consider confidential. Would you want your employee, when they are applying for another job, to disclose these details to another company?

      Well, I can't speak for anyone else but I was a consultant and I listed each project with start-finish, for what company and a 1-2 line summary of the project and my role. It'd all be of the form "project to do X", but I wouldn't write any project details on how they do X. It's about the same that went out on my corporate CV to other potential customers too, which is a pretty good guideline. If you want my employment with you to be a total secret, it'll take more than the boilerplate NDA. Of course I don't know what level of detail they wanted here, but I got little problem drawing the line.

      --
      Live today, because you never know what tomorrow brings
    11. Re:Portfolio. Previous work. certificates mean zit by Anonymous Coward · · Score: 0

      If it isn't a webapp, how do you truly show a portfolio?

      If it isn't a webapp, why would you need LAMP developers?

    12. Re:Portfolio. Previous work. certificates mean zit by adamofgreyskull · · Score: 1

      Which is great advice if you do all your work on publicly available websites.

    13. Re:Portfolio. Previous work. certificates mean zit by Anonymous Coward · · Score: 0

      portfolios are great, but as a web-developer, most of the code I've written is under nda, used in internal only systems, or continuing to evolve on the front-end after I've left the position. over 10 years of work, I can only think of 1 project I could point to online which has my software (in this case javascript), and even that has been badly mangled by others since I left it. the only alternative is open source contributions, assuming one has no life outside of their 9-5, or the company they work for is generous enough to give back.

    14. Re:Portfolio. Previous work. certificates mean zit by unity100 · · Score: 1

      put items into your contracts requiring that your employers give references for you in regard to the nature and quality of the work you have done.

  12. To hell with papers by pak9rabid · · Score: 3, Insightful

    You need to actually be testing their ability to write software. As a few others have pointed out, having them develop a simple web application as part of the interview process is probably going to be the best way to measure that ability.

    Additionally, to test their integration skills, you could also have them attempt to develop a new page to be integrated into your company's product. Not only will this show off their software development skills, but will also give you some insight into their ability to inherit an existing software project and work with it (something that he vast majority of newly-hired developers will have to do).

    1. Re:To hell with papers by Anonymous Coward · · Score: 0

      Seriously, do not recommend that someone build a 'new page' integrated into your product. It takes time to learn a company's existing design so no one is going to be able to do this in an interview and do it right except by pure chance.

    2. Re:To hell with papers by pak9rabid · · Score: 1

      Bullshit. That's one of the things we make prospective developers do for the company I work for...it's been working out pretty well so far.

    3. Re:To hell with papers by Anonymous Coward · · Score: 0

      I'm not certain I'd agree. You'll be testing their ability to write some pointless code under pressure using a computer not their own.

      I had a job interview like that once. They offered me the job. I turned it down.

    4. Re:To hell with papers by geminidomino · · Score: 1

      Bullshit. That's one of the things we make prospective developers do for the company I work for...it's been working out pretty well so far.

      Then your software must be either very simple, or a very very scary thing to behold...

    5. Re:To hell with papers by ionrock · · Score: 1

      One caveat I'd argue is to recognize the difference between the ability to program vs. programming in PHP. I had a terrible interview where the person chided me for not knowing a specific array function. While I'm sure he was correct that the array function was a better tool, I also got the impression he was not evaluating my skill as a programmer, but rather my knowledge of PHP.

      When I would interview people I would often ask about more general web development aspects. For example, what happens to the request before you get your $_POST (or whatever language specific object)? It was always surprising to find that many people had no clue what really happened and would respond that it was irrelevant since the web framework or language takes care of everything. This is not a good answer since it doesn't reveal any understanding of HTTP as a protocol as well as reveals a lack of interest to dig deeper.

      If I were to ask a developer to write a web application on the spot, I wouldn't really care about the language as much as I would ask about what the different parts of their framework/tool/library did in terms of responding to requests.

    6. Re:To hell with papers by EkriirkE · · Score: 1

      I think it would be neat to have them write the simple application without testing it at all afterward (ie on a piece of paper or within vi).
      Then if it works on the first run, great! Otherwise you can watch their debugging process which is also a very very good skill. On that note, give them a purposefully broken script and see how they deduce the problem as they will likley be working with others' code.

      --
      from 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
      to 45 2F 6E 40 3C DF 10 71 4E 41 DF AA 25 7D 31 3F
    7. Re:To hell with papers by pak9rabid · · Score: 1

      I wouldn't consider it simple (it's a large java webapp), but they are given some source code to use to help them out.

    8. Re:To hell with papers by CBravo · · Score: 1

      The only correct answer imho. Most people do not take prior work along and it is hard to distinguish theirs from their collegues. We have a LAMJ setup and it is hilarious how many people cannot even create proper code like "bla".equals(inputField) when their resume says they are Sun Certified Java Programmers. Secondly: it is a skill to follow an existing style of coding (even if it is not the most elegant). Something that is necessary in large codebases. Our test is 2 to 3 hours and we also regularly ask 'how are things going', along the way (i.e.: they should have an opinion). They should be able to communicate about the current state and problems they encounter and/or work around that.

      --
      nosig today
    9. Re:To hell with papers by xtracto · · Score: 1

      I would suggest something like that, but mainly look for the guys who have good LAMP knowledge.

      Back when I was almost finishing my University degree (Software Engineering), I was *very good* at programming. I was one of the first in my city (in a 150,000 people city on Mexico) coding .NET (back in 2002 or the the 1.0 days).

      I went into a software company (from American owners established in my city) looking for a job. After a quick interview and a week, I got accepted for a 3 MONTH test. After those 3 months it was going to be decided whether I stayed or left (and I also was given the chance to quit without notice on those 3 months).

      The first working day, the lead programmer asked me to do an "ABC" (altas, bajas y consultas), that is a simple DB application to read, write and report on some dataset (I remember I used a copy of a dataset they had), they told me to do it on any language and I chose C# .net.

      It took me about 4 hours. After the lead programmer reviewed the code (he was the only one in house who knew C#) he was impressed. In fact, he thought I would take two or three days haha.

      Nowadays I am rusty in my programming as I do mainly research. But even in my current research position, I had a 6 months "testing period" in which I could quit or could be dismissed if the research institute thought I was not OK.

      I believe in this type of "testing periods". Thus, I would suggest interviewing a bunch of candidates (5 or maybe 5) and offering a 3 month period to the one you think it is the best.

      Afterwards, if into the three months you thought you the guy isn't good, just dispose of him and look for your next available candidate in your list.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
  13. how many NASA people were certified by Anonymous Coward · · Score: 1, Insightful

    when we went to the moon?

    certification is a gigantic scam, so that PHBs can 'outsource' yet another job function while they collect huge paychecks for 'synergizing the optimal opportunity risk costs analysis paradigm and reduce opportunity costs while conforming with best practices metrics'. (ie, commit massive fraud, milk their good old boy network, and buy a golden parachute)

    hooray for capitalism.

    1. Re:how many NASA people were certified by Sounder40 · · Score: 1

      You're kidding, right? The mechanical, aeronautical, electrical and civil engineers not certified? Not only were they all engineers, they were the best of the best, the cream of the crop. A lot of guys wanted to be NASA engineers, and most of them were not hired. This is not a good comparison.

      --
      A clever person solves a problem, A wise person avoids it. -Einstein
  14. certs, by Anonymous Coward · · Score: 1, Insightful

    I take real production class skills or certifications any day. Know how to do something is one thing, actually making it work in the real world is another. I would be interested in what they have done and verify the work with the previous employers.

  15. Forget certificates by stanlyb · · Score: 2

    I was you, i would NEVER hire anyone with a certificate, NEVER. Obtaining a certificate is simply lost money, and lost time. Not mentioning the fact that every monkey with well designed short memory could remember a 2000 pages MS Server certificate Q&A, and become what? Monkey with MS Server certificate? And i am not joking, i really know such a people, who does not ever have a math degree, but who have a lot of "certificates".... Anyway, good look, you will need one.

    1. Re:Forget certificates by shadowrat · · Score: 1

      Wait a minute. You'd throw a candidate away on the basis of them HAVING a certification? Myself and several of my coworkers begrudgingly got MS certifications just so our employer can get cheap software. It was easy, we were paid some extra bonus money for it, and after all was said and done, i actually learned some things.

      My certifications are a line item on my resume now. I don't really trumpet them, i like to stand on my actual project accomplishments, but i would like to think they don't bring me down.

      If you interviewed me and asked me what my certification gives me, i'd say, "It proves that i am aware of certain obscure method signatures and command line arguments, but my work history proves i know how to use them and many more." I have no idea what you are looking for, but i imagine you would find me a capable developer.

      As for having a math degree, well i appreciate you looking for someone with a math degree. I went to school for art, yet i'm awfully good at linear algebra, calc, geometry, and statistics.

    2. Re:Forget certificates by Mongoose+Disciple · · Score: 2, Insightful

      That is, no offense, a dumb outlook to have.

      A person who doesn't know shit won't learn enough to do the job you want by getting a certificate, true. You should not take possession of a cert as evidence that a person is qualified to do a job without further investigation, also true.

      However, a person who mostly knows how to do the job you want will usually learn a little something by getting the relevant cert -- if only a basic understanding of the pieces of the technology or framework in question that haven't yet been relevant to the work they've done with it. They might learn about easier or cleaner ways to solve problems that they already can deal with in a less efficient way. They might learn about some unintended or hidden consequences of an approach they usually take to a problem. These are the kinds of things a person with genuine experience with a technology will pick up in the process of prepping for a cert exam.

      Often employers will also pay for their employees to become certified and/or provide other incentives. If that's not you or your employer, sorry, but don't hate on other developers for having had jobs that were actually willing to put money on the line for their employees to keep up with evolving technology.

    3. Re:Forget certificates by JWSmythe · · Score: 1

          Actually, avoiding someone because they have a cert is a bad idea. When I've been in a position which included hiring decisions, practical experience weighed a lot. Certs, regardless if they're a Brainbench cert, all the way to a college diploma, weigh absolutely nothing in my decision making process. They can't weigh negatively. Some good people have gone and gotten a fist full of certs, either because a previous employer sponsored it, or they were feeling independently wealthy and got them on their own. You definitely can't let them weigh positively though, a lot of idiots have managed their way through various schools, and can't answer simple real world questions, because they only learned enough from the book to pass the test.

          On certs, unfortunately I have to bring up a car analogy. My girlfriend worked as a service manager for a few auto manufacturers. One was being pissy about requiring ASE certifications for their mechanics. To show what kind of joke the certs are, she studied for the braking system test, and got her ASE certification in that. She's never turned a wrench in her life, and can't actually do the work.

          I was signing up with a head hunter. The manager was being a dick during the interview, basically saying I knew nothing and my resume was a lie. Finally he said I had to score "Master" level with Brainbench on at least two of three areas of knowledge that they required. He told me over 90% of the candidates were immediately disqualified because they couldn't even get a good score. I took two of the test, and scored master, and he wouldn't give me the third one. Even still, they never found me a job.

          I went on with the Brainbench tests, taking them whenever I was bored. I scored "Master" level on 11 tests, and got 4 "Certified Job Roles". I took the Solaris one, and figured I'd fail miserably. I hadn't touched a Sun box in years. I got 4.01 of 5 which put me in the 98th percentile, and was enough to score me in the "Master" level. I guess I remember some stuff after years of not touching a Solaris box. :)

          The world of certs would be great if it were to take experienced people, and test them to verify that they are competent in their field. Unfortunately, there's an entire industry built on training people to pass the test. Rarely is the knowledge retained much beyond that, except for the people who are really interested in the field, and practice well beyond the testing.

      --
      Serious? Seriousness is well above my pay grade.
    4. Re:Forget certificates by Revotron · · Score: 1

      I would NEVER hire anyone with grammar as horrible as yours.

      Grammar Nazi-ism aside, if that's your attitude then I'd be surprised if *anyone* *ever* wanted to work for you. I suppose when you take your car in for service, you avoid all the shops that are ASE certified. Why? Because if they're certified that makes them monkeys with wrenches? Nevermind the fact that ASE certification requires in-depth technical knowledge of automotive systems, *and* stresses professionalism. You won't give them your business because they're "wasting their money" on well-trained employees.

      The way in which you speak and your inability to reason are two strong factors that tell me that you are not a manager, nor will you ever be.

    5. Re:Forget certificates by Revotron · · Score: 1

      *DISCLAIMER: I am not ASE certified, nor have I attempted certification. I am speaking generally using ASE only as an example. The thoughts and opinions expressed above may not accurately represent the level of difficulty or qualifications of ASE certification.

    6. Re:Forget certificates by Anonymous Coward · · Score: 0

      That's alright, I wouldn't want to work with someone who can't write clearly.

    7. Re:Forget certificates by stanlyb · · Score: 1

      Next time try to compare apples and black holes. I suppose that your comparison would be more accurate than the before mentioned. Btw, my C/C++/Java/Delphi/Oracle/CACHE(the database....if you ever heard of that) grammar is clean, short, perfect and also, by some coincidence, actually doing something useful.

  16. This is pretty basic HR stuff by malraid · · Score: 3, Insightful

    First you define what you want:
    Do you want technical certs? Then look for people with those.
    Do you want people with academic background (data normalization, OOP, etc)? Then look for people with CS degree.
    Do you want people with experience? Then look for people with relevant experience, and or do a practical test as suggested (which everyone can get their smart friend to do for them I'm sure)

    Weight each one of the factors according to what he or she is supposed to be doing.
    Systems analyst? Architecture design? Jr. code monkey? Overall hacker (jack of all trades, master of none)?

    Then rank them in each factor. Most of those factores are qualitative more than quantitative by the way.

    But sometimes, the best programmers are not the ones with the best qualifications, but the ones with the best fit into your business. 8 years php experience vs 4 years php experience IN YOUR INDUSTRY: I'll pick the 4 year experience guy.

    --
    please excuse my apathy
  17. Technical Interviews by eln · · Score: 2, Interesting

    If they have the right buzzwords on their resume, bring them in and ask them technical questions relevant to your environment. Then, throw in a few questions related to other technologies on their resume that aren't directly relevant to your environment just to see if they're the type of person who likes to puff up their resume by listing stuff they don't really know. You have to have at least a passing knowledge of the stuff you ask about, of course.

    After you've established a baseline technical competency, ask them to solve a few simple programming problems to measure their problem solving ability. Doing them in PHP or Perl is obviously a bonus since you're dealing with LAMP, but pseudocode should be fine in a live interview type of situation. Don't judge things like missed semicolons too harshly, they're probably nervous. Concoct some basic scenarios dealing with the L or A part of the LAMP stack to judge their troubleshooting ability. Ask them for some SQL statements to pull certain data from a hypothetical database for the M part.

    Interspersed throughout should be questions that judge how well they'll fit into your company culture and how easily they can learn new things or deal with new and unexpected situations. For these, concentrate on asking about past experiences of that type rather than asking canned hypotheticals that everyone has already seen on the Internet and knows how to answer.

    A person's technical competence is not a reliable predictor of success. It's part of the equation, but his or her ability to learn and grow with the company, as well as the ability to fit in with your company culture, is much more important unless you're just looking for temporary contract labor.

    Also, don't be afraid to ask your friendly neighborhood PHB. If he's taken any sort of business classes at all, and didn't spend the entire time Facebooking instead of paying attention, he should have plenty of insight on effective hiring.

    1. Re:Technical Interviews by bem · · Score: 1

      If they have the right buzzwords on their resume...

      Ugh, if they have buzzwords on their resume, shoot them.

      Using buzzwords is a cover for lack of actual experience.

    2. Re:Technical Interviews by eln · · Score: 1

      Sorry, I shouldn't have said buzzwords. I meant the right technical stuff like "Linux", "PHP", stuff like that. If they have stuff like "creating corporate synergies" then they should indeed be shot.

    3. Re:Technical Interviews by Panaflex · · Score: 2, Insightful

      They may need those buzzwords or certificates to get past HR... don't be too harsh unless they really believe in those buzzwords!

      --
      I said no... but I missed and it came out yes.
    4. Re:Technical Interviews by JWSmythe · · Score: 1

      Interspersed throughout should be questions that judge how well they'll fit into your company culture and how easily they can learn new things or deal with new and unexpected situations. For these, concentrate on asking about past experiences of that type rather than asking canned hypotheticals that everyone has already seen on the Internet and knows how to answer.

          I love the canned questions. They're always funny. I've been interviewed by nontechnical people, who have a few random questions written down to ask. They're always thrown when I don't just give the canned answer, but a quick speech on the topic.

          Question: "What is BGP?"

          The right answer: "Border Gateway Protocol".

          My answer: "The Border Gateway Protocol, which us used most frequently by internet routers, and can be used to a client site for multihomed environments. It is the standard for Internet connectivity providers. Problems with BGP include route oscillation, also known as route flapping; sub-optimal routing; and extended outages during routing table convergence."

          They usually just say something like "ummm, ya, border gateway protocol, that's right." :)

          I wish they wouldn't waste my time interviewing with a non-technical person. Then again as an interviewer, I didn't like interviewing non-technical people who hadn't been filtered by someone else first.

      --
      Serious? Seriousness is well above my pay grade.
  18. You can't by Rix · · Score: 2

    That's what probation periods are for.

    If you try to quantify it, you'll end up hiring people who are good at gaming your system. That's a skillset, I suppose, but probably not the one you're looking for.

    1. Re:You can't by Anonymous Coward · · Score: 0

      Hurray!

      Mod parent up.

      That is why I always hire people - sometime 2 to 3 - on a 4 week contract.

      That gives me a great insight into what they are like, skills and what they are to work with.

      They get paid, I get to evaluate them for real - and for fit. Everyone wins.

  19. Experience-based resumes preferred... by stakovahflow · · Score: 1

    I'd say to either hire a consultant (consulting firm) or possibly look at Brainbench.com for certification & placement examinations. (Any testing is to be done on-site, in an allotted time-frame...) There may even be a service (such as Kelly services that would administer the testing, etc, for you). I'm in agreement with jvillain about the certifications, though. Just because someone is certified doesn't mean they're any good.

    Look at the guys with an experience-based resume, not a certification/education-based resume. Some certs are good, but most good techs & programmers did something other than take a lame course, etc, in Visual Basic or "Web" programming. The best coders learned it because they had to.

    I'd, personally, rather hire someone with no college/technical training that's been doing the work for the past 5-10 years, because he/she did it the hard way. That person learned it better, more thoroughly, and more completely. The benefit is they are more than likely still able to learn and work harder for you and your mission statement (I've seen this in quite a few cases).

    Regardless, good luck!

    --Stak

    --
    Holy happy hippy crap!
    1. Re:Experience-based resumes preferred... by CaptSlaq · · Score: 0

      ....

      I'd, personally, rather hire someone with no college/technical training that's been doing the work for the past 5-10 years, because he/she did it the hard way. That person learned it better, more thoroughly, and more completely. The benefit is they are more than likely still able to learn and work harder for you and your mission statement (I've seen this in quite a few cases).

      Regardless, good luck!

      --Stak

      As someone who HAS done your preferred route, I will tell you that the education you get from the "trial by fire" method of doing things is rather lopsided.

      I consider myself a pragmatic perl programmer and sysadmin, but as to the minutiae of what is happening in the iron, I can't answer those questions. Someone with a CS degree or certs that is worth their salt has a MUCH better grasp on how to get things done the right way, as opposed to just how to get things done.

      That said, just getting things done and working has its own merit too... so... /shrug

  20. Test for knowledge of two things by DJ+Jones · · Score: 1

    OOP techniques and security. The biggest benefit of LAMP is it's flexibility. You can literally weave 3 languages together in one page. That is also it's biggest downfall if people don't know how to structure a large application and use proper security techniques to prevent SQL injections and XXS attacks.

  21. How about a small project? by grasshoppa · · Score: 1

    Define a small coding project, deliverables and all, and bring in each candidate to complete it as a pre-interview. Then call back those that did the best job.

    Problem solved?

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:How about a small project? by Chapter80 · · Score: 1

      Define a small coding project, deliverables and all, and bring in each candidate to complete it as a pre-interview. Then call back those that did the best job.

      Problem solved?

      I've done this, only had them solve the small coding project IN the interview.

      Some people freeze under pressure. Some fakers are discovered. And some really good programmers come out of the mix.

      Ten years ago, when SQL injections weren't so well known, I would have the candidate write a very small web application. I had a SQL table set up with 10 users, their passwords (in plain text), and one more piece of data. The goal of the app was for a user to be able to sign in, display their data, or update their data. And Admin could sign in and see everyone's data.

      It's about a 30 minute challenge, given all the pieces that I pre-wrote for them. And then after the candidate inevitably wrote code with unsanitized data, I would sign into their application with a password of "' or '1'='1" to show them the flaw in their logic. If I had an engaging discussion with the candidate, and we both learned something, I knew they were a keeper.

      It'd be interesting to have the candidate bring their own test. "Bring in a brief problem, and code the solution in front of me". ... and provide the example above as a sample.

  22. 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.
    1. Re:Have someone competent interview them. by Anonymous Coward · · Score: 0

      To add to the above, if you are concentrating on technical knowledge, you're likely to end up with an architect/academic not a developer. You've not really explained the role, but you should identify the traits of the role and use those to weight the candidate's credentials.

    2. Re:Have someone competent interview them. by Angrew · · Score: 1

      A bit rougher than I would have put it but, yes. Who will be managing this person and what do they think? As a manager in IT, coming from an engineer position, finding someone that will fit with the team is as important as their technical ability. You narrow it down to people who seem competent enough to do the job then have them interview again with a couple people on the team. If they don't mesh it aint gona work and the people who do the job know exactly what is needed and don't want someone who isn't going to do their job.If you can't narrow it down based off a purely technical interview then move on.

  23. how you do it by Anonymous Coward · · Score: 0

    All right, candidate, here is a room with an internet connection, a MacBook, and, uh, a pitcher of water over there. In a couple of hours we'll be sending about 1000 connections per second your way so, uh, why don't you set up a secure registration form for a paywalled media site, really however you want, the content itself is just a dummy, what we want to see is how you keep track of the registration and authentication. Don't use any third-party solutions, do the actual coding. We'll look at security and performance. Good luck.

    seriously, just do it this way and you won't be sorry.

    1. Re:how you do it by RobertLTux · · Score: 1

      and the person that would actually do this is certifiable as insane.

      1 why waste time reinventing the wheel when drop in solutions exist??
      2 2 hours is not enough time for a secure site (that actually works)
      3 how could you expect a random laptop (much less a MAC) will have a developers environment installed??

      --
      Any person using FTFY or editing my postings agrees to a US$50.00 charge
  24. Definitely ignore higher education and experience by Anonymous Coward · · Score: 0

    I have twenty years experience developing client-server applications and a bachelor's degree, yet every position I apply for I am either

    • Overqualified, due to the credentials above, or
    • Not qualified, because the position requires existing experience or certification with a specific tool, process, or product.

    So, definitely ignore higher education and experience. Everyone else does!

  25. By testing for it by JamesP · · Score: 1

    It's the only way

    1 - ok they know PHP?! Ask them to write a simple function (whiteboard will do it), but you also can ask the to do 'homework' or set up a dev env. in a laptop

    2 - same for MySQL, do they know how to write a select, do they know how to use PhpMyAdmin at least?

    If they refuse to do it then go for difficult questions. If they won't answer, just send them home

    --
    how long until /. fixes commenting on Chrome?
    1. Re:By testing for it by WinterSolstice · · Score: 1

      It's remarkable how rarely I get asked this stuff.

      Usually the interviews I'm in are like "do you mind being oncall", "can you work in heavily formal environments", and "can you give us an example of how to troubleshoot 'foo' ".

      I hate those shops - I like your idea better :)

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    2. Re:By testing for it by rgviza · · Score: 1

      I'd rather see them do it with the command line mysql client.

      show databases
      use database
      show tables
      describe table
      select
      select into
      update
      delete

      create function
      create procedure
      create index
      create trigger

      If they can do most of this they are at least capable of functioning as a competent mysql-capable developer. I wouldn't expect anyone to know all of mysql's functions from memory. That's what the reference manual is for. You can cap this test by questioning them about design considerations, determining efficiency of operations, maintaining data integrity, and how to ballpark index cardinality etc.

      Knowing all of this isn't even necessary, since there's a manual, but if they know 70% of it they are doing better than most people that work with mysql and you can be assured they know how to use a manual.

      admin tasks such as setting up HA, replication, backups, disaster recovery etc and managing users are generally outside the scope of the average developer's knowledge so I consider that stuff a bonus, but not a must have

      --
      Don't kid yourself. It's the size of the regexp AND how you use it that counts.
  26. Spend time working with them by merlinokos · · Score: 1

    Our devs find that the best ways to test skills is to have people sit down with them and work on whatever problem they're currently facing. It allows us to see adaptability, thought processes, keenness and experience.

  27. develop a one hour test by macbeth66 · · Score: 1

    that you know demonstrates the ability to use the tools you have. It should be able to pull data from a DB, display it and accept data from the user and post it to the DB. Look for error handling and comments. What kind of naming conventions did he use. How crappy was his OOPs?

    And, I would add a problem that could not be easily overcome. Maybe the DB UserID does not have update, just insert. How does he deal with adversity?

    Finally, does he ask good quwestions and does he stick to the problem at hand?

    Does he mind being referred to as a he when he is a she?

  28. Have him or her set up one instance by Anonymous Coward · · Score: 0

    If they have any competency, you should easily discover it by having them set one up. Download Virtualbox and set up a few images (Ubuntu, Red Hat, FreeBSD, should only take a few hours while doing other things) and have them set one up. Apt, yum, port; you've basically got them covered, save for Solaris.

    Now, if you don't know how it's actually done and you're trying to hire without having the competency yourself, then you've either got to get someone who has the competency to interview, or just guess like everybody else. I wish we all had a silver bullet for this stuff, but certifications in particular are not it, not when the companies providing them are paid to provide them.

  29. Basic CS concepts? by hellop2 · · Score: 1

    Give em a GRE practice test.

    --
    How many more years will slashdot have an off-by-one error on your Score in your profile?
  30. Chicken and Egg Problem... by rockmuelle · · Score: 1

    First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

    After that, you're back to the main problem of interviewing technical candidates. To do this successfully, you need at least one good technical person to participate in the interview. That person should be able to ask questions about experience and pose scenarios that probe the candidate's depth of knowledge. The interviewer also needs to be nimble enough to move between topics to gauge overall competency - the candidate may be weak in one area, but overall strong. If the interviewer only focuses on the weak area, you'll risk losing a good candidate.

    For specific skills, it's also good to have a few technical questions with definite right answers. I prefer showing code and having them find bugs or telling me what the output is. I keep the code simple enough that a good person can spot the problem in a few minutes, but tricky enough that they may get it wrong with the first guess. That helps to see how they work through tougher problems. Language agnostic problems are best - e.g., problems that focus on control flow constructs common to most languages work well.

    Anyway, good luck interviewing. It's tough to sort through all the noise, but there are good people out there.

    -Chris

    1. Re:Chicken and Egg Problem... by JonJ · · Score: 1

      First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

      This is complete and utter bullshit. My last boss had a boatload of certs and managed offices for ca. four countries almost singlehandedly, he would easily run circles around your sorry administrative ass all day long.

      --
      -- Linux user #369862
    2. Re:Chicken and Egg Problem... by Anonymous Coward · · Score: 0

      First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

      This is complete and utter bullshit. My last boss had a boatload of certs and managed offices for ca. four countries almost singlehandedly, he would easily run circles around your sorry administrative ass all day long.

      Exception that proves the rule.

    3. Re:Chicken and Egg Problem... by HockeyPuck · · Score: 1

      First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

      You do realize that recruiters look specifically for certifications. Oftentimes they are just looking for keywords.

    4. Re:Chicken and Egg Problem... by Anonymous Coward · · Score: 0

      Sooo to get hired by you I need to submit 3 resumes.
      One with all my certs, schools I've attended etc..
      One with all my projects I've done
      Another one with all of the above.

      I'll print them out in slightly different fonts, on slightly different colours of paper so I notice which one you're looking at while we're at the interview.

      Sounds like a waste to me. Just because you toss resumes in the round bin if they have certs listed. If everyone ignores the resume, then how the hell does anyone get an interview?

      New line of thinking: instead of long resumes, just print out business cards. They will be drawn from a hat, the first 5 drawn out will get a call from our recruitment team. If they all fail the personality test we give them, we'll draw another five from the hat, until we find our people, or the hat's empty.

      Once the personality test is complete, we'll do an aptitude test. (Working well with others trumps knowing what the @#$% you're doing)

    5. Re:Chicken and Egg Problem... by Rary · · Score: 1

      First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

      There seem to be two main reactions to certifications: some people think that they indicate that the person is an expert, and some people think that they indicate that the person is an idiot.

      As usual, the reality is somewhere in between. Certification usually means the individual has a basic knowledge of the subject matter. They don't mean "expert" or "idiot", although some people with certifications will be experts, others will be idiots, and most will be competent professionals. It's the rest of the package (previous experience, other education, etc) that indicates which category the individual falls into.

      As a consultant, the six certifications I have attained look good on my resume to indicate to prospective clients that I have at least some basic knowledge of the subjects of those certifications. My past experience and references from previous clients show that I am somewhat expert in certain areas, and at least a competent professional in the rest.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    6. Re:Chicken and Egg Problem... by Anonymous Coward · · Score: 0

      >>First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

      I'm not a fan of certifications at all and would generally agree that they don't necessarily measure competency but rather make profit
      for the companies pushing them. However, they ARE useful to help differentiate candidates seeking jobs because some companies (like it
      or not) look for certs. So I would say, don't trash all people who get certs. Some people do so strictly because some employers
      look for it. Disagree with the quality of certs if you like. That is legitimate. If I'm trying to get a job to feed my family though, I'm going
      to get certs in addition to any other things that will help my prospects of employment.

      NewPapa

  31. Self-rating, then ask questions by BBTaeKwonDo · · Score: 1
    Here's what I've done:
    1. For each skill you require, have the candidate rank himself or herself on a scale of 1 to 6. Each step must have specific criteria. E.g., step 1 is "never heard of it", step 2 is "heard of it, haven't used it", step 3 is "used but would need a refresher before using again", step 4 is "Used a lot, still have a lot to learn", step 5 is "expert", step 6 is "have published or lectured articles on it". Can use more or fewer steps, but I think you get the idea. To save your time, this should be done before the interview.
    2. You can probably use this to filter out a lot of the candidates. People who lie will get caught in the next round.
    3. During the interview, ask specific technical questions based on the individual's self-ranking for that skill. You can pull the questions from Q&A forums, your own experience, etc. Probably want to ask 2-3 questions per skill, but you might need 10 or so questions with varying skill levels to ask the different candidates.

    You should ask questions until you're confident that the person has answered their self-ranking accurately, but if you have to ask about more than 5 skills, you probably don't trust the person and you should end the interview.

    I should add that technical skills are quickly obsolete, so unless you're hiring contractors, which you're apparently not, you shouldn't use skill in specific technologies as the primary criterion for hiring decisions. Ability to learn, people skills, and work ethic are much more important and harder to teach. Of course, if they have few technical skills, then their ability to learn may be low, so they're not exactly independent criteria.

  32. Metrics are worthless by qoncept · · Score: 1

    I think you're looking in the wrong direction here. You've seen the resumes -- you know who is qualified. Maybe bring up a couple of technical questions to verify their qualificaitons. But the way my company interviews, you're not worried about that. You want to find the best worker. Our interviews are almost 100% "what would you do" or "how did you handle x." In my experience, it makes dealing with the people who do end up getting hired a whole lot easier.

    --
    Whale
  33. Look for Good Architects by Anonymous Coward · · Score: 1, Interesting

    Bring them in and put them in front of a whiteboard. Discuss the project you need done and ask how they would approach it. They should be able to explain it and diagram it. This alone will show how far their compentencies go in each part of the lamp stack as well as OO and other key concepts.

  34. buzzword bingo by fwice · · Score: 1

    Play buzzword bingo with the CV:

    ie, find the 'resume term-of-the-week' and ask them about it: if the candidate can speak about it intelligibly, they know something about it, and increase the difficulty.

    in the past, the big buzzword was Java. Now it tends to be Python.

    I sit on the interview committee for my group. I look over all resumes of candidates I interview before they step into my office, so I know what's written and what they 'claim to' know. I'll ask questions, and if the candidate has something on there that cannot be explained or defended, that candidate just failed. I don't like people who add crap to resumes for no reason.

    as far as the lamp testing goes:

    Linux:
    - installation [non-package] of the configure, make variety
    - configuration files, where they sit, how to edit
    - differences between etcpasswd and etcshadow, and why hashes only [not passwords] are stored and what salts are
    - chroot jails

    Apache:
    - modules. explain
    - apache conf
    - virtual servers

    MySQL:
    - how to design a database [ie, here's a DB task. how would you solve/implement?]
    - how do you [personally] send SQL commands to the server? the mysql command window, perl, php, python, etc. what hooks are you familiar with?
    - pivot tables, one to many, many to one, foreign keys

    Perl/Python/PHP: [preface: I am not a big user of Python]
    - how would you implement [x data type] in Perl?
    - External Perl Libraries -- how not to reinvent the wheel
    - Why to use PHP? Why fully dynamic pages are not good in a high-traffic environment? Ways to have 'dynamic' pages generated while keeping the actual pages 'static'
    - What resources do you consult? And how?

    OOP/MVC:
    - I ask implementation questions, and get the candidate talking. Someone proficient in OOP/MVC should be able to talk about the concepts easily without much prodding. Why, how, best practices, etc.

  35. Certification by mwvdlee · · Score: 1

    Speaking as somebody who just got a bunch of certifications in several areas to fill up the time during unemployment; certifications don't mean shit. Yes, they can get you hired more quickly, but they are no measurement of competence.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Certification by donnyspi · · Score: 1

      I can attest to this. Years ago I took a bunch of BrainBench tests (for fun) and got a lot of computer-related certs. Then just for kicks I took the phlebotomy test, and guess what, I passed and got a cert. I have no medical background at all, but was able to pass. Lame.

  36. interview by vbrtrmn · · Score: 1

    Are you asking how to quantify someone's LAMP experience or are you asking how to interview someone for a programming position? Seems like the latter to me.

    --
    it's a sig, wtf?
  37. Are you qualified? by twistedfuck · · Score: 2, Interesting

    If you have to ask how to interview software engineers for competency, maybe you are not qualified to be interviewing software engineers.

    Good experience is far more important than any certification. Wanna see if they can design and build software? Give them a problem that requires they outline a design and then have them code up specific pieces like DB table schema, table queries, classes, templates etc.

  38. Certificates = blame allocation by ghostdoc · · Score: 1

    If you get to the blame allocation phase of your project, and I really hope you don't, then that's when certificates come into their own.

    You can come up with the most perfect slashdot-based system of determining LAMP competency, but when push comes to shove, what a manager wants to see is commercial certificates.

    I know and you know that they don't mean shit, anyone can pass them. But they're official bits of paper which means they're *quantifiable* and *indisputable* which makes them gold.

    So the question you should be asking is not 'how do I tell if they're competent'...but 'do I value competence when I could be fired if they fail the project?'

    No-one got fired for buying IBM...plus ca change.

    --
    Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
  39. Ask questions... by Panaflex · · Score: 1

    I usually like to ask questions like:
    How do you start/stop web server?
    Where are the standard debug logs for web server, php/perl?
    What's the difference between threads and processes?
    If the average http connection lasts 1s, what is the maximum number of connections you can serve over 1 hour with a pool of 50 sockets?
    Then I have them write a short piece of code in whatever common language they like for sorting.
    Then I give them a basic mathematical equation and have them write the code to implement it.
    Next I ask some common skill questions, such as what to check when there are no incoming users, debug common trace dumps/stack dumps, how to optimize SQL queries, and how would they mitigate/protect against hackers and other similar security questions.
    Lastly I ask about how they feel about build it vs COTS, OSS software, bug fix management, tools they like to use, their favorite/worst projects and then have some open questions.

    In other words, ask questions about the job they will do, get to know how they interact a bit, how deep are their skills, and what their hobbies are. If you've got the time, try doing a code review with them... mostly I'm looking at a basic skill comprehension, the ability to interact well with overs, the ability to defend a position or compromise, and how well the existing team feels.

    --
    I said no... but I missed and it came out yes.
  40. BNF, OOP, etc... weeding people out. by AnonymousClown · · Score: 1
    Why the acronyms? Are you really going to be using those concepts or are you just using them to weed people out?

    When UML first came out, it was this HUGE thing with many IT managers. They wanted it in a candidate and they wanted 2+ years experience. As anyone who started out in OOP with designing and implementing without UML, we basically thought in the OOP language of our choice and designed and implemented from there: UML seemed redundant and overly complex - it was easier to design it in C++ or Java and then translate it to UML for the people who gave a shit about it and the designs came out better that way.

    My point is that many folks may have years and year of experience and be very good at what they do but are not very familiar with "MVC" or any other models or acronyms or buzzwords that were created (usually by academics after the fact) BUT, they know the concepts intuitively. For example, when C++ first hit the market, we C programmers looked at it and thought, "OK, putting code into a structure with the data. I can see how that can tighten up development but it won't make anything better."

    You want to weed people out? Do this. Grab the candidates that you like and then sit them down and ask them how they would implement something.

    Anyone can memorize buzzwords and parrot them and sound like they know what they're doing.

    --
    RIP America

    July 4, 1776 - September 11, 2001

  41. Give them a test box by casiowatchchick · · Score: 0

    Give them a test box and ask them to install Linux/BSD from ground up.

    Ask them to install LAMP and configure the most efficient way as possible.

    Make sure they work *very* hard like this guy if the job involves round the clock work.

  42. Talk to the people by Anonymous Coward · · Score: 0

    The desire to abstract metrics from what will ultimately be a person working for you is self-defeating. You will find out more about their capabilities and understanding through a 5 minute conversation than you will from hours of creating and applying metrics. Remember, you are looking to hire a person to be a programmer, not a programmer weighted down by watery flesh.

  43. This isn't rocket science by Animats · · Score: 1

    PHP/MySQL web programming is a low-end job. So you want second-rate people who aren't totally incompetent. That stuff isn't rocket science.

    You may be better off finding some people who will fit in well with your organization and have some interest in the business, and have done a little web development. They can learn PHP/MySQL in a month or two. They're likely to come up with something that makes business sense.

    1. Re:This isn't rocket science by Anonymous Coward · · Score: 0

      Low-end job compared to what? Java? Ditch digging?

    2. Re:This isn't rocket science by Skadet · · Score: 1

      He could be talking about a low-end job, but to say "PHP/MySQL web programming is a low-end job" is uninformed. The Onion and their AV Club, for example, are both sites on a PHP/MySQL framework, and a guy with a month or two of PHP experience isn't going to get a whole lot accomplished in that environment.

  44. LAMP competency? Hire the bright ones... by magbottle · · Score: 0

    and let chips fall where they may.....

  45. What certifications would those be? by erroneus · · Score: 0

    I know, commenters are supposed to answer the questions not pose new ones, but I am curious about what LAMP certifications you identified as established and well recognized?

    I have been considering shifting gears lately and I know I can code and I focus on secure and error-free coding. But being able to prove I know what I know is pretty important in cases. I don't want to be someone's employee if I can avoid it and there are loads of opportunities in small to medium businesses who are looking to have their applications written in ways that are cost effective and stable. (seriously, sometimes Linux servers are too damned reliable. I have two deployments at different client sites that I haven't had anything to do with in like two+ years and they are still running strong without my help. I would love for them to run updates and such, but as these are internal servers not exposed to the internet it's not quite so critical anyway. A former employer's site is still running my servers unmodified/updated for about as long as well... oh well! It works well enough that they didn't need me any longer.)

    Anyway, certs might be good to have. So which are the best to get?

  46. You can't by xednieht · · Score: 1

    Prior to employment you can only measure Potential. Actual competency can only be measured when they actually perform their jobs. Keep the good ones, cut the bad ones loose.

    --

    Hope is the currency of fools
  47. Ask them to speak about something they have done by kikito · · Score: 1

    Ask them to speak about some site they have done, and they are proud of.

    See if they are able to a) Tell specifics about the implementation and b) Communicate them adequately.

  48. 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....

    1. Re:One question I always ask... by Anonymous Coward · · Score: 1, Insightful

      Really? Asking for help is a red flag? Wow, I'd hate to work with you!

    2. Re:One question I always ask... by ImprovOmega · · Score: 1

      Mostly because you're being hired to help fix problems, not cause more of them. Asking anything more than "can you recommend a good place to start" is not helping matters. In the future generations, the ability to execute cogent Google searches will be more important than actual experience.

    3. Re:One question I always ask... by hibiki_r · · Score: 1

      I'd say that if someone doesn't come and ask for help after they have done the Google search, chances are that they will cause more problems than they solve anyway. If all the information you need to do the job right is easy to find on a search engine, you aren't asking for very much.

    4. Re:One question I always ask... by TrumpetX · · Score: 2, Insightful

      I was in an interview once and was bumped out of the running because I answered the question as you described above "the right way." My interviewer thought the correct answer was to ask for help from him or someone else within the organization.

    5. Re:One question I always ask... by Anonymous Coward · · Score: 0

      Good, a level headed approach. Are you hiring?

    6. Re:One question I always ask... by Reservoir+Penguin · · Score: 1

      Which is of course was the correct answer. The last thing they want you to do is to spend hours reading google searches when there is a guy next to you has dealt with the problem before.

      --
      US-UK-Israel: The real Axis of Evil
    7. Re:One question I always ask... by turing_m · · Score: 1

      If all the information you need to do the job right is easy to find on a search engine, you aren't asking for very much.

      The information is usually there. It's knowing what to look for, finding it and applying it that's the hard part.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    8. Re:One question I always ask... by turing_m · · Score: 1

      Really? Asking for help is a red flag? Wow, I'd hate to work with you!

      It's a red flag, not a deal breaker. He's trying to weed out the people who are too lazy to google things like regex creation etc, as the time required and constant interruptions to spoon feed will mean that it would be quicker for him to do the coding himself and not hire anyone.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    9. Re:One question I always ask... by KevinIsOwn · · Score: 1

      But you also can't be constantly bothering your coworker with questions that can be easily answered by googling. You have to at least try to find an answer before asking the expert sitting next to you -- save them for the really tough ones.

    10. Re:One question I always ask... by Anonymous Coward · · Score: 0


      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.

      Sheesh. Some people and their "magic bullet" questions. Did it ever possibly occur to you that different, highly competent people take different approaches to the same problem and can be just as good or better than someone that takes your preferred approach? What's so horribly wrong about asking you for help, or wanting further education? I'll bet dollars to donuts your bias comes from one or two negative experiences you've had with people who took the "wrong" approach. We've all known idiots in our lifetimes. Sorting out the idiots isn't a matter of asking the "idiot question" and making sure they don't give the "idiot response".

      Maybe you personally prefer people who take your approach. But you're offering GENERAL advice here. Your biases don't apply, and in fact get in the way.

    11. Re:One question I always ask... by jgerry · · Score: 1

      This is great advice when you're looking for general, solid, all-around engineers. Probably won't apply as much when you're looking for something very specific though.

      I am a general purpose software engineer and systems architect. I find solutions to problems. I may touch 5 or more different programming languages in a week, I can't remember every detail of each. But I understand logic, systems design, app design, and programming. I can find what I need. And I look for others to hire exactly as you describe.

    12. Re:One question I always ask... by Anonymous Coward · · Score: 0

      So managers aren't supposed to function as an in-house resource for new hires? The organization only benefits from employee experience in such a way that the benefit only flows up the organizational chart, never downwards?

      Nothing can be learned from classroom instruction whatsoever, and someone who shows an interest in that is a bad employee?

      Sounds like you're testing for initiative-- not competence. You want a self-starter who solves problems without relying on you for anything.

      That's certainly one approach, but I'm not entirely certain it isn't as legitimate as the other two.

      What I find interesting is the juxtaposition of these two statements:

      "Real power is knowing where to look to quickly get your answer."

      "If they say anything on the lines of having me help them... it will automatically send up red flags."

      So in other words, you want an employee who knows that you are not the place to quickly get any answers. Interesting.

  49. "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.

    2. Re:"as well as basic computer science concepts" by garyj4 · · Score: 1

      "The best ones didn't have a cert or degree or anything."
      Wow, took the words out of my mouth. I interviewed a guy who had a cert in solaris and windows. Looked great, then found he knew neither of them very well. After that I take certs with a grain of salt.

    3. Re:"as well as basic computer science concepts" by FuckingNickName · · Score: 1

      Wow, took the words out of my mouth. I interviewed a guy who had a cert in solaris and windows. Looked great, then found he knew neither of them very well. After that I take certs with a grain of salt.

      To almost but not quite counter my own point, I've also met people with many years of experience at some fairly well-known firms and no degrees/certs/etc who really have no sense of ingenuity in architecting a system. They haven't expanded beyond what they learnt on/for the job.

      IOW, someone who hasn't spent time in formal education and/or training needs to have caught up otherwise. (And many people have.)

    4. Re:"as well as basic computer science concepts" by SurgeryByNumbers · · Score: 1

      Not just that you know how to look things up, but that you know something exists so you can look it up. For example, regular expressions. Or hash functions. Or the many, many tree structures.

    5. Re:"as well as basic computer science concepts" by codeguy007 · · Score: 1

      If you have guys in the interview without CS degrees, they are not going to know this stuff. They are going to know how to create web based apps with MySQL backends. They probably won`t be strong on database techniques taught at University. They will most likely just know some simple SQL and basics of designing a database. These are PHP and MySQL programmers. Not Oracle and C++ programmers.

    6. Re:"as well as basic computer science concepts" by Anonymous Coward · · Score: 0

      While I wholeheartedly agree with you, not according to Google or Microsoft. Then again, other people are offering jobs as well.

    7. Re:"as well as basic computer science concepts" by Nite_Hawk · · Score: 1

      Over the last 10 years I've worked in a couple of different positions as a sysadmin and programmer and I agree with you 100%. Of every skill I've picked up over the years by far the most valuable is how quickly and concisely I can lookup and apply information. It's enabled me to diagnose lustre on an 8000 core supercomputer with no real clustered storage experience, rebuild the engine of my car, cook delicious meals, verify medical prognoses, learn proper building construction techniques, etc. If you are willing to do the research and put in the effort to learn from other people's experiences you can do amazing things with little prior knowledge. All you really need to do is be willing to do a lot of reading and perfect your ability to detect when someone knows what they are talking about.

      Coincidently, it's a skill that has come in handy when interviewing people.

    8. Re:"as well as basic computer science concepts" by DarthVain · · Score: 1

      Here Here! Well said. Couldn't agree more.

      The only thing I would add, is if I had the fantastical ability to do all those things, why would I be applying to work for you? Shouldn't I be solving crime or finding a cure for cancer or something more worthwhile of my amazing abilities?

      Its about understating principles, applying them, and the ability to learn and absorb new things, as there will always be new things.

      Without trying to sound like an idiot here I am reminded of a course I did for work. My boss at the time, didn't like the fact that I went on and on in my emails and was too verbose and detailed in things. So he sent me to a workshop called something like "Clear and Concise English for Business". Despite the title perhaps they could have used their own advice a little less, in that the course really was business level English for people with English as a second language.
      Now considering that I was a first language kind of guy, I was awesome, top of the class! :) However there was one thing that was a bit disturbing, which when I think back likely had to do with my early schooling. Any time they asked me to construct or deconstruct anything, I did it perfectly. However when they asked me why I chose the decisions I chose, I had no answer, only that it was the "correct" way. Perhaps it was because I had some hippyish english teachers in high school more concerned with creativity.

      In any event, the point is I understood the principles to do my work, but if you asked me to recite all the rules I was following I would likely draw a big blank. To put it in perspective, English is something you use every hour or every minute of the day, not just some language you may code sometimes on and off as part of your day job.

      To put it in the context of an interview, if you gave me some tables to normalize, I would do that to what I thought was the best way to do it. If you say give me BCNF, I may just look at you like your retarded. If you asked me that at work, I would likely just Google it, or if for whatever reason the internet was down, I might expend the energy to grab my intro to databases book off the shelf, dust it off, open it up, and refresh my memory of wtf it was all about.

    9. Re:"as well as basic computer science concepts" by DarthVain · · Score: 1

      I saw this a while ago and it seemed pretty accurate...

      http://lifehacker.com/5344702/tech-support-cheat-sheet-reveals-the-secrets-of-troubleshooting

      Don't get me wrong I know a lot of "stuff", but it is simply impossible to know everything. Which seems what people expect. That or magic.

    10. Re:"as well as basic computer science concepts" by Anonymous Coward · · Score: 0

      You heard it hear first, Oracle and C++ are only taught at university.

    11. Re:"as well as basic computer science concepts" by turing_m · · Score: 1

      I have been a system engineer for going on 20 years now and I still look up 90% of the stuff I do.

      Thank you, parent and the other people commenting on here - I do exactly this and it works out brilliantly for me. Unless I have just looked stuff up, it seems I have to go back and refresh myself on things time and time again. Someone else mentioned regexes - they are a classic example. Every time in my life when I need a regex, I have to relearn how the darn things work again. It doesn't take that long though, and each time it comes back faster. Syntax for various languages too. I don't even internalize how to do basic things like loops, tests or assignment statements. I've probably spent thousands of hours coding in shell, SQL and Perl but if you asked me how to do the equivalent of "Hello World" in each, I'd fail because it's been at least 2 weeks since I've used any of them. I know at least for shell, I'd just google "advanced bash", get the Advanced Bash Scripting guide, and go from there. I'd have equivalent resources for everything else. It does not stop me from creating what I want. For lots of things, I'll start with an example and be able to grok what someone is doing, and just modify it to do what I want.

      I see something similar in other forums - the best resources on there, pretty much without fail, are other autodidacts. They are poor in certification because by the time someone else has found a course, booked, attended and been spoon fed information that may or may not teach what they wanted to know, the autodidact has googled it, learned it, applied it and moved on. And possibly ordered a book on it if he couldn't find it online.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    12. Re:"as well as basic computer science concepts" by turing_m · · Score: 1

      Interesting you bring that up. I'm glad I have my degree in lots of ways, because it taught me that most subjects have depth to them. That it pays to dig deeper than the surface, because there are minefields of gotchas and footguns lurking when you don't anticipate problems involved with projects. That it pays to listen when other people say things, and when you hit on unfamiliar terms, to research them.

      Endless research does mean that you tend to get less things done, and have problems finishing things. When you do get things done though, they usually kick major ass. To use an RPG analogy, you can go the way of the warrior or the way of the wizard. The warrior's road is easy but there is a finite amount of power you can accrue. The wizard's way is hard, but by the time you do get around to doing whatever it is you want to do, it's easy. It's staying alive until you become powerful that is the hard part.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
  50. How well have you memorized the manual... by Anonymous Coward · · Score: 0

    The most worthless of technical interviews. Absolutely meaningless because it doesn't address the true core competency necessary of a programmer - problem solving.

    I write in a slew of languages, but I do more day-to-day in just one. It doesn't take anyone who has broad experience to jump between languages and platforms so the "manual memorization" interviews are worthless in these cases. A couple of general questions would be appropriate to check for padding, but a question like "name the 4 different values that property X can hold in language Z" is completely worthless (I actually got that question once) because that information is available within any decent IDE so memorization isn't required.

    Knowing what you want to do in an application and designing the solution is the important part. I think too many technical interviews turn into massive "gotcha" sessions where the interviewer wants to look like a guru, when they have had plenty of time (and resources) to look up their own answers.

    So, when I interview candidates, I ask them questions about solving problems while brushing up against technical details. This allows me to gauge how they think (or do they just type what are told), and if they understand the technology terms.

    A good Java programmer who has done some PHP and can solve problems like a champ, for example, will quickly make the language transition, but may not answer correctly all the "gotcha" questions.

    Hire a good thinker. The rest will take care of itself.

  51. Conduct a 'presentation' interview. by sherriw · · Score: 1

    Ask the candidate to give a short presentation on a software project they worked on in the past. they can describe database design, frameworks used, reasoning behind programming environment choices etc. You'll get a good feel for their technical knowledge, grasp of a project and communication skills. Have someone in the interview who can throw technical Qs at them from time to time.

  52. Acronyms? by Anonymous Coward · · Score: 0

    Simple! Put a minute on the clock and see how many acronyms they can regurgitate. (Any overachievers must be handled with caution, since there is a high likelihood that they are gunning for your job.)

  53. You're forgetting stuff by Texodore · · Score: 1

    Technical ability isn't going to help nearly enough if they don't understand software engineering principles. What SDLC methodologies have they used? What do they like and don't like? What source code tools do they like? What is Brooks' Law? How do they work with QA? Have they supported software they have released or has it gone to another team?

    And understand their answers. Say they don't like the daily Scrum in their AGILE environment. Why? Is it because it's pointless in that environment - no real problems are addressed, brought up, no code is reviewed, no items gone over? Or do they just find it boring?

    Technology is important. It's also important to have engineers and not programmers. 10 times out of 10 I'd hire and engineer with proven SDLC experience without the specific experience in the specific technology at hand*. My experience is that having an engineer that uses and respects the processes in place is infinitely more valuable than getting someone with mastery of the technology.

    *Within reason. I'm not hiring a LAMP expert for an embedded C job, but hiring a LAMP expert for a web-based Java job? Yeah, I'd consider that.

  54. DTHAP? by drdrgivemethenews · · Score: 1

    Get one of your most curious and bright engineers to interview them with a view to answering the question, "Do They Have A Pulse?"

    That, and team fit, are better predictors of success at your company than any of the other stuff, in my experience.

  55. Provide Development Tests by KermodeBear · · Score: 1

    Development tests are very useful in that they can give you an idea of how someone works and what kind of quality to expect. Tests can be done in house or you can let them take them home if you'd like.

    Provide a set of tasks and ask that they provide, for example, brief technical documentation, the code, database schema, and anything else relevant. Intentionally provide a task or two that doesn't have enough information - see if they ask for clarification (good thing) or just make up whatever they please (bad thing) and see if it is what you wanted.

    --
    Love sees no species.
  56. I wouldn't worry about LAMP Competence Metrics by Slashdot+Parent · · Score: 1

    The whole idea of LAMP is that it's an easy-to-learn, easy-to-deploy stack. Any competent developer should be able to learn this, quickly. Even if you could assign a "LAMP Competence Metric" (say a 0-10 scale) to a person, a competent developer who is a 2 in LAMP will be a 9 much more quickly than an incompetent developer who is currently a 6.

    When I hire coders, I like to see how quickly they can understand a system via standard UML architecture diagrams. I like to see if they can implement a basic logic task using their choice of language, and I want that implementation to be straightforward, and I want it to use the coder's chosen language's foundation libraries instead of reinventing the wheel.

    I also like to get a feel for how experienced they are in working with any of the various system development processes. (Hint: "What's that?" is a bad answer. Cowboy Coders are unwelcome at my company.)

    Regarding testing basic computer science concepts, I like to ask candidates to differentiate one thing from another. For example, given your list of concepts ("BNF, data normalization, OOP, MVC"), I'd ask:

    1. I'd show them a BNF for something simple and ask them to interpret it. (Honestly though, I haven't used the term BNF since college. Not sure why you care.)
    2. What is the difference between a normalized and denormalized schema? In what situations might you use each?
    3. What is the difference between OOP and procedural programming?
    4. Can you please describe MVC and what problems it solves?
    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    1. Re:I wouldn't worry about LAMP Competence Metrics by PhuFighter · · Score: 1

      The whole idea of LAMP is that it's an easy-to-learn, easy-to-deploy stack. Any competent developer should be able to learn this, quickly. Even if you could assign a "LAMP Competence Metric" (say a 0-10 scale) to a person, a competent developer who is a 2 in LAMP will be a 9 much more quickly than an incompetent developer who is currently a 6.

      When I hire coders, I like to see how quickly they can understand a system via standard UML architecture diagrams. I like to see if they can implement a basic logic task using their choice of language, and I want that implementation to be straightforward, and I want it to use the coder's chosen language's foundation libraries instead of reinventing the wheel.

      I also like to get a feel for how experienced they are in working with any of the various system development processes. (Hint: "What's that?" is a bad answer. Cowboy Coders are unwelcome at my company.)

      Regarding testing basic computer science concepts, I like to ask candidates to differentiate one thing from another. For example, given your list of concepts ("BNF, data normalization, OOP, MVC"), I'd ask:

      1. I'd show them a BNF for something simple and ask them to interpret it. (Honestly though, I haven't used the term BNF since college. Not sure why you care.)
      2. What is the difference between a normalized and denormalized schema? In what situations might you use each?
      3. What is the difference between OOP and procedural programming?
      4. Can you please describe MVC and what problems it solves?

      I like this approach a lot. We've hired people who scored off-the-chart in standardized tests, but were completely unable to work within our relatively regimented development environment. I think the key things are work ethic (it'll be great if they could demonstrate their work ethic in multiple situations professionally or not), and the ability to learn abstract concepts and then apply them. Whatever they don't know when they start the job, they will be able to pick up. That is, of course, you require someone to be productive right away. I try not to ask "what is this?" or "define this" type of questions, but I try to ask problem solving questions to see their problem solving skills.

    2. Re:I wouldn't worry about LAMP Competence Metrics by Shados · · Score: 1

      Totally agree. Its easy to find someone who can explain to you why use OOP, MVC or normalization and what its good for. You actually need to know something to be able to say when its NOT good and what are the alternatives.

      If you can find someone who can give 2 modern alternatives to the MVC pattern and when to use them, you basically filtered 90% of developers right there.

    3. Re:I wouldn't worry about LAMP Competence Metrics by Slashdot+Parent · · Score: 1

      I try not to ask "what is this?" or "define this" type of questions, but I try to ask problem solving questions to see their problem solving skills.

      Yeah, that's why I like to do both. But I don't typically ask "define this", per se. I'll ask "What's the difference between?" instead. That way, if they don't have a solid understanding of something on their resume, I'll find out immediately.

      Example candidate whom I did not hire had DOM and SAX on his resume:
      Me: What is the difference between DOM and SAX?
      Candidate: They are both for Java XML programming.
      Me: Yes, but they each approach that task in a different way. Can you please elaborate on that?
      Candidate: ... ... ...
      Me: Would you like me to do you the favor of crossing those buzzwords off your resume so we can move on?
      Candidate: ... uh, yeah.

      Needless to say, I did not select that candidate.

      Free advice to all your job seekers out there: Don't put anything on your resume unless you are prepared to discuss that single topic for the entire length of the interview. It probably won't happen, but if that one buzzword is what I'm hiring you for, you're going to look like an idiot if the best you can do is expand the acronym!

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  57. This isn't 100% sarcastic. by fred+fleenblat · · Score: 1

    Given how you and perhaps your organization seems to work, you should just look for developers who are good at going to forums and asking other people for advice on how to do their job.

  58. Not certs by tthomas48 · · Score: 1

    I'd be pretty dubious of a PHP programmer with a cert. You probably just want to know if they can think. To that end programming exercises are good. Just give them a fairly simple task and 2 hours or so. For LAMP, I'd probably just ask them to build a simple CRUD contact management app. Just ask for FIRST_NAME, LAST_NAME, and EMAIL. Allow them to install tools they need.

    This tests that they can:

    1) Create a table
    2) Create a web page
    3) Know the proper times to GET and POST
    4) Know SQL syntax and how to used prepared statements for SQL injection attacks
    5) Filter their variables

    And bonus points for:

    1) Install PEAR or other 3rd party libraries for database abstraction, templating, etc.
    2) Write unit tests.
    3) Use Ajax properly for all operations.

    1. Re:Not certs by petes_PoV · · Score: 1
      Yes, but sadly you don't get to choose the criteria. What tends to happen is the HR person is so scared of being blamed if the candidate turns out to be a turkey, that they will ask for qualificatios more as a CYA thing. That way if the recruit is useless, they will be able to defend their choice (or ratification) by pointing to the certificate and saying that it therefore wasn't their fault - it was a poor accreditation process.

      This is especially true when the candidate comes through a recruitment agency, since they are paid at least a proportion of their fee when the person joins (more being paid after they've been in the job a finxed time, 3 or 6 months is usual). So there is a real financial cost to choosing an idiot, you can't just fire them.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    2. Re:Not certs by tthomas48 · · Score: 1

      Actually, I've never worked as a developer at a company with over 250 employees, so I do generally get to choose the criteria. If the criteria has to be something an HR person can screen for, I'd ask for the candidate to point at a software project they created from scratch, and if they don't have one to submit one.

  59. Talk to them by cppmonkey · · Score: 1

    Lots of people have said: "have them design a trivial app". My experience is that a) a trivial app will be so trivial as to tell you nothing or b) take so long as to be unreasonable for an interview. It is a good idea in principle but hard to pull off. Something you could try is think back to the hardest exam you had in school what was a good problem on it. Try maybe: Write a derived type for use in this way... plus test cases, plus documentation. But ask talk with these folks do a code review together on a sample of their code/design review on a page of their's. Give them a short synopsis of a problem you had internally (and solved) and have them lay out a plan of attack. Check their references; good references can tell you a lot. And remember a probationary period is important too because an interview that lasts three months rather than a day is going to tell you a lot more about their work habits, coding style and ability to work with your team.

    Oh yeah and like most people here are saying... most certifications in technology mean nothing more than the certified has worked at a job where the boss bought into the certification scam or they have too much time on their hands.

  60. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  61. Give them a bug, 4 levels deep. by SchizoDuckie · · Score: 2, Interesting

    Give them a bug, in your real software product, that traces back to an operating system level setting, and does not initially expose this in the error. (for instance, say max. open files is set to 20 on the box, and a php script opens 100 file handles and doesn't close them) Tell them to trace this, and suggest a fix, and give them a couple of hours. If you can debug an environment you don't know, it proves that you're able to understand new concepts, and even trace weird bugs in them. Any monkey can program PHP, anyone with enough time can get a degree, not much guys know how to find a bug properly and fast.

    --
    Quack damn you!
  62. Certifications are garbage by whitroth · · Score: 1

    They show you can pass a test. Further, depending on them to gauge people's knowledge indicates possibly that the folks doing the interviewing, and CERTAINLY the HR department, have no idea what they need, or what might show someone is qualified, and is used in place of actual knowledge of what is needed.

    HR departments, esp., are 90% (at a guesstimate, based on my personal experience, and from my friends and acquaintences) not merely utterly ignorant of what they're hiring for, and so have no idea what transfers and what doesn't, but don't *care* to learn (which would let them do their jobs better, and be better for the company they work for).

    Come the Revolution, we won't waste ammunition, we'll lead the HR depts into the parking lot, throw asphault on them, and *pave* them into the roadway.

                      mark

  63. Re:Definitely ignore higher education and experien by euroq · · Score: 1

    lol...

    --
    Just because the U.S. is a republic does not mean it is not a democracy. Democracy/republic are not mutually exclusive.
  64. This is easy. by Hatta · · Score: 1

    Put the candidates into a dark room. The first to turn on the lights has demonstrated lamp competency.

    --
    Give me Classic Slashdot or give me death!
  65. Certifications are _not_ for hiring people. by Anonymous Coward · · Score: 0

    Certifications are for:
    1) Making employees feel loved and as though the have 'leveled' somehow. Job satisfaction etc ...
    2) Getting people raises when required by HR.
    3) Locking talent into a vendor's product. (Give a guy a certification and he will be pidgin holed into a technology and an organization will fill itself with narrow but deep talent with a single product and be collectively afraid of every moving away from said technology.)

    IOW, _don't _ use them to assess knowledge or mastery of something.

    Make a team of people who are mostly peers to the position.
    Give them the opportunity to ask questions of each candidate.
    Give some members who care extra time to ask tough questions inside their area knowledge.

    IOW, you should have talent.
    Describe what role this person will fill and let your team vet them.
    That works.

  66. Have them do it.... by codefungus · · Score: 1

    Sit them in front of a nice clean virtual machine and tell them to get a basic PHP page up and running. They have to install apache/php/mysql. If you want to cut down on the time, download the stuff first. Should take about 20 minutes.

    --
    -- A cat is no trade for integrity!
  67. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  68. Problem Solving by Anonymous Coward · · Score: 0

    Ask them questions to see how their mind works. Are they good problem solvers?

    Dev tests are a waste of their time and an insult, certs can't be trusted, and even prior experience can be faked. Maybe "helping launch a high traffic website" involved user acceptance testing and someone else of their team actually wrote the backend java app for handling searches (I've seen that level of fibbing).

    Meet them in person and ask yourself:

    Would I enjoy working with them?
    Do they approach problems in an intelligent way?
    etc.

  69. In my experience... by gral · · Score: 1

    Most people in Computer Arts that are truly gifted, tend to not do a typical interview very well. If you ask simple questions that EVERYONE should know, they tend to fail miserably. Why? Because they do things so much they don't have to think about these things EVERYONE knows.

    What I tend to do is get someone talking about what they like to do most in Computers. Someone that is truly into computers, love to do side projects, and love to solve problems.
    Ask them what computer system they have at home. If they just say, I have a dell. More than likely, they are not THAT into Computers as an art. If they go into detail of what ram, etc. then they probably like to dig into things a bit.
    Ask them about what they do on the side. If they talk about getting into various open source projects. Most Computer art people tend to talk excitedly about different projects they worked on and how they solved the problems they ran into.
    Finding truly gifted Computer Art people is usually different than finding people in other departments.

    --
    Scott Carr
  70. Don't test live! by Anonymous Coward · · Score: 1, Insightful

    I interviewed earlier this year with a company looking to hire a developer. I have plenty of experience with the language they wanted, and they gave me a "live programming test". In a conference room, with the whole dev team in attendance and asked me to program in front of them (on a projection screen for all to see). There was no warning at all this would take place. This was the single worst experience of interviewing in my life. I made mistakes I would normally have never made because I really needed that job, a lot was on the line, and my brain would not switch to programming mode. While I can consider that to be a (possible) test of how you perform under fire, I really don't see how it applies to someone who sits and programs all day long. Even peer programming won't bring around that level of stress, not even close. I did end up getting an offer, but I turned it down since I happened to get a better offer at the same time, and that whole test left a bad taste in my mouth.

    Bottom line: I really don't recommend doing a test such as this, there are plenty of conventional methods available for determining someone's proficiency. Ask to see code samples, give tests (that are judged afterwards), technical interviews; all of these are better options..

  71. The Brick test by Shoten · · Score: 1

    Ask them if they truly love LAMP or if they're just saying that.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  72. I prefer solid troubleshooters... by whtdrgn101 · · Score: 1

    I used to do a lot of hiring for LAMP resources and found that often, someones framilarity with any language had little relationship to their ability to troubleshoot and debug code. If you are looking for project work with clearly defined objectives and deliverables (what IT project is EVER clearly defined) then LAMP proficiency is good enough). Peronsally, like to give them a busted website running on an issolated VM and two hours to fix it. They can have google, and whatever reference material they need and ask any questions they want. To torture them, do everything from messed up permissions on directories, bad apache configs, bad code, dynamic code, wonky databases, and bad SQL Queries. See how far they get but also how they troubleshoot. What do they prioritize first? Do they write quick scripts from the command line to test database connectivity? The goal is not to get the website functioning but to see what they fix, how they fix it, and what priority they placed which pieces.

    --
    -- Kind Regards whtdrgn101
  73. This word you keeps saying I do not think it means by Anonymous Coward · · Score: 0

    ... what you think it does.

    Metrics.
    Your question is something like:
    Can I create a metric using certification as a variable that is correlated with ability to do the job?

    I don't think you really want to do that.
    You could with a lot of data about employees and try and do something like do a regression analysis and compare the 'has certification X' variable to the likelyhood 'employee X' got a good performance review.

    That would give you an equation that would tell you if cert X was positive or negative correlation... ... but that is a lousy idea. It is going to be a lousy variable. You have a lousy sample size ... and the bias is going to be huge and nobody should give you that data.

    You don't want a real metric, you want to ask a person questions and make assessment of how much of what you know he knows and delegate to other people to assess other areas.

  74. Hmm... by composer777 · · Score: 1

    I've often wondered why employers don't bring a laptop into the interview, with a simple programming task or two, and ask the programmer to write a program that does X, with access to all available tools, the internet, etc. You'd be amazed at how many "experts" cannot do simple things like open a file, read from it, append a character to the end of each line, and print it back out. Or, do generic bubble sort (not to mention q sort or other, more advanced methods).

    A small test would be a much, much better demonstration of skill than asking people about random concepts. I would say the ability to look something up, quickly comprehend it, and then apply it to a real world problem is of much more use than a guy who has memorized (but does not understand) a bunch of bullshit.

  75. If they were competent, they wouldn't be doing PHP by loufoque · · Score: 0, Flamebait

    Or any other form of web development.

  76. Re:If they were competent, they wouldn't be doing by Shoten · · Score: 1

    Right...because nobody puts out web applications, right? Everything is client-server, with specialized pieces of software that have to be installed on every endpoint. It's not like mail, CRM, or even the configuration interfaces of network devices have any kind of web-driven front-end...although, even if they did, I'm sure the code needed for that functionality would write itself.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  77. 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.

    1. Re:Little Bobby Tables has your answer by c6gunner · · Score: 1

      Yeah, I do, although I've been forced to use ASP recently instead of PHP. I couldn't give you the address to my current project even if I wanted to - you wouldn't be able to access it. I asked "which part, specifically" he found offensive because there are several things he could have been complaining about, and I was curious to see which one he meant.

      Also, I didn't find the joke particularly funny, so I thought maybe I missed something. Apparently not. At least that XKCD cartoon was amusing, the first time I saw it. Now that it's been linked on slashdot about 32,000 times, it's starting to lose the effect.

  78. Re:If they were competent, they wouldn't be doing by loufoque · · Score: 1

    Right...because nobody puts out web applications, right?

    I didn't say that.
    I merely stated that such tasks were relegated to people with next to no competence.

  79. Credentials by hackus · · Score: 1

    are formed by a review of work already done and peers.

    Check the persons peer list and work already done.

    If you like what you see hire him.

    If you use certifications, university diplomas as a governor in the process you corrupt it and you deserve what you get.

    -hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  80. Good Luck To You Sir by al0ha · · Score: 1

    If you don't already have someone on the interview panel who possesses in-depth knowledge of the required skills, then good luck to you sir. I have interviewed candidates for jobs in Information Security with masters' degrees in comp sci who were nothing more than glorified GUI-slingers.

    --
    Did you ever wake up in the morning, with a Zombie Woof behind your eyes? -- FZ
  81. Hire them on Trial by Anonymous Coward · · Score: 0

    Hire them on a 3 month trial / evaluation contract... if they are good keep them.. if not dont renew.

  82. HIRE HIM! by zill · · Score: 2, Insightful

    There is also a candidate with a good portfolio, a lot of experience, and no certification.

    I don't know this guy but I'm sure he's extremely well qualified for the job and you should hire him ASAP because he's about to miss another mortgage payment.

  83. I've done the app writing thing by Wee · · Score: 2, Informative

    At my last job, they sat me down in a conference room with a laptop that had the wireless card yanked. They gave me a piece of paper with some database tables and asked me to write a web app that would let someone add, remove and view entries in those tables. They gave you 45 minutes to write a working web app, in the language of your choice, with no outside references and no way to actually run of test any of the code. Along the way I noticed that they had a couple errors in their schema.

    We got to talking after the assignment was done and apparently they had been using that hypothetical DB for a long time and nobody had pointed out and fixed the errors. I found that amazing, so I asked how many people had actually finished the assignment. They said that nobody had given them code that actually ran, that there was always a syntax error or plain old typo somewhere. They went on to say that they didn't really count that against anyone since they wanted to see facility with the language of choice, coding style, general knowledge, ability to work under pressure, etc. So I had to ask: "Uh, did my code run?" And it did.

    I don't know if it's because of the way I write code or because I've been doing it for a while, but I was just totally blown away that nobody they had interviewed could come up with 400 lines of code that actually ran. They had dudes with advanced CS degrees who couldn't write a simple web app that worked. It's mind boggling.

    At the time I was a little scared of the interview process (the practical part was only 1/3 of the total interview process). But I think it's a good method.

    -B

    --

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

    1. Re:I've done the app writing thing by dookiesan · · Score: 1

      Maybe they don't memorize API's and rely on autocomplete a bit more? I've written libraries for my own uses, and after a vacation I can't even use those from memory.

    2. Re:I've done the app writing thing by turing_m · · Score: 1

      I don't know if it's because of the way I write code or because I've been doing it for a while, but I was just totally blown away that nobody they had interviewed could come up with 400 lines of code that actually ran.

      You think it's common to routinely sit down and write a complete application of 400 lines of code without testing any sub-section of it? In 45 minutes? To reiterate, that means you were writing a working line of code every 7 seconds, with no testing, not including the time to analyze the database schema, without a bug? Either you have been doing exactly that sort of task for a long enough time to internalize the syntax, or there is something you aren't telling us.

      Almost every time I've typed out a bunch of code without testing components of it, I've regretted it. The debug process takes orders of magnitude longer. I daresay most programmers have learned the same lesson, and that's why they would struggle with this test. Carmack's Armadillo Aerospace specifically applies this style to aerospace - lots of small tests to debug things, rather than build it in one go and hope it works. That's not to say that if I've been using some language for a long stint to the point where I've become fluent in it, I couldn't do the same (I'd just triple check each small section of code by eye), but not being able to google stuff and not being able to test every few lines or so would be an unnatural work method and I suspect, not a good indication of my ability, or many other people's for that matter.

      A person testing every few minutes or so to verify that they code they have written is correct, will produce the same bug-free output as a savant who is supposedly capable of doing the same thing without the frequent testing, in similar time. The verification pretty much guarantees it, unless it was a particularly thorny bug. And the practice of frequent debugging is not a detriment to being able to competently create highly complex and useful applications, as is evidenced by the many people who do exactly that. Create something complex enough and there will be bugs. Being able to pinpoint them to 1 line, or 5 lines, as opposed to 100 lines is just a sane thing to want to do. Occasionally I will get lax and code up a lot of lines without testing. Sometimes it will work. But when it doesn't, it often costs many hours to debug and I've cursed myself repeatedly for being lazy.

      If you are a bug-free code writing savant, I'm impressed. This test is pretty much guaranteed to find people like yourself. On the other hand it will exclude people like myself who have the unusual ability to learn new and complex things quickly, but tend to routinely flush the mental cache. I wouldn't trade that ability, even if it meant the potential of not doing well in such interviews.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    3. Re:I've done the app writing thing by Arccot · · Score: 1

      At my last job, they sat me down in a conference room with a laptop that had the wireless card yanked. They gave me a piece of paper with some database tables and asked me to write a web app that would let someone add, remove and view entries in those tables. They gave you 45 minutes to write a working web app, in the language of your choice, with no outside references and no way to actually run of test any of the code. Along the way I noticed that they had a couple errors in their schema.

      I agree that these are excellent methods. They go much further than asking trivia questions about a language that no one (except interviewers) really care about. A simple code review of a basic app is a great way to start a conversation about the applicant's thought process, and how well they they interact/cooperate with other technical staff.

    4. Re:I've done the app writing thing by ranton · · Score: 1

      They gave you 45 minutes to write a working web app, in the language of your choice, with no outside references and no way to actually run of test any of the code ...

      I don't know if it's because of the way I write code or because I've been doing it for a while, but I was just totally blown away that nobody they had interviewed could come up with 400 lines of code that actually ran.

      There has to be some major exaggeration being done here. 400 lines of code in 45 minutes? You must be counting white space and lines consisting only of braces. It is very hard to believe your story with such wild claims. You must have written code such as “x = y + z;” just to save keystrokes to hit that kind of speed. (even 400 lines of code like this would consist of 18 wpm of continuous typing over 45 minutes, not counting time to design the app and read and understand the database schema and notice errors)

      Writing 400 lines of quality code in a full day’s work is nothing to scoff at. And an industry average programmer (according to Code Complete) would have about 6 – 20 errors in that 400 lines of code. Although not errors cause code to not compile, so writing 400 lines of compiling code on the first try is not completely impossible I guess. But it is still very unlikely without any debugging.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    5. Re:I've done the app writing thing by Anonymous Coward · · Score: 0

      I don't understand this world's extreme love for comparing apples and oranges.

      IMO if you want to hire someone you should be looking for how they're going to perform in their potential position. Unless you plan on sitting them in a cube with a technical specification and no network connectivity then this interview does NOT help you find the best candidate. This type of interview would help you find the most pedantically knowledgeable candidates who got near-perfect marks in college.

      In interviews we do a take-home webapp which is *heavily* scrutinized and I could care less if they have a CS degree or what their GPA was. Now I know you didn't mention GPAs, but hopefully you see my point that school and excersices like the one you went through should be used to grade how *hard* the person will work and not how talented they are.

      Most likely you're just really good when it comes to remembering details, but that doesn't mean that better programmers didn't come before you. /observations

    6. Re:I've done the app writing thing by Wee · · Score: 1

      That was total lines: whitespace, comments, code, etc, and it might have been more 374 lines or whatever. Also, I probably should have mentioned that they specified 80 columns max, so that lengthened things quite a bit. (The lead dev there was super hot on code never being more than 80 cols wide, because he used vi in an xterm that was exactly that wide, and he had a few xterms tiled on one monitor.) You can write many "lines of code" when you only get 80 characters per line and you're a fast typist! Also keep in mind there was an HTML header and footer, as well as some default text and a table header that was a straight-out print statement rather than anything needed to be executed.

      The way I approached it was to write out all the comments first, since the main portion was strictly procedural (three types of input, one a default, initial DB connection stuff, the plain text pieces of the page, etc), and then I figured out whatever subs I'd need, added an initial comment for those and then I'd add perhaps a couple lines inside that initial def to fill in what I thought I needed. That really only took a few minutes, and after that the hard part (figuring out what to do) was done. It was just a matter of typing up the actual code after that, none of which was especially esoteric and all of it I'd done many times before.

      Personally, I have more horizontal width on my screen that vertical, and I tend to try to keep functional blocks of code to one screen-full as much as I can. It's hard for me to read and think in code that is three of fours screens "tall", so I use 160 columns when I get a choice. Though I've worked at places with far less (Google comes to mind; their style guides specify 80 columns as well). But when I find code spilling down to the point where I have to scroll, I break it out a little more. In general.

      It wound up being overly commented, which I normally find fairly useless. Though that same 80-column-max guy happened to love it so perhaps I scored points there; I don't know.

      -B

      --

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

  84. Looking for certification is a red flag by Anonymous Coward · · Score: 0

    Looking for certification is a red flag that there is something wrong with your interview process.

    Neither HR people nor (non-technical) managers can determine if a candidate is qualified for a technical position. Only another technical person will be able to tell, either by asking probing questions or watching the candidate write some simple code. You must have a technical person present at the interview.

    If you are looking for certification, that tells me that someone non-technical (or even worse, a computer) is trying to weed out candidates. Why should the weeding out be done by the people who are the least qualified to judge the technical skills of the candidate? Choosing the best few resumes and weeding candidates out through phone interviews should be done by the technical members of the team.

  85. Don't Measure It At All, Instead by Anonymous Coward · · Score: 0

    My experiences have shown that familiarity with only specific technologies (blinders), having certifications (read a book, but trying to impress), and previous education (we use to make efforts long ago, but please hire me now) don't really show anything, usually...

    So I'd say, don't measure LAMP competency at all, or even the # of certificates they possess. Instead, during the interview process, ask them questions like the following; which help get to the "meat" of it all.

    1) Are you comfortable learning new things?
    2) If you are hired for this position, how would you go-about "getting up to speed" with this development project?
    3) Explain: Modularity, Encapsulation, Tiered Application Design, OOP, big-O, Security Concepts, GOF (Gang of Four), UML, Unit Testing, Fault Injection, Caching, etc.
    4) What kind of work do you find interesting?
    5) Being faced with a code issue, what sources of information would you turn to in order to troubleshoot and ultimately resolve?
    6) During a code review, you are presented with a function/method 5,000 lines long. Is that a reasonable length and why?
    7) You have a general utility function that is very handy and could be used in many places / projects. Do you copy/paste as needed, or place into a common library?
    8) What is version control / configuration management software? Why would you use it?
    9) Your manager has asked that you add a SpellChecker to an HR Personnel application. You found an external web service that allows you to send text to and retrieve spelling errors back. Why might using this external service be bad? [Extra Dependency To Maintain, Security Problem, etc.].
    10) ...

  86. Re:If they were competent, they wouldn't be doing by ImprovOmega · · Score: 1

    Right...because nobody puts out web applications, right?

    I didn't say that. I merely stated that such tasks were relegated to people with next to no competence.

    But they shouldn't be. That's why you have so many problems with SQL injection attacks, for example.

    Now, aesthetics of a site should be left to artists, but if you want your code to run right and be reasonably secure, you really need a software engineer doing your PHP implementations.

  87. Start with a mirror by Anonymous Coward · · Score: 0

    LAMP and competency should not appear in the same sentence.

  88. insert lamp into socket; by Anonymous Coward · · Score: 0

    How many candidate engineers does it take to change a light bulb?

  89. Re:No faith - but still needed by petes_PoV · · Score: 3, Insightful

    but some people go out and get the certification so they can get past the HR droid

    Yes, this is a massive problem. In order to get to the face-to-face you have to go through the screening process. This is normally carried out either by the HR trainee or, worse, by a recruitment "consultant". All they've been given is a tick-box of "must-haves" (i.e. a wish list of tangible qualities) and told to go through a pile of CVs.

    All they'll do is toss the ones which don't meet the criteria.So you can be the best LAMP-er in the world, but unless you have the random qualification that someone though might be useful you don't even get a chance. So while certification bears no correlation to usefulness in the real world, it's a necessary stamp on your CV to get you through the door.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  90. Interview Tests are Useless by Anonymous Coward · · Score: 0

    I was interviewed once for a job where they presented me with a page of C code and asked me to find any problems with the code.

    They didn't like my answer and needless to say I didn't get the job:

    Code Lacks structural cues
    Code Lacks meaningful naming of: functions, variables, constants - barring this, code lacks comments to explain (nonsense) names
    Code contains functions and constructions written such that it appears someone is trying to be "clever" instead of clear - some embedded compilers (of the time) may prefer these mechanisms, if required for efficiency these constructions should be commented as such
    Review of Code was shoddy or non-existent

    Solution: Train or fire the programmer and rewrite the code.

    I have encountered so much code like this before and since - you can use a refactoring methodology / unit tests / whatever you want but trying to shake a bug out of code written that poorly is not economical.

  91. Simple, really... by johnlcallaway · · Score: 1

    I just hire people that are smart, good problem solvers, and seem to have a personality.

    None of that other shit really matters. Someone who is smart, works well with others, and is a good problem solver can pick up anything without all that formal training and will probably be better at it in a few months than someone who is an average developer.

    How to tell if someone is smart?? Well .. talking to them helps. Find people who are curious and ask questions rather than say 'mememememe' in their interview. Ask them about tough problems they have fixed, and see if they know how to do problem isolation. See if they have a general knowledge beyond development, a developer who knows nothing about network bandwidth utilization or database storage is useless unless you are just going to hand him finished specs and want a code monkey.

    Explore how they learn new technologies. Do they take a class, or do they go buy a book/research online and 'play'. If they are presented with new technology, do they respond with 'I don't know how to do that' or 'I don't know how to do that, but give me a couple of days'.

    Let someone else hire the programmers with a lot of letters after their names, find the truly good ones that are too busy doing shit to take a class or get certified.

    --
    I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    1. Re:Simple, really... by jalefkowit · · Score: 1

      I just hire people that are smart, good problem solvers, and seem to have a personality.

      This sounds a lot like Joel Spolsky's "smart and gets things done" test.

  92. Anonymous Coward by Anonymous Coward · · Score: 0

    I'd hire the guy that smells like weed. Then I'd ask him: "Hey new guy, you gonna keep all that weed to yourself?"

  93. Good Database Question by Anonymous Coward · · Score: 0

    Here is a simple question that tests a wide degree of SQL knowledge. I have the table drawn on the page with a number repeated. There is a single table with a single column. The table has 5 rows, 3 rows have different entries and 2 have the same.

    Write me a query that shows all values that occur more than once and the number of times it occurs. (The correct answer is the duplicate value and 2.)

    The have 60 seconds to write the query. If they cannot or are majorly wrong, then they don't know dick about SQL. Any 12 year old hacker can do a select statement or a INNER JOIN.

    To all the haters our there, yes this is relevant if you have ever had to clean 33,000+ rows of data for an insert.

    1. Re:Good Database Question by KlomDark · · Score: 1

      Oh yah, that question is fucking retarded. If I got thrown such a shitty requirement during an interview I would stand up, smile, thank you for the interview and walk to my car saying "Wow, don't wanna work there if they are that anal."

      That's a cryptic question. Sixty seconds? Are you fucking kidding me. I'd take longer just grokking your question. Sure, the question is answerable, but you're going to lose a lot of people who actually try to fully grasp an issue before designing a solution. A professional programmer does NOT slop out stuff in 60 seconds. Only the wannabes would do that.

      Any place that throws out bullshit little trick questions usually turns out to a bullshit little place to work.

    2. Re:Good Database Question by TheSunborn · · Score: 1

      select $FIELDNAME,count(*) from $TABLENAME group by $FIELDNAME having count(*)>1

      What is the developer supposed to use the remaining 50 seconds to?

  94. overthinking or just stupidity? by Anonymous Coward · · Score: 0

    if you cant answer this question yourself; why the hell are you involved in the hiring process?

  95. Re:If they were competent, they wouldn't be doing by loufoque · · Score: 1

    But they shouldn't be. That's why you have so many problems with SQL injection [xkcd.com] attacks, for example.

    Dealing with SQL injection or XSS certainly doesn't require engineering expertise. It only requires common sense.

    You need to encode data in a specific way to embed it in some other data which is under a specific format under which some characters have special meaning. The fact that most web developers don't even understand this -- or just barely enough to apply it to SQL injection and XSS because they've been told to -- says wonders about competence in the field.

  96. I could never measure LAMP competance by Ukab+the+Great · · Score: 1

    Because I believe strongly that the truly competent are doing LAPP. In my experience MySQL's a freaking code cowboy magnet.

  97. This is what i do: by Anonymous Coward · · Score: 0

    My favorite thing to try, is start a new lamp amazon instance, start up apache, load up a few virtual hosts, with some random webpages in each. Give the applicat root access to this testing server and tell them to make a few changes to files in each of them (requiring a few changes to various php configs in order to accomplish it)

  98. competency ? by Anonymous Coward · · Score: 0

    Competency against MySQL does not compute.

  99. Code Samples by Art3x · · Score: 1

    As a programmer, if I were to pick someone to work with me, I would judge him by:

    1. Code samples (60%)
    2. Experience (30%)
    3. Interview (10%)
    4. Certifications (0%)

    In an interview I would just look for bad hygiene or a really obnoxious laugh. I might be able to talk with them and get some impression of their working style (minimalist (like me), blustery formalist (bad), pragmatist (better), etc.). But I don't think I could decide just on an interview whether they're good, or if I myself could show in an interview that I was good.

    But it is dead easy for me to judge a programmer if I saw a few functions, database queries, etc., that they've written. Such would show the answer many interview questions, including ones that would be hard to word and easy to lie about. If I had my druthers I would like to see a lot of code --- several files, maybe even a whole app. That would tell me more than any other what level they're at and also whether their taste clashes or matches mine (and so we would work peaceably together)

  100. Good programmers need their working context by Anonymous Coward · · Score: 0

    If I was asked to do something at a job interview and did not have my FireFox start page with links to my local documentation trees for Java, links to web documentation, megabytes of carefully ordered IBM PDFs, my O'Reilly books over my shoulder in my usual arrangement, etc I would be hard-pressed to do ANYTHING. Plus remember professionals have a LOT of code they go through - I don't usually remember how to do something, but I know I did it several years ago and still have the code that did it. A programmer in a normal working context is going to be a lot different than one under a microscope in an interview.

    My favorite example of this sort of thing is length of a string. I have to look this up all the time. Is it strlen() (C, PHP), length() the function or len(), string.length the property, string.length() the method, string.len, string.len(), etc? After you have used C, Java, JavaScript, PHP, Python, and Perl for a few years, how could you ever remember stuff like this?

    And asking people about Apache or Tomcat without reference material is criminal. Tomcat is the most bizarre, insane thing I have ever seen. Apache isn't far behind.

  101. Oh (Lord | Crowd) Bless Our Crapshoot by DannyO152 · · Score: 1

    You are asking if there's a way to optimize the outcome, that is, the persons you hire were the best ones to higher and the ones you rejected were the best ones to reject. Can't be done. So make your choices and take your chances. Go strictly by paperwork (cognizant that the mercenary and mediocre may have gotten their certifications to improve their chances at the first cut.) Or, take all the time and interviews needed to find out which quadrant the applicant belongs along the Know-Their-Stuff / Pleasant-To-Work-With Cartesian axes.

    There are no guarantees. Mistakes will be made.

  102. Good Question by visionbeyond · · Score: 1

    I think every company deals with that same dilema, especially when the base language is PHP. I've found there is a vast range of competency with PHP coders, which I believe is largely due to these tech colleges cranking out graduates with barely enough skills accomplish a task, let alone doing it more efficiently with layered logic. I myself have been coding using PHP for 10 yrs+ all with MySQL or PostgreSQL as the backend, and not to be boastful, but have used about every possible method, tricks for improvements, and know all the possibilities forwards and backwards. I do not however have one of these certifications, or even knew they were really available or widely accepted as credited. Despite the lack of being certified, I have designed, built, and maintained literally hundreds of databases over the years, as well as acted at the DBA - although I'm far from a DBA (I do know my strengths and limitations LOL) and could only manage to do some simple DB optimization, clustering, replication, and what not.

    If I were to be one of your applicants and you did choose to require or gave great credit towards those who were certified, then I would likely be passed over. I believe that you'd find it more common than not that applicants aren't certified. I had plenty of occasions being both the interviewer and the applicant, which in my opinion the most effective and least time consuming is to come up with a case scenario problem and have each applicant solve it right then and there - before even any discussions or name exchange. 8-) Have it require the code solution, the DB schema, and freedom to use whatever modules, tools, or whatever they are comfortable with. It's important to make the problem presented something that could be done many ways obviously, as well as have a most likely lesser known slick solution method. This way you get a chance to see their coding style, ability to problem solve, knowledge of solution techniques and methods, design and logic, practical application skills, and even formatting and comment habits. I believe it's better than just code samples or viewing previous work, since it's directly applicable to their current state. Plus you can talk about it after, with questions of why did you choose this method, and whey structure this into these blocks, etc.

    The interview process may take quite a bit longer, but not for you - the company hiring for the position. For you it just takes an available cubical or room with a basic computer, or even just paper and a pencil will work. I know there are some problems or task available out there that are designed exactly for this purpose. There is one involving a mechanical clock that uses steel balls and a series of chutes that you create the software version of that is pretty good. Any way you look at the hiring process, it isn't much fun and you don't get a very accurate idea of exactly what they are capable of until you see them in action, which this is about as close as it gets - short of a trial period hire. LOL

  103. PHP competency? by Anonymous Coward · · Score: 0

    ...that's an oxymoron.

  104. Certified does not always equal well educated by Anonymous Coward · · Score: 0

    Note: This is not about the bragging rights, but it definitely comes off that way.

    I've been developing web apps from roughly 1996 through current. I can write effective clean non-exception throwing OOP code in nearly any web oriented programming language you'd like (minus JSP or Ruby, skipped these entirely, though I'm sure I could troubleshoot that stuff just as well as most developers dedicated to those environments could). For 7 years between 2001 and 2008 I've been doing 90% of my work in LAMP, WAMP, or WIMP or whatever variation of 'PHP & SQL' you'd like to pick. When MVC frameworks like Codeigniter and the later spinoff Kohana came out, I already had my own version that I used for myself developed 100% by myself being used. I'm not claiming to have invented MVC, and actually ended up switching to open source MVC frameworks away from my own development just because of the support and community (and some of the stuff was just flat out done better than my own version). In the last 3 years however I've switched almost entirely over to ASP C# MVC (and now ASP MVC 2). Same for javascript and javascript libraries (jQuery & Mootools have been popular requests from clients lately). All the flash stuff, actionscript, flex, whatever. SEO and content syndication in mind..

    Sheesh I can go on forever. I don't think there's much in web that I can't do, and do decently well, if not better than most people I run across. /Headexplode

    I'm sure there are plenty of people out there who specialize in one area or another that are exceptionally better than I will ever bee at 'XYZ' langauge and environment, but my biggest selling point when doing an interview for a consulting gig is that I can or have at least tried to 'do everything'. Most firms that I do work for LOVE the fact that on monday I can be working on X client's drupal website in PHP/MySql, and on wednesday I can be doing maintenance, updates, and cleanup on Y client's website in an ASP C# (Non MVC) environment, and thursday sit in on a board meeting as a technical consultant with Z client who wants to spend a bunch of money on SEO, SEM, and SMO improvements to their web presence. My background in 'web' is extremely well rounded. I am a web developer, not a ______ developer. Its my own very strong opinion that if you're going to work in 'web development', you need to know as much as possible about past, present, and in all cases 'upcoming' languages and trends.

    The best thing about my resume too is that, well I don't have any certifications or college 'training'.

    This is just my far sided opinion and take it for whatever you want to take it as, but: If I were hiring a developer to work on any of my websites, and he or she came in boasting about any college or certifications, with little to no portfolio, I would not hire that person, even if it meant that I had to hire no-one at all. Unless it was for say, a no brains maintenance or data entry job (Here ya go, go put these 900 photos on the website, and if you do it manually and it takes more than an hour just go home).

    Certification/Degree only to me says that this person saw someone like myself and the amount of money I typically pull in, and got into this field exclusively for the money potential.

    If you're going to hire someone, hire the ones that are (in this case) LAMP developers because they LOVE web development. They LOVE their career. They LOVE troubleshooting and fixing (website) things. They LOVE learning things. Ask them how many O'Reilly books they own and what their favorite source(s) of information are online for when they get stumped. Ask them how many other web developers they know, and what the other web developers they know are doing. Ask them about their hobby projects or about anything they're working on in their spare time. Ask them what their favorite language is and why? Ask them about their opinions on X and Y trends. Do you like flash, no? Why not? What's your stance on HTML5? How do you propose integration of HTML5 contents on new

  105. Re:Previous work, I'm with JWSmythe on this one by shoor · · Score: 1

    OK, I'm an old-timer, and when I was working in the field, it was mostly as a generic embedded-systems or C-programmer. I see some prim replies to the 'pounding on the table' bit about how they wouldn't work in such an 'unprofessional' environment. Well, back in the wild and wooly 70s and 80s and even the 90s, the unprofessional places could be the most fun! I actually got to go to Cape Kennedy and put my hands on a real space shuttle while working for a very small 'unprofessional' outfit. I never had an interview with the pounding on the table bit myself. My favorite interview question was when somebody said they wanted to test my comfort level with C. They asked me how long it would take to write code to do something. I forget exactly what, but it sounded complex at first but after a moment of thought, I realized it was pretty simple. It took me a few seconds to get up the nerve to say 'about half an hour' (I was really thinking maybe 5 or 10 minutes) because I kept thinking I must be missing something. But when I said it, the guy just nodded his head and said 'OK'. That was basically the whole interview. (I didn't take the job because I was waiting and waiting for the company's bureaucracy to get me a security clearance and in the meantime I got another job for more money.)

    --
    In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
  106. job simulations by salmon_stinks · · Score: 1

    You could try job simulations like this one: http://www.hirequality.ca/jobsimulations.html, seems to be something that could scale more easily if you're looking for multiple positions and/or a lot of candidates.

  107. Legal liability.... by klubar · · Score: 1

    The difference with PEs and MDs is that they have legal liability for their work. When a PE signs off on a document, he or she and their firm have professional liability for the correctness of the design. The same is true (in a slightly different sense) for MDs. I've never been a big believer in software certs, although they are a way of measuring someone's focus in completing the project. Also useful at big companies as a way of training and measuring progress. Not a substitute for a good degree and relevant real-world experince in a well-managed team. (The worst offenders are cowboy (or cowgirl) coders who have no team experience or who have just worked in a one- or tw-person team with another cowboy.

    Look for good team experience.

  108. Re:Previous work so they where also a CCNA? by mjwalshe · · Score: 1

    transfer rates slow - how do you not know its a problem with the network ? ddos attack, dodgy nic,cable and or switch port - exactly why you think an average lamp stack programmer would or even should be able to fix that?

  109. Ask their Internet Handle(s) by business_kid · · Score: 1

    That's it. Get that and google them. I am business_kid. You will see in a second where I hang out, what sort of interests & knowledge I have. Certs are no certainty - they show a professional. But I knew a mechanical engineer with a good degree who was in reality only a 'biro engineer'. He could talk a good job, but niot do it.Previous work measures flair. A short test is going to have to be be too short.

  110. Yelling at a woman during the interview? Not smart by tomhudson · · Score: 1

    Sure, in real life, people do yell at each other.

    However, even with "explaining the role-playing model", yelling at a woman during a job interview is dicey. Be smart - don't do it, even during an interview. Interviews are more stressful than "real life" to begin with. And doing it later on, on the job, could end up with you either in the hospital (when co-workers intervene or you get maced) or in court.

    So, what are you going to do? Just shout at the guys during interviews? That's sexual discrimination.

    Here's a thought - conduct the interview in a fashion that communicates that you want the opportunity for both of you to get to know each other better professionally, to decide whether it's a good fit.

    Hazing recruits was supposed to have gone out years ago.

  111. Actual experience by cervo · · Score: 1

    Back when I was 22 and just out of school (in the 2002 recession) was sending resumes everywhere. this one company sent out a programming challenge via e-mail. I don't remember all the details now, but it was in a language called "J" see http://en.wikipedia.org/wiki/J_(programming_language). I think it was taking a bunch of numbers from a file and doing some quick transformations, then printing the output. The program was trivial, however it was in J. Anyway it served to filter out people who didn't want to learn anything new. Even if you hire a PHP/MySQL expert, they still have to learn the firm's business requirements. Also things always change, if you go from PHP to Perl or ASP.NET will you need to fire them and hire new people, or can they keep working for you?

    Anyway the company had hundreds of applicants but the challenge narrowed it down to 10 or so which they invited to an interview. They also said they liked my solution more than all the others because I bothered to change the decimal precision to get the exact output they put on their sheet, instead of just the answer in the default output....Sadly I got lost and never made it for the interview...Oh well. But I'm sure whoever they got was competent. I definitely could have done the job.

    Anyway after working with graduate freeloaders on group projects and 3 companies professionally for 7 years I can say that what you need to do is push people out of their comfort zone. Find out if they are willing to learn something new. You should invent your own programming language, and give that to candidates to solve a (trivial or nearly trivial problem). If they cannot take the time to learn your simple language to solve a trivial problem, do you think they will take the time to learn the business requirements for a piece of software? Also say you hire a PHP expert, what happens if you like Django/Python more.....do you need to fire them and rehire them? Also I'm not sure what level candidates you are hiring. But a typical university education does not teach you PhP, OOP (nothing more than an object holds procedures/data), etc.. Also normalization depends. But it is really simple to learn if you don't know it. I always confuse the ones after the first 3. So I refer to a book/web page but the concepts are easy enough. Still does a typical web jockey need to no normalization (especially if you employ a DBA already), probably not.... Even for a normal corporate database you probably don't need more than 3rd normal form. Still the more advanced ones (at least Boyce Codd and 4th) are easy enough with a book. I wouldn't hire or not hire someone for that. I'd much rather an open mind and willing to learn.

  112. Way to overthink it by Anonymous Coward · · Score: 0

    You, as many managers do, are overthinking the hiring process. It sounds like you have some good prospects. Interview them. Take them to lunch. Hire the one you like.

    This is not a marriage; it's not forever and it doesn't need to be perfect. If the person you hire has skill deficiencies, there is something called professional development. At least you've hired someone you like and that fits in. Right?

    I just talked to a headhunter. The job description was three pages of requirements for what I considered a mid-level position. I am overqualified for the job, but I didn't meet the requirements, which sounded as if the hire would be performing brain surgery via robotic avatar on a nuclear powered rocket -- in flight!

    I get a little tired of reading that I need 7+ years of solid, demonstrable experience in C++, Unix, Linux, Windows, Mac OS, PHP, mysql, postgresql, oracle10, python, ruby, java, .net, javascript, xhtml, css, h.264, Photoshop, Flash, Acrobat, Word, Excel, Powerpoint, Lotus Notes, Drupal, Zend, cobol, fortran, basic, punch cards, hypercard, abacus, etch-a-sketch, basecamp, social media, twitter, Premiere, Motion, Pagemaker, as well as the abilty to manage projects, budgets and people while changing the wheel bearings on the company travel trailer -- all for the stellar salary of $45k!

    Don't be the jerk that writes those kind of job descriptions and tries to hire only the person that fits the bill exactly. Because I can tell you from experience: Not only are you a jerk, but you'll be working with one, too.

  113. When I started here... by denmarkw00t · · Score: 2, Interesting

    The company I'm at now had an interesting review process: I sat in a cubicle with the two lead developers. One asked me matter-of-fact questions: what would you do in x situation? What is your proficiency with the Linux command-line? How long have you used PHP and how have you used it? Have you ever configured a server? The other programmer, however, had some more interesting questions - bringing up ridiculous scenarios that had simple answers, yet the question itself was laden with red herrings to make you really think about it.

    After this interview process, it came time to do a couple quick programming tests: fizz/buzz is a standard here, just to make sure you're sane. There is also a simple "Build an HTML form that submits here, do x y and z with the returned data." Simple tests are usually the best, as we have a sort of wall of shame for people who did not have any clue what they were doing. Example: One person asked if they could install Dreamweaver so he could do the Fizz Buzz. Another wrote in the comments to his HTML form test: "

    <!--another API i dont know. Lets see if this gets the job done --!>

    <form action="testMe">
    <form textfield = "username">

    </form>

    These are the people you don't want to hire. I understand you're looking for something perhaps more rigorous, but a set of simple, common sense tests is a great starting point. Have them grep a file for a pattern - did they use and/or understand regular expressions? Did they use them when they didn't need to? How about making an .htaccess file that does some basic functionality. Have them create a table with an auto_increment'ing ID and write a form/PHP page to store information in it (and see if they know about basic data sanitizing). And of course, Fizz Buzz!

    Weed out the incompetents/overachievers and then take a few for a test run - make sure they understand and conform to your coding standards, make sure they have the ability to learn and understand your processes (how your MVC works, a general understanding or willingness to learn your DB structure, etc).

  114. where I work by Anonymous Coward · · Score: 0

    I ask them one simple question. How well do you function in hostile environments with passive agressive managers, virtually no mature processes, and colleagues that will not answer your emails, phone calls, or pleas for assistance?

  115. Re:No faith - but still needed by Skal+Tura · · Score: 1

    Not a necessary stamp on the CV to get through the door, by far.

    Atleast not in web development anymore. It used to be, but that's not how it's today.

  116. Re:Previous work so they where also a CCNA? by JWSmythe · · Score: 1

        I guess you missed the part where I said "My interviews were more for sysadmin stuff", so they would be applicable to folks I hired. I'd have other questions for LAMP developers, but I didn't have any examples off the top of my head.

    --
    Serious? Seriousness is well above my pay grade.
  117. chmod -R 777 / solves everything by EmperorOfCanada · · Score: 1

    chmod -R 777 / solves everything. What I need is a version of chmod that works across the cloud. cloudmod -R 777 /.
    Plus shorter passwords make the system work faster so a password like 'a' is way better than 'KJH*&^hgjhg232gjhGj7'.

  118. Corporate culture by drwho · · Score: 1

    If you need something to CYA, then get someone with a certificate. If you got hired because of certificates, then hire someone with a certificate. But make sure they don't have one as good as you or better.

    In larger organizations with HR departments, one needs a token to pass the hire-wall. That token is a certification, or a degree. In places where department heads do the screening of resumes, a cert is not so important. But the hotjobs-craigslist jobvertising trend has made it so any decent position will inundate the hiring person with tons of resumes, most of them not even remotely suited for the position. Back when people had to buy a stamp and mail a resume, they were more thoughtful about where they applied and there was less of the hiring person's time wasted.

    Perhaps what is needed in this day and age is exactly that: advertise, but tell people to snail-mail their resumes in. Sure, postage is a small cost for someone who is even remotely serious but those who consider it a 'long-shot' won't bother.

  119. simple by blackcoot · · Score: 1

    give me $30k in consulting fees and i'll tell you who to hire.

  120. Linux Apache MySQL PHP? by Anonymous Coward · · Score: 0

    Linux Apache Middleware PostgreSQL -- a brighter LAMP.

  121. Re:Yelling at a woman during the interview? Not sm by Anonymous Coward · · Score: 0

    Women? Dude, you're talking about a Network Manager interview...

  122. Wrong process by Anonymous Coward · · Score: 0

    You're moving in the wrong direction with that sort of interview anyway. If you want good developers then you need smart people. Smart people don't always test well but if your interview is comfortable and encouraging and you focus on hiring good people rather then good developers then you find yourself with a team that can learn anything new, conform to current company standards and are more pleasant to work with.

    Frankly, it's been my experience that companies that interview the way you're looking to go are often staffed by very educated idiots. If you're looking for people who really know their ABCs but can't write a sonnet for the life of them then standardized testing is certainly the way to go. My team has been careful to not go that way and we have managed to put together an incredible group. Granted we have people who range wildly in knowledge and expertise with regards to LAMP but all of them are eager learners and honestly I could careless if they know why something works or why it's a better practice. As long as they do it correctly.

  123. Failtacular interview technique by Anonymous Coward · · Score: 0

    Asking anything more than "can you recommend a good place to start" is not helping matters. In the future generations, the ability to execute cogent Google searches will be more important than actual experience.

    Anyone pruned from the interview process because they (quite correctly) thought "ask for help" is a reasonable response, owes you a Thank You note. I shudder to imagine what it must be like to maintain the existing code base in such a place, where half the implementation is wedged-in copy-pasta sample code snippets from whatever web sites.

    - T

    Hmm, captcha is "roulette", as in "What your rejected applicants have won at".

  124. Re:If they were competent, they wouldn't be doing by Yakasha · · Score: 1

    But they shouldn't be. That's why you have so many problems with SQL injection [xkcd.com] attacks, for example.

    Dealing with SQL injection or XSS certainly doesn't require engineering expertise. It only requires common sense.

    You need to encode data in a specific way to embed it in some other data which is under a specific format under which some characters have special meaning. The fact that most web developers don't even understand this -- or just barely enough to apply it to SQL injection and XSS because they've been told to -- says wonders about competence in the field.

    Ah yes, the "Nerd Hierarchy".

    marketing < sales < finance < sanitation < management < support < web developer < gui developer < software engineer < "real" engineer < whateverthefuckyoudo.

    Your ego is only surpassed by your ignorance and the laughs it brings.

  125. Don't test, but definitely discuss by Anonymous Coward · · Score: 0

    My technique is to generate discussion about an array of "basic concepts" (not BNF for this case, though) plus any concepts specific to the position, and anything on the resume should be fair game for detailed discussion. We've used this approach to get a reliable feel for whether the applicant has a good foundational background, and whether the resume holds any misrepresentations. For example, we had an applicant for a Java development position who described his involvement in using AOP in a Java project on his work history. When asked about it, he deflected; he couldn't even answer very basic follow-up questions on AOP, let alone using it with Java. I didn't expect him to write some example AOP/Java program on the spot without outside references, but he should have been able to talk intelligently about it and describe his prior work on it (barring some NDA).

    As to BNF, I can't see why it's in the list, at least not for a PHP/MySQL position. It's useful to know if you're learning a new language and want to review the BNF. I could certainly see it being relevant if the job involved language design or implementation, maybe even for a position where developing DSLs was a key task, but not for the position described in the summary.

    - T

  126. +1 Funny by toby · · Score: 1

    Never have mod points when I want one.

    --
    you had me at #!
  127. yelling in the workplace by falconwolf · · Score: 1

    The last place I worked at, it was unfortunately an every day occurrence.

    My last job was like that, he yelled frequently and at everyone. He even yelled at his boss, the company owners, and people from other companies. He was allowed to get away with it because he was the go to guy when there was a problem, he knew his shit. And though he yelled at us, those who worked under him, if you could put up that it then he would also cut you some slack at tymes.

    Falcon

  128. yelling by falconwolf · · Score: 1

    I don't know a single workplace I've ever been in where someone acting like that wouldn't be disciplined or fired.

    My boss at the last place I worked at yelled at people frequently, even his bosses and company owners. They let him get away with it because he was effective at his job and he was the go to guy when a problem came up. Those of us who worked for him and put up with it he'd also cut some slack occasionally, it wasn't all yelling. However not many people could put up with his yelling. When I was laid off after 3 years I was the newest guy on the crew, but not because I was the last one hired, a few others were hired after I was but none of them lasted more than a few months.

    If that happened now though I may just walk away, depending on how the compensation is and how bad it is.

    Falcon

  129. My God by daveime · · Score: 1

    Let's all play "spot the PHB".

    Anyone who uses MVC/OOP and PHP in the same paragraph is just churning out buzzwords, without any thought to what they are asking for.

    PHP is the ultimate NON-separated language, where you are allowed (even encouraged) to mix HTML, SQL and code all in one "script" ... why do you think there's a glut of PHP coders (and crappy, vulnerable PHP code) out there ?

    I can't even begin to imagine how you'd implement MVC ... not without switching to a real language first.

  130. chmod -R 777 / by Lorens · · Score: 1

    I've actually seen one of our providing companies respond "chmod -R 777 /" as a solution to a bug we filed with them.

    I've had a tech do `chmod -R 777 $HOME` to "solve" a permissions problem. Typical case of someone knowing too little and too much at the same time.

    Of course, he auto-LARTed because once he'd done that "just to make sure", he could no longer log on to the server because ssh refused to use his authorized_keys :-)

    1. Re:chmod -R 777 / by Anonymous Coward · · Score: 0

      Some things just work out themselves if left alone. :)

  131. multiple axes by Dr.Ruud · · Score: 1

    I always look for communication skills, business sense, math skills, and yes, of course technical skills too.

    And at least 5 years of experience, which I agree is not very community friendly.

  132. Yes/No; The quality to look for is self-education by kale77in · · Score: 1

    The best ones didn't have a cert or degree or anything.

    If so, it's because they self-educate, and having done so at the start, continue. This quality trumps all others in time, and being unqualified can help this quality develop. But that's still unusual.

    How to identify it? I usually ask a question at the start about the recent/upcoming versions of the language we use, and which of it's new features they expect will change the way they work. So in PHP I'm looking for a discussion of closures, late static binding, and maybe even traits/mixins -- things other languages have had for a while, and a conceptually strong programmer will be anticipating. This question usually identifies the best candidates at the start. It also gets you into their programming mindset, technical depth and self-education habits pretty quickly. If no answer, go on with pure technical questions.

  133. Sounds like the hiring manager is inexperienced by Anonymous Coward · · Score: 0

    It sounds like HR or the hiring manager doesn't have the skills to assess prospects. The LAMP stack hiring process is no different than hiring anyone else. If you don't understand what you are looking for, you post in forums like this one.

  134. It's the person... by SuperCharlie · · Score: 1

    Although not techy, I had a stint as a Home Healthcare director and had ~200 nurses to keep hired. At first I went through their resumees with a fine tooth comb, grilled them, tried various weighted systems etc.. but after hiring 10-15 people I began to realize, especially in this women-centric field, the ones who performed best were simply the ones who got along. I came to realize, you can teach skills and procedures, but you can't teach fitting in. As long as they had the basic skills to do the job, the personality weighed more than anything else. Do they smile, do they look you in the eye, are they happy, do they talk intelligently. I got pretty good at picking out who would fit in and who wouldnt and after hiring close to 100 nurses only had 2-3 who didnt work out after the first couple years. A smart happy employee, regardless of certs and degrees, will take you a lot farther than someone who is a master of their trade and pisses off co-workers.

    In hiring programmers, I would ask for an example of their work as a way to judge their basic competency. What is it, what does it do, and how well does it work. If they have no examples or only 1/2 baked ones, they are not driven and wont be for you either. After that, simply, will they make your office a happier place.

    I know.. hard to quantify.. still.. hire the person, not the paper.

  135. Run candidates through coding tests, e.g. Codility by laobaixing · · Score: 1

    Codility.com screens job candidates for fundamental programming and CS. Won't help you much with verifying the understanding of MVC, but will definitely weed out those who cannot write solid code, raising your chances of not having to interview dummies.

  136. Shame on you by Anonymous Coward · · Score: 0

    There's nothing wrong with that...

    Thanks for sharing your ignorance with us. Looks like you have not yet heard about HTTP header injection.