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

66 of 453 comments (clear)

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

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

    Kill them.

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

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

      --
      I'm positive, don't belive me look at my karma
    2. 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
    3. 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.

    4. 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.
  2. 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..."
  3. No faith by jvillain · · Score: 4, Insightful

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

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

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

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

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

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

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

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

    4. Re:No faith by 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.

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

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

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

    8. 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?
    9. 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.

    10. 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*

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

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

    Why BNF?

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

      Why BNF?

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

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

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

  6. 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
  7. 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?

  8. 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).

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

  10. 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
  11. 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.

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

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

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

  17. 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
  18. 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.

  19. Re:More than just knowledge by idiot900 · · Score: 3, Insightful

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

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

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

  22. 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.
  23. 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.

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

  26. 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.
  27. 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.
  28. 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.

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

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

  31. 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
  32. 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.

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

  34. 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.
  35. 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
  36. 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
  37. 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.
  38. 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.

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

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

  41. 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
  42. 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).

  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 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?
  45. 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.