Slashdot Mirror


Selecting Against Experience - Do Employers Know?

IBitOBear asks: "A couple days ago I did 'the interview loop' at that leading online retailer. Over the course of six hours I was repeatedly introduced to a guy in his early twenties, who would then ask me to write out code on a white-board for a problem that you might find in the study guide for a 200-level computer science class. I have 20 years of experience in programming and systems design. And in several cases the interviewers were vague, semantically incorrect, or self-contradictory. Interviewer blunders included not understanding that non-normal forms in databases -can be- more correct or efficient when the domain of a data is extremely limited; or choosing a leader among N candidates -is- a byzantine agreement problem. In short, the loop would have been perfect to weed out some guy getting his first job fresh out of school, but it definitely exerted selection pressure towards excluding experienced candidates. So employers, what are you doing to make sure that you are not culling out candidates with the low-ball? Job seekers, what do you do when you find yourself trapped in a sophomore study group?"

292 comments

  1. at "that" online retailer, they probably know by yagu · · Score: 5, Interesting

    They probably know they are leaning towards fresh blood, and probably will pass on more experienced and stronger candidates. I know quite a few people who work "there", and inside, they are one of the top IT shops, bar none.

    Also, there are a few things to be aware of... part of the interview process intentionally (from talking to insiders there, and at Microsoft) introduces vagueness, incorrectness, and other troubling aspects to problem solving. One of the things they're trying to observe is how a candidate deals with the obstacles.

    A friend at Microsoft told me if a candidate got flustered and angry at an intractable "problem" he (or she) was pretty much disqualified on the spot. At Microsoft, you could tell your job was "no go" if it didn't last the entire day. (Mine did, sigh... and I got the job, sigh again.) Typically they "nice" way was to tell the candidate the next interviewer got caught up in some responsibilities, and that would be that.

    My personal opinion, not that it amounts to a hill of beans for these companies, they sell themselves more short than they might realize. Business is about numbers games and businesses play the curve within one sigma, that's it.

    As for what to do when trapped in a sophomore study group, that sophomore group pretty much holds all of the cards. Candidates would be wise to suck it up, be friendly, and at least pretend not to be bothered by their seeming snobbery. (Also, by the way, the snobbery at Microsoft is real.)

    Some are better than others selecting excellent candidates (that online retailer comes to mind), but I think there's a slew of mediocre companies out there that would be better performers with a bit more appetite for investing in "old timers". Of course, coming from an old timer, I'm probably introducing my own bias.

    (ASIDE, and By The Way... you said over the course of six hours you were repeatedly introduced to a guy in his early twenties... If management had any of their wits about them, they'd consider getting rid of that guy... he should have been recognizing you by the 2nd or 3rd introduction. Sheesh.)

    1. Re:at "that" online retailer, they probably know by a_nonamiss · · Score: 1, Insightful
      and probably will pass on more experienced and stronger candidates.
      You left out "more expensive." Yeah, sure, it's age discrimination, and it's illegal. Doesn't mean it doesn't happen all the time. They just have to be creative as to how they weed out the old guys.
      --
      -Arthur
      Cave ne ante ullas catapultas ambules
    2. Re:at "that" online retailer, they probably know by Guppy06 · · Score: 2, Insightful

      "Also, there are a few things to be aware of... part of the interview process intentionally (from talking to insiders there, and at Microsoft) introduces vagueness, incorrectness, and other troubling aspects to problem solving. One of the things they're trying to observe is how a candidate deals with the obstacles."

      Never attribute to malice that which is adequately explained by stupidity.

    3. Re:at "that" online retailer, they probably know by Skreems · · Score: 5, Interesting

      I agree with most of that. I'm basically one of the 20 year olds the story is complaining about. I ask retardedly easy questions when I interview people, and on occasion I will be a bit vague on purpose, to see if they will ask clarifying questions or just fumble around for a half hour (guess which one gets you hired?). The problem is, I've interviewed people who claim to have been working in industry longer than I've been alive, and you'd be amazed how many of them can't code what basically boils down to a double nested for loop. I've had people go up to the white board and fumble around for 30 minutes only to wind up back where they started. You have to ask those retardedly easy questions because half the candidates can't answer them, even the ones who've been full time workers for decades.

      As for incorrect knowledge of some algorithmic stuff... there's two options. One is, they may know the correct answer, but are waiting to see if you do, and if you'll correct them. In one of my interviews coming out of college, a person said something about the problem I was working that was blatantly incorrect. He'd been working on a similar system for months, so I'm convinced that he was just seeing whether I'd correct him, or defer to him as "the authority". I corrected him, and I got the offer. The second option is that he doesn't, in which case you should stand up to him anyway. Even if he doesn't know you're right, most people will respect someone who isn't afraid to contradict them. If you just blandly defer to everything they say, how do they know what it would be like to try to design a system with you?

      Not all of the impressions of snobbery at Microsoft are real, though. I found them very friendly in my interviews, and very down-to-earth. Probably depends on the group you're interviewing with, but there's a lot of people who are just good at what they do, and want you to show them that you're good at it as well.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    4. Re:at "that" online retailer, they probably know by Al+Dimond · · Score: 1

      I work at nVidia (driver development... please don't kill me, herd of vicious /.ers), and I was talking at lunch the other day to one of the guys that does a lot of interviews. He mentioned this one question he loved to ask, and said the reason he loved it is because there was no right answer and not even really any good answer. He asks the interviewees to basically think completely out loud, display their whole problem-solving process while working, and has a list of several approaches that are good ones to take into the problem but that all ultimately fail. The more of these a candidate goes through before giving up completely the better he's done.

      He asked me the question at my interview. I remember asking him a lot of questions while trying to solve it. In any other context but an interview I'd probably have recognized the kind of excercise it was, but in the interview context I was frantically trying everything I could to come up with something that would come close to working. Nifty technique.

    5. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      The Microsoft interview questions I've seen for dev jobs come in two flavors:

      1) Interesting questions that require a bit of problem solving and then some follow-up in discussing the solution. (problems that draw on different engineering disciplines, not really programming in particular for the bulk of it)
      2) Simple programming problems involving a search or a sort or a tree traversal, with a multitude of simple solutions. Forgetting a semicolon is not a big deal, while overcomplicating things would be; if you need a list and don't know STL, just say so and assume a couple of normal-looking interfaces to it exist. Additionally, actually knowing how to program helps! After doing the problem, discuss some of the other options for solutions you had available. Discuss aspects like performance, improvements that could be made, and offer any really interesting insights you happen to have about the problem.

      After that it's just a matter of smalltalk. Ask about what your interviewer works on and try to delve deeply into anything you actually find interesting. You're not interviewing for a 1980's corporate sales job, so being relaxed and candid is okay. When times up, next interview.

      6 hours of problem solving is pretty tiring, but 6 hours of socialization is a lot more draining than any other component of the interview process. Get some rest the night before, and dress comfortably for your interview. The process might just be a single or even half day or might be several. Considering how tiring a single day of that is, I don't know I'd wish two or three days of it on anyone.

      Basically, you're aiming to display problem solving, some aptitude, and (most importantly) sociability.

    6. Re:at "that" online retailer, they probably know by ClosedSource · · Score: 1

      And yet these guys have probably been writing successful software systems for years, what's going on?

      Perhaps there's really not much of a connection between writing code on a whiteboard under interview pressure and writing applications in the real world.

    7. Re:at "that" online retailer, they probably know by plopez · · Score: 4, Funny

      this 'for loop' of which you speak. is it like iterating over a collection or perhaps like usinng a row fetch cursor? I vaugely remember something like that from... fortran... but haven't touched it in a while... :)

      --
      putting the 'B' in LGBTQ+
    8. Re:at "that" online retailer, they probably know by uradu · · Score: 1

      > Mine did, sigh... and I got the job, sigh again.
      > [...] Also, by the way, the snobbery at Microsoft is real.

      Shut up, really? 'Cause I was gettin the warm fuzzies at first there.

    9. Re:at "that" online retailer, they probably know by Skreems · · Score: 3, Insightful
      And yet these guys have probably been writing successful software systems for years, what's going on?
      It could be any of a number of things: for one, we only have their word that they've written all these successful software systems. A resume gets you in the door, but it's useless after that. We don't know the true complexity of the system, we don't know the quality of your peers on the job, and we don't know how well the final product really worked.

      Secondly, I've known some people that could write software that "worked", but it was far from pretty, and it took an inordinate amount of time. We need someone who can code at a reasonable speed, where other companies, particularly non-tech companies who just have some internal tool programmers, may not care as much.

      Finally, it doesn't matter so much whether you actually solve the problem, but the work process that goes into it is key. If you stare at the board and just write some stuff, it tells me nothing. That's why I like simple questions posed in a slightly vague manner. I leave a lot of things undefined about the problem to see what the person will do. They can choose to assume things, which is fine as long as the state that they're assuming it. They can ask me for clarification, which I'll gladly provide. Any of these things is a big plus, because it shows you know how to analyze a vague problem, figure out the things you need to clarify it, and still move forward with an implementation without stalling on questions and definitions. The ones who fail are inevitably the ones who just stare at the board, write a couple lines of code, erase them, stare some more, etc. Specs aren't always clear. Requirements and bug reports aren't always clear. If you can't ask the right questions to clarify a slightly vague 200 level coding quiz, you're not someone many people would want to work with.

      One other comment: some people may suck at this because they rely on the compiler for everything. You can get surprisingly complex systems out of guess-and-check programming, but it's far from ideal. Quite a few new grads have this problem, although I'm not so sure about the more experienced programmers.
      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    10. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      Well? WTF was the One Question of Doom, already?

    11. Re:at "that" online retailer, they probably know by boron+boy · · Score: 4, Funny

      We won't kill you, but if you ever want to see your garden gnomes again you'll give us the source code.

    12. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      I agree with you. Sometime, people tend to get egoistic about them not being as competent as the 20-odd year old kid is. Maybe it was time when people realised that it is survival of the fittest and that we (the 20-odd year old) will be absolete in another 20-odd years from now.

    13. Re:at "that" online retailer, they probably know by ultranova · · Score: 1

      Well? WTF was the One Question of Doom, already?

      "How do you make binary drivers that don't break every time the kernel gets a new feature like 4k stacks ?"

      Alternatively, "How do you dissipate 100 Watts of heat energy per second from a two square centimeter chip area without needing neither a helicopter rotor for a cooler nor water cooling and without letting the chip warm over 60 degree Celsius when the surrounding air is around 40 degree Celsius ?"

      An answer to either question would be appreciated by users as well as NVIDIA.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    14. Re:at "that" online retailer, they probably know by 70Bang · · Score: 1


      It's the one all of the wrong people fail:

      How lazy are you?

      (think about it)

    15. Re:at "that" online retailer, they probably know by Haeleth · · Score: 3, Funny

      And yet these guys have probably been writing successful software systems for years, what's going on?

      Here's a clue.

    16. Re:at "that" online retailer, they probably know by megalomaniacs4u · · Score: 1
      I ask retardedly easy questions when I interview people, and on occasion I will be a bit vague on purpose, to see if they will ask clarifying questions or just fumble around for a half hour (guess which one gets you hired?).

      When I get idiot interviewers like you, then they get the full blast of contempt. Never waste my time being trival vague and misleading. There are plenty better places to work than yours. Pushing out the crusty experienced people who won't tolerate that nonsense is not a very effective strategy.

    17. Re:at "that" online retailer, they probably know by Simon80 · · Score: 1

      Yes! The Daily WTF for the win! And that was the perfect comment to mention it in response to..

    18. Re:at "that" online retailer, they probably know by Al+Dimond · · Score: 1

      1. Well if you're lucky you just recompile. If you're not lucky you fix stuff first. I could try to argue that a stable binary kernel module interface is important, but I'm honestly not sure that it's best for Linux. I've read the arguments for both sides, and you can have a successful kernel either way. One problem with the Linux way of wanting everyone to put their drivers in the main tree is that it makes things difficult for driver projects that target multiple OSes and it forces drivers to be GPLv2 (which is something that will just never happen for a ton of drivers out there; it also means that once a driver gets into the mainline tree it can't be the basis for, say, a mainline BSD driver). The advantages that it brings for users and kernel developers are real (on my box at home all my modules are mainline, and I enjoy this greatly; furthermore, the freedom to do things that break binary module compatibility is just one less obstacle in the way of a better kernel), but they only apply to the drivers that are in the mainline kernel tree. It's like the minimum wage, which helps people with jobs but is sometimes argued to hurt those without. As Linux is today, as a Linux user, I love having a tree full of good drivers, and that wouldn't be there without the unstable binary module interface IMO.

      It sucks for users that when you have a closed-source Linux driver the changes to reflect the changing module interfaces get tied in with the changes in driver features. No matter how many configurations you compile for you'll never get all of them. But I think I've butchered this question enough. Maybe I should have trolled against Linux instead. Moving on.

      2. W = J/s. The two-square centimeter chip dissipates 100 Watts (period). Or maybe it doesn't, I don't keep track of those things too precisely myself (it's not really my department). I'll take your word for it; it doesn't get any easier when there are four of them sitting right next to eachother in one box, but somehow those contraptions manage to run for quite a long time crunching through 3d programs without overheating or crashing. It gets pretty loud (what with the helicopter engines and all; fortunately most of the realy hardcore systems are heavy enough that they don't lift off), but them's the breaks. YMMV. Anyhoo, the abacus I've been using to calculate the packets to send down the line is getting very loud and hot (damn friction!), so it's probably about time I stop.

    19. Re:at "that" online retailer, they probably know by WillerZ · · Score: 1

      Very lazy. What do I win?

      --
      I guess today is a passable day to die.
    20. Re:at "that" online retailer, they probably know by dangermouse · · Score: 4, Insightful
      Wrong. Want to know why you're wrong?

      Because I don't have the time in my day to cross every 't' and dot every 'i' for you. You are a valuable developer if I can throw the problem and maybe the broad strokes of the solution to you, and trust you to fill in the details in both in a way that makes sense, and trust you to communicate with me when (and only when) you really need information or decisions that only I can give you.

      If I have to write a massive spec for everything I want you to do, I might as well replace you with some cheap team in India. They're great at giving you exactly what you ask for.

      When I get people who are contemptuous in an interview, for any reason, the interview is over. I'm looking to see whether I can work with you, not whether you're the perfect little programmer monkey. The world is awash with programmer monkeys, and with assholes.

    21. Re:at "that" online retailer, they probably know by TTL0 · · Score: 1
      And yet these guys have probably been writing successful software systems for years, what's going on?

      which would explain how the y2k bug got started.

      --
      Sanity is the trademark of a weak mind. -- Mark Harrold
    22. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      if by "20-odd", you mean "definitely less than 20, and probably less than 10", I would agree.

    23. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      damn whipper snappers!

      Us fortran users only have do-loops....And we are glad of it

    24. Re:at "that" online retailer, they probably know by jellomizer · · Score: 1
      Making code on a whiteboard is extremely problematic. First it is the issue that most good programmers do now write code linearly except for writing...
      #include <stdio.h>
      int main() {
        int retval;
        int i;
        retval = 0;
        for (i=0; i <= 9; i++) {
              printf ("%d",i);
        }
        return retval;
      }
      The actual order I will wite it would be
      int main() {

      } (Up arrow) (tab) for(i = 0; i = 9; i++) {

      }(Up arrow) (tab)(tab)printf ("%d",i);(Up arrow)(Up Arrow)(cr)(tab)int i;(Up Arrow)(cr)(tab)int retval;(Down Arrow)(Down Arrow)(Down Arrow)(Down Arrow)(Down Arrow)(cr)return retval;

      While for this example i would normally write it linear just because it is small. But for larger code snipits I tend to follow my flowchart design as much as possible then I fill in the language semantics before I move to the next block in the design. Which is difficult to do on a whiteboard and very unnerving when you are being watched (and judged) on you thinking order.
      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    25. Re:at "that" online retailer, they probably know by Anonymous+Brave+Guy · · Score: 3, Informative

      You left out "more expensive." Yeah, sure, it's age discrimination, and it's illegal.

      No, it's not age discrimination. It would be age discrimination if you hired the younger guy just because he was younger, when both guys cost the same amount.

      (I don't know what jurisdiction this is in or any specific legal definition of age discrimination, but if the above isn't true, your law isn't written in English.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    26. Re:at "that" online retailer, they probably know by Metasquares · · Score: 1

      If you can't write a good spec., the team in India won't be able to code for you either.

      The employer-employee relationship should be a relationship of reciprocal trust and respect. Remember that while there are lots of other employees out there, there are also lots of other employers. The best programmers are scooped up in a minute, usually non-competitively, and nothing dissuades them more than an employer who thinks they should consider themselves privileged to work there - the way they see it, the employer should feel privileged that they are applying!

      If you just want "programmer monkeys", being condescending in an interview will work fine. If you're looking for a team that can get things done an order of magnitude better at the same cost, however, you need to treat your programmers like valuable members of the team, equal to yourself. This goes for any type of employee where skills are more variable than salary.

    27. Re:at "that" online retailer, they probably know by stephenbooth · · Score: 1

      My favourite question to ask at an interview runs something like this:

      Me: Things can sometimes get a bit stressful here, you need a good sense of humour to get through it. Would you say you have a good sense of humour?

      Them: Yes.

      Me: Tell us a joke then.

      I'm usually the techie interviewer and leave this till last so it comes in at the end of a long line of techie and problem solving questions. The question has one purpose and one purpose only, to see how they react to something coming totally out of the blue and having to quickly change mental gears. Although not supposed to be user facing, we're server support, we sometimes have to deal with users who have even less clue than any I've met elsewhere (you know that urban legend about a call about a broken coffee cup holder, it's not just an urban legend, I have taken that call, gone out and found a broken CD tray with a pool of coffee beneath it) but demanding beyond belief. Diplomacy can be as vital as technical knowledge (we work in a highly political environment (both small p and capital P, we're a local council) where the person on the other end of the phone probably has the authority to sack you or plays golf with someone who has the authority to sack you). We need someone who can handle that.

      The best response I ever had from a candidate to the question was from a female candidate who blinked twice and proceeded to tell us the sort of joke that, if told by a male member of staff, would result in a swift sacking for sexual harrassment (it was one of the "Why do women have legs?" jokes). Fortunately she'd done a really good interview overall so we (the panel was me, a woman from HR and a manager (another woman)) could hire her.

      Stephen

      --
      "Don't write down to your readers, the only people less intelligent than you can't read" - Sign on Newspaper Office Wall
    28. Re:at "that" online retailer, they probably know by dangermouse · · Score: 4, Insightful
      You've misread my post.

      I can write a good spec. But if I take the time to do so, there's no particular reason I should hand that spec to you for implementation rather than to a cheap offshore team. Coding to spec is their specialty, and they're not bad at it.

      I don't want or need programmer monkeys. Junior developers we can train into senior developers, sure. There are a lot of very good reasons to go that route, and it's healthy and economical to have some junior devs on staff. But spending the big money on whizbang coders who need everything spelled out for them is a double waste.

      My interview is designed to find people who can and will think about a problem and its solution, and who have the knowledge and experience to get the details right. Those are the best developers, and they're relatively rare. You can bet that when I find and hire them they're highly valued and treated as such.

      Finally, an interview is a meeting of equals, and I approach it as such. The goal is to figure out together whether you and I want to enter into the employer-employee relationship, not for me alone to decide whether you're "good enough" for my team. If my expectations and your expectations differ, that's fine, we can shake hands and go our separate ways and the best of luck to you. Like you said, there are plenty of other employers. If you at any point display contempt for my expectations, though, you're just some prima donna asshat with a superiority complex-- don't let the door hit you on the ass, jack.

    29. Re:at "that" online retailer, they probably know by generationxyu · · Score: 1
      Not all of the impressions of snobbery at Microsoft are real, though. I found them very friendly in my interviews, and very down-to-earth. Probably depends on the group you're interviewing with, but there's a lot of people who are just good at what they do, and want you to show them that you're good at it as well.

      I interviewed with Microsoft, twice. My first interviewer had never written a line of code, so I had to explain everything I did to her. It's possible they were trying to determine whether or not I knew what a stack was, but I kinda doubt it.

      So they called me back in for a second interview. The guy was really nice, but the questions he asked were pretty stupid. Tough coding problems answered on the spot are not a good indication of ability -- sure, you may have to solve problems like these at your job, but you'll have more than five minutes to think about them. Since I was applying for an SDET position (software development engineer and test), I feel that asking questions that sound like exam questions for an algorithms course is relatively pointless. Why not ask about design, testing process, overall development process? Why not ask language questions (competence in C++ was assumed)? Instead, they ask "how would you delete a node from a singly linked list without a pointer to the head?" Well... you don't... safely, anyway. And even if you can assume it's safe, you're still leaving out the edge case. I explained that, but I didn't get hired because I couldn't come up with a way to rearrange a string of uppercase, lowercase, and spaces with uppercase first, then spaces, then lowercase in one pass (strlen() counts as a pass).

      That's OK though, because I have a job now where my boss recognizes my ability, and wants to nurture it, so that I can reach that mastery level of software craftsmanship. Why? Because he's trying to train pros, so that he's got a team full of pros.

      --
      I mod down pyramid schemes in sigs.
    30. Re:at "that" online retailer, they probably know by bitbucketeer · · Score: 1

      You know, I'm also looking to see if I can work with you, and if you're behaving in a way that merits contemptuousness, then the price of having to work with you goes waaaay up.

    31. Re:at "that" online retailer, they probably know by ClosedSource · · Score: 1

      Perhaps you missed the word "successful".

      In any case, I've been to thedailywtf.com and I don't think there's any insight to be gained there. Just a bunch of people who try to pump themselves up by knocking other people down.

    32. Re:at "that" online retailer, they probably know by ClosedSource · · Score: 1

      I agree. If you end up being hired, you're not going to be writing a lot of production code on a whiteboard. If interviewers feel the need for a code test they should at least make the conditions as close to the real world as possible.

    33. Re:at "that" online retailer, they probably know by Richard+Steiner · · Score: 1

      I'm just lazy enough to write tools to do some of my work for me. :-)

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    34. Re:at "that" online retailer, they probably know by ClosedSource · · Score: 1

      "which would explain how the y2k bug got started."

      No. They were junior programmers way back then.

    35. Re:at "that" online retailer, they probably know by Skreems · · Score: 2, Insightful
      When I get idiot interviewers like you, then they get the full blast of contempt. Never waste my time being trival vague and misleading. There are plenty better places to work than yours. Pushing out the crusty experienced people who won't tolerate that nonsense is not a very effective strategy.
      Uh huh... see, the thing is, it's not trivial if it's what I want to know in order to determine whether to hire you. If you can't put up with a basic problem that should take you five minutes to solve, what does that say about your patience with other things? You sound like a prima donna who won't work on anything you don't personally find fascinating. Good luck keeping a job with that attitude, by the way.
      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    36. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      I had tried to fill one position for a year...

      Not a normal position, requires certain crossfunctional skills; but it shouldn't have been so hard.

      Why? because everyone I intereviewed was either:

      1.) Good and Knows it - (i.e. arrogant, self-rightous, will not follow orders if they think they are right. This is really bad in my industry where not following proceedure or being cocky can cost lives.)

      2.) Has Been (i.e. probably was like 1.) but the IT world changed and blew them away. Sure they got 20 years of experience, on technology that 20 years old.)

      3.) Wanna-be (i.e. Hi, I just completed my online degree with Phoenix Univeristy and so far have passed 3 Microsoft Tests.)

      Each month I lowered the requirements a bit, and found more 2s and 3s then 1s... What I needed was a 1 without the attitude problem.

      In the end, I moved onto another position... let the next guy try to find someone...

      It isn't the 90s anymore... know how to use a computer, querry a database, wire a board, or program a computer isn't special. Today, what is special are people who are IT administrators who can properly secure a network and boxes, write programs and scripts for special functions, work with manufactoring and understand the requirements and how controllers, HMI,s and the various network communications work in order to allow maximum security while preventing manufactoring downtime, and performing quality control projects, through a project management system and report to management where they can continue to cut costs by investing in various technology.

      Can you do: Networking, Security, Database Administration, Manufactoring Controls, Comms and HMIs, Quality Control, Project Management, and Not Get Cocky... yeah... come to think of it... I guess it would be hard for me too.

    37. Re:at "that" online retailer, they probably know by Marxist+Hacker+42 · · Score: 1

      If I have to write a massive spec for everything I want you to do, I might as well replace you with some cheap team in India. They're great at giving you exactly what you ask for.

      Even if it is complete garbage.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    38. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0

      Me: Things can sometimes get a bit stressful here, you need a good sense of humour to get through it. Would you say you have a good sense of humour?

      Them: Yes.

      Me: Tell us a joke then.

      Them: I'm pleased to meet you.

    39. Re:at "that" online retailer, they probably know by Saige · · Score: 1

      Every group at Microsoft does interviews differently. So about the only conclusions you can really draw from an interview is how that specific group handles them for the time being.

      I've interviewed twice here at Microsoft. Once was to get hired in at the company. A friend who was helping pass my resume around was convinced all I needed was to get flown out for an interview, and I'd get that job. She was right - I walked out at the end of the day certain that I was going to work at Microsoft and finally be able to move to Seattle. I was right. And I even found the day of interviews strangely enjoyable.

      My second interview was earlier this year, when I decided I wanted to go for a position on a new team - the Xbox Live test team. It was significantly tougher - and at the same time, I was much more nervous because of how much I wanted the position. I was extremely uncertain how things went, especially cause of a rough hour with one interviewer, which involved a lot of odd C code when he knew I was quite rusty at C (after working with only C# for the past couple years). The interview was on a Friday, and on Monday morning I got notice I was getting the offer.

      You can't really assume you know why you get or don't get a job offer here until you actually talk with the people who made the decisions. Especially since it's not just having the knowledge and skills to do the job that matters - they also want to make sure you fit into the group's culture.

      --
      "You know your god is man-made when he hates all the same people you do."
    40. Re:at "that" online retailer, they probably know by ratboy666 · · Score: 2, Interesting

      Rearrange in one pass:

      What they were trying to determine was your ability to "think outside the box". The box is the definition of string.

      Does that give you a clue?

      Try something like this:

      for character in string do
      . . . if uppercase(character) add character to uppercasestring
      . . . else if space(character) increment spacecount
      . . . else add character to otherstring
      print uppcasestring otherstring space x spacecount

      Single pass. Sort of redefines "string".

      That would be my first solution. And I can think of more...
      I would ask a question like that of a potential programmer (at a senior level) that is going to be doing design. Just to see how the brain juices work.

      YMMV
      Ratboy

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    41. Re:at "that" online retailer, they probably know by zCyl · · Score: 1

      Why not ask language questions (competence in C++ was assumed)? Instead, they ask "how would you delete a node from a singly linked list without a pointer to the head?"

      Language questions test book knowledge, which makes up a small part of programming. You should be able to hire a good programmer for a language he or she has never worked in before, and that programmer should be up to speed within a week. Why make decisions on knowledge that can be easily learned?

      Good questions test ones ability to think on a conceptual, algorithmic, or design level. As for the node deletion, one good answer is to copy the contents and link of the next node into the present, and delete the next node. This should work in all cases except the last node.

    42. Re:at "that" online retailer, they probably know by tverbeek · · Score: 1
      Never attribute to malice that which is adequately explained by stupidity.
      Who said anything about malice? If I challenge and evaluate a job candidate's personality by asking a "trick" question, I'm not doing it because I hate the guy. I'm doing it because I want to know how he responds, because that's (believe it or not) important to how someone will perform their job. There's nothing adversarial about it; it's the whole point of interviewing rather than just passing out a standardized test and seeing who scores best on it.
      --
      http://alternatives.rzero.com/
    43. Re:at "that" online retailer, they probably know by tverbeek · · Score: 1

      By calling someone an "idiot" when he's just pretending to have low standards, you've demonstrated that you're completely unqualified for most jobs that involve working with other people. But go ahead and keep throwing geek tantrums. If it means I don't have to deal with someone with an overinflated sense of their own worth and a crippled ability to get along with other people, then I'll be happy to cross your name off the list and give you the "You're highly skilled, but we found someone who is a better match for our needs" letter.

      --
      http://alternatives.rzero.com/
    44. Re:at "that" online retailer, they probably know by Guppy06 · · Score: 1

      "Who said anything about malice?"

      Malice, guile, whatever. The point is that, while there may be some job interviewers that deliberately try to use such tactics, the odds are strongly in favor of most interviewers really just being that stupid.

    45. Re:at "that" online retailer, they probably know by Breakfast+Pants · · Score: 1

      He isn't saying the older guy demands a higher salary; he's saying that the company has to pay higher rates to give the old geezer health insurance coverage.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    46. Re:at "that" online retailer, they probably know by Breakfast+Pants · · Score: 1

      The obvious solution is to put it in the mainline BSD tree, then it can be a basis for both =). (oh and ATI and whoever the hell else can take your code and put it into their binary only drivers free of charge.. so I realize it is never gonna happen)

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    47. Re:at "that" online retailer, they probably know by tverbeek · · Score: 1
      Malice, guile, whatever. The point is...
      The point? You're completely missing it as well. Evaluating your job-worthiness by simulating real-world problem-solving situations (e.g. vague specs) is not malicious, sneaky, etc. It's a way to weed out the under-qualified and make sure you get someone who can do more than crank out code. If this works against you... that's not the employer's fault.
      --
      http://alternatives.rzero.com/
    48. Re:at "that" online retailer, they probably know by Al+Dimond · · Score: 1

      In the hypothetical case of someone that wanted to write a Free-Software driver for FreeBSD and Linux (that is, not the case of nVidia, which wants to write a closed-source driver for whatever operating systems are useful to it), putting it in the BSD tree doesn't work exactly: for it to gain the benefits of being in the Linux tree (which are many) it has to actually be in the Linux tree.

      The author could offer it under both the BSD license to the BSD tree and GPLv2 to the Linux tree. But contributions added by other Linux hackers would be stuck under GPLv2 and not available to the BSD version. At any rate, the benefits of being in the BSD mainline kernel tree aren't as great as those for Linux because at least FreeBSD keeps binary module compatibility. So I think most people would probably choose the Linux tree given the choice. I guess there's always the public domain: you could release the code to the public domain, and put a note in your code asking particularly the Linux devs to just release their modifications to the public domain independent of the GPLv2-license that they extend to the Linux kernel version. If they don't, that's their choice.

      That said, I think the differences between the two are large enough that most drivers couldn't share a whole lot of code between the OSes.

    49. Re:at "that" online retailer, they probably know by Guppy06 · · Score: 1

      "Evaluating your job-worthiness by simulating real-world problem-solving situations"

      You're assuming they're always doing it deliberately. You're assuming that they able to think that far ahead. You're assuming that the hiring personnel actually know what they're doing. You're assuming that they're acting stupid rather than being stupid, and my point is that such an assumption in general is, at best, a long shot.

      If you continue to automatically assume that any potential employer acting in such a way is trying to test you with "real world scenarios," you're not only failing to apply Hanlon's Razor but also Hoccam's Razor in general, and you're setting yourself up to be severely disappointed; worse yet, you won't know for sure one way or the other until you've already made a commitment to work for them.

    50. Re:at "that" online retailer, they probably know by generationxyu · · Score: 1
      As for the node deletion, one good answer is to copy the contents and link of the next node into the present, and delete the next node. This should work in all cases except the last node.

      That's not safe. There may be other objects, threads, etc., who have a pointer to the next node.

      Yeah, that's the solution, and it's ingenious at that, but if I was reviewing code and saw that, there'd be a trip down to HR in someone's future.

      --
      I mod down pyramid schemes in sigs.
    51. Re:at "that" online retailer, they probably know by generationxyu · · Score: 1
      for character in string do . . . if uppercase(character) add character to uppercasestring . . . else if space(character) increment spacecount . . . else add character to otherstring print uppcasestring otherstring space x spacecount

      Sorry, should have been more specific. Assume that the string takes up most, say, 90%, of your memory. You can only use constant (not O(n)) extra memory. So you need to do it in place.

      It's totally possible, and it's an interesting problem, but the one-pass solution is actually slower than a 3-pass solution. Remember that O(3n) == O(n). The one-pass solution uses much more extra memory, and many more instructions per character than the 3-pass solution.

      I've been doing interviewing now, and I'd much rather see (for the purposes of what I do) questions about design, refactoring, comprehension of code. We work in a code base that's about 3 million lines, and 90% of what we do is refactoring, small additions to the code base, and integration -- often times integrating changes from fork A into fork B, where lots of the structure has been rewritten.

      But through having friends who work at Microsoft, I learned that there's a lot of things I don't like about the environment there, and it's not really the place for me. If it's the place for you (my friends seem to like it), more power to you. Maybe their interview process is two-sided; I got to see how they think as well :)

      --
      I mod down pyramid schemes in sigs.
    52. Re:at "that" online retailer, they probably know by John_Booty · · Score: 1
      Who said anything about malice? If I challenge and evaluate a job candidate's personality by asking a "trick" question, I'm not doing it because I hate the guy. I'm doing it because I want to know how he responds, because that's (believe it or not) important to how someone will perform their job.


      Agreed. A lot of (probably most) real-world situations involve vague and contradictory or just plain impossible requirements. Dealing with them is just as important as coding ability - developers need to have the human skills to understand needs and successfully pitch solutions. In fact, most coding jobs break down roughly as follows: (in my experience)

      1.) 1/3 The human skills to understand the problem, which often involves weeding through a tangled mess of requirements written by people who don't understand their own problem in the first place

      2.) 1/3 The technical chops to envision and implement the solution

      3.) 1/3 The human skills to successfully explain all of the above to those that will be using the solution and successfully pitch a solution

      #1 and #3 are the parts they never told me about in college. I quickly learned that people skills were a huge, huge, huge part of the job. Sure, that's not always true -- you sometimes have coding positions where a lone John Carmack type gets to spend 98% of his time coding in a dark room somewhere -- but those are by far the exception. Furthermore, programmers with the brains and chops to perform that kind of role are extraordinarily rare. Don't count on that kind of job unless you're literally one in a thousand (if not more) when it comes to your coding skills.

      ("One in a thousand" compared to other programmers, that is. Not compared to random people on the street. Hell, being able to write "Hello World" is nearly enough to be one in a thousand compared to J. Average Worker...)
      --

      OtakuBooty.com: Smart, funny, sexy nerds.
    53. Re:at "that" online retailer, they probably know by crucini · · Score: 1
      When I get idiot interviewers like you, then they get the full blast of contempt.
      Good. I'd rather get the full blast of contempt once in the interview than get it repeatedly while working with you.

      Interviews are largely there to weed out people who are overflowing with negativity.
    54. Re:at "that" online retailer, they probably know by Anonymous Coward · · Score: 0
      I can write a good spec. But if I take the time to do so, there's no particular reason I should hand that spec to you for implementation rather than to a cheap offshore team. Coding to spec is their specialty, and they're not bad at it.
      Exactly! It's just as easy as coding to the spec. And anybody can do that!

      For everyone who has had to to listen to a coworker say "My last company outsourced XYZ to India, and what a mess that was! Everybody left, and the company folded. What morons!" For everyone who has wondered why the managers thought that this was a good idea. For all of you who failed to convince them that it wasn't going to work...

      This is how outsourcing happens.
    55. Re:at "that" online retailer, they probably know by morzel · · Score: 1
      It all depends on what you consider to be "one pass"... My first idea would be to use a simple gnome sort -- kinda like a single pass with backtracking ;-)

      Assumptions:

      • function fval(char) returns 0 for uppercase characters, 1 for spaces and 2 for lowercase characters (pretty trivial to write)
      • function swap(s, i1, i2) swaps the characters at positions i1 and i2 in your string
      • s is your null-terminated string, starting index is 0
      Pseudo code:
      // Special case: empty string
      if (s[0]==0) then exit

      index i=1

      while (s[i]!=0)
      {
      if (fval(s[i-1]) <= fval(s[i])) then
      // Pair is in order
      i++

      else
      // Pair not in order
      swap(s, i-1, i)
      // Re-test previous pair
      i--
      // Don't go back beyond start of string!
      if (i==0) then i=1
      end if
      }
      There are a lot of swap operations involved -- run time O(n^2), but the sort can run in-place and is stable. Don't know if it fits the "one pass" requirement though ;-)

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    56. Re:at "that" online retailer, they probably know by amuro98 · · Score: 1

      They don't have to discriminate.

      Just underpay.

      I was recentally looking for a new job, and was surprised at how many positions were looking for people with my sort of experience level (10+ yrs) but were offering ~20% LESS than what was making 3-4 years ago.

      And in case you're wondering, my new job is doing almost the sames sort work I was doing before, but with a 10% raise and much nicer benefits.

    57. Re:at "that" online retailer, they probably know by amuro98 · · Score: 1

      About that "show them what you're good at it as well" bit...

      What I'm good at is NOT solving cutesy trick Mensa questions during a stressful interview, nor recalling minutae about programming language syntax from memory. And yet, these are the same people who think "I'd look it up in a book" is an unacceptable answer.

      As for vague questions, you better be able to refine them if the candidate asks. One junior engineer I interviewed with simply asked me to tell her everything I knew about HTML. But what she REALLY wanted was for me to discuss how a generic packet makes its way across the internet. If she'd asked a better question, I would have been better able to figure out what direction she wanted me to take. Instead, I had to hunt and peck for the "right" direction, and all I got in response to suggested topic after topic was "...that's not what I'm looking for..." as an answer. I'm no mind reader. If I were, I'd already be retired, having made my fortune in Vegas.

    58. Re:at "that" online retailer, they probably know by amuro98 · · Score: 1

      I interviewed for an intern position at Microsoft about 10 years ago.

      Normally, interns only do 4 hours of interviews, then they take you out to dinner.

      But for some reason, I had 2 different groups competing for me, so I ended up doing EIGHT SOLID HOURS of nothing but trick MENSA questions, hypothetical no-solution questions, and inane programming tricks. I could barely eat lunch because they were still asking question after question. And on top of that, many of the interviewers were quite rude. One even said I was wasting his time because I left out a semicolon on my linked list code, so I told him his interview was over and to take me to the next person. (oddly, that earned his respect...go figure.)

      To say I was fried at the end of the day was an understatement. And after all that, the HR rep told me that the groups weren't interested in hiring me as an intern, but wanted me to come back next year when I was going to graduate so I could DO IT ALL OVER AGAIN.

      I told her, as politely as possible, to go jump off a bridge.

    59. Re:at "that" online retailer, they probably know by triffid_98 · · Score: 1
      You know, I keep hearing about this whole 'age discrimination' thing, but I don't think I've ever seen a 40something girl at the topless club...

      No, it's not age discrimination. It would be age discrimination if you hired the younger guy just because he was younger, when both guys cost the same amount.
    60. Re:at "that" online retailer, they probably know by sahala · · Score: 1

      I think you've been fooled. That 40-year-old just happens to look 29.

    61. Re:at "that" online retailer, they probably know by Skreems · · Score: 1
      What I'm good at is NOT solving cutesy trick Mensa questions during a stressful interview, nor recalling minutae about programming language syntax from memory. And yet, these are the same people who think "I'd look it up in a book" is an unacceptable answer.
      I can't speak for anyone else, but I would never turn someone down just because they said "I don't know, I would have to look it up". I ask those types of knowledge questions, but its mostly to get a feel for the person's background, and has no actual bearing on their hiring.

      And again, the "Mensa questions" are not necessarily meant to be solved. They're used to see your thinking process, whether you can attack a problem in a somewhat logical fashion or whether you just flail around waiting for the interviewer to step in and tell you what to do. Yeah, maybe some good coders can't do that so well, but keep in mind that when we hire you, we then have to work right alongside you and (potentially) clean up your mistakes for the next however many years. If you can't show us that you're at least somewhat of a logical thinker, we can't feel safe in hiring you.
      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
  2. Walk away. by Spazmania · · Score: 5, Insightful

    Job seekers, what do you do when you find yourself trapped in a sophomore study group?

    Walk away. An interview is a two-way street: they're evaluating your ability to do the job but you're also evaluating their ability to provide a worthwhile work environment. If they fail your test, walk away.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    1. Re:Walk away. by Liquid-Gecka · · Score: 1

      I can not agree more! After a recent interview with a 'darling' tech company I decided that I didn't want to work there. Vague questions and poorly worded rebuttals to answers scared me away. Plus they fell into the cardinal sin of computer science. Never.. Ever.. ask somebody to write answers on a white board. It is not natural. If I prefer to place open/close brackets right when start a function then white boards do not fit that pattern. Little things like this make it more 'English' and less 'code'. As such it is a very poor way to identify good developers. During my entire interview I never once was told what the job would actually be. Generic terms and very vague guidelines where thrown around but nobody could even describe basic work conditions. I have a job. I like my job. Why would I risk taking a job I know nothing about, for very little added pay?

      Because of this I decided to not take the job. I contacted them after the interview and let them know. They seemed confused that somebody would interview and then not want the job. They have contacted me and are trying to work with me to resolve my problems. Who knows..

      Back on point though. If the company has a terrible hiring process then it is likely a disorganized internal structure that is feeding it. The first tech company I worked for LIED to me in my interview. I was told that I would work days, I ended up working nights, I was told that they would work with me for continued education, they wouldn't do any shift adjusting, nor would they help pay for classes. If I would have paid attention I could have clearly seen the problems. Granted at the time I couldn't have done anything about it and it turned out that the job got me experience that I couldn't have gotten anywhere else, and got me in the Trade Act when I got laid off. So in the end they paid for me to go to school as well as the cost of the education.. :)

    2. Re:Walk away. by talkingpaperclip · · Score: 1

      That strategy won't help me move out of my mom's basement.

    3. Re:Walk away. by bahwi · · Score: 3, Insightful

      Agreed, I do freelancing contracting, back when I was looking for more contract jobs, I went to a guy at a company after sending him my portfolio and website and everything, he asked for a resume, I simply told him he didn't know what's he looking for and walked out. Really freaked him out, turns out it would be a job job not a freelance job, definately not what I was looking for.

    4. Re:Walk away. by Anonymous Coward · · Score: 0

      Because of this I decided to not take the job. I contacted them after the interview and let them know. They seemed confused that somebody would interview and then not want the job. They have contacted me and are trying to work with me to resolve my problems. Who knows..

      Who'd you interview with? Match.com?

    5. Re:Walk away. by RalphTheWonderLlama · · Score: 1

      That's a bit mean :)
      Some people are non-techies and need techies to not just do techie work but figure out what is needed as well. Small companies are like that.

      --
      simple, fast homepage with your links: http://www.ngumbi.com/
    6. Re:Walk away. by AJWM · · Score: 2, Interesting

      Never.. Ever.. ask somebody to write answers on a white board. It is not natural. If I prefer to place open/close brackets right when start a function then white boards do not fit that pattern. Little things like this make it more 'English' and less 'code'

      You just failed any interview that I'd give. Not that I necessarily ask folks to write code on a white board, but if they can't handle that it shows that they're inflexible and would probably be totally lost in a design discussion or a code walkthrough. I don't care about matched brackets on a whiteboard -- compilers are real good at catching stuff like that -- but if you can't explain what you're doing in English (or whatever natural language you speak) then you don't understand it.

      --
      -- Alastair
    7. Re:Walk away. by ClosedSource · · Score: 1

      "Not that I necessarily ask folks to write code on a white board, but if they can't handle that it shows that they're inflexible and would probably be totally lost in a design discussion or a code walkthrough."

      Inflexible? Programmers? Who has ever heard of such a thing? It's not as if one would be so inflexible that they wouldn't hire someone who couldn't code on a whiteboard.

    8. Re:Walk away. by Sharpner · · Score: 2, Insightful

      Good thing you figured out the situation was not for you. But if such a simple, standard request (resumes are standard and highly useful even for contractors, and even for those with lots of samples) was able to negate your interest, he was well rid of you as well.

    9. Re:Walk away. by anticypher · · Score: 1

      It's only a two way street when you are old enough and experienced enough to be able to ask the right questions. A very experienced worker should be able to ask enough questions during the interview to ferret out exactly what the company is looking for, and tailor any answers to reflect experience in the field.

      I once spent two hours in an interview asking questions about the project, never once did the hiring guy manage to get a question in. I so completely led the interview that near the end the interviewer asked if he could get a question in, basically to ask what questions they should be asking of my assistants. Its nice to walk out of the first interview knowing you have the job, it gives you leverage in negotiations over price. This only happens when you have over thirty years in the industry, and the hiring company has enough clue to let it happen.

      There are interviews where the company no longer has any competence left in its ranks, and don't know when they are getting good or bad answers. Even big, well known companies sometimes end up clueless due to extreme incompetence at an upper management level driving away all the real talent. If you are experienced enough to identify these situations, you walk away knowing you will find something better down the road. Let some n00b earn his battle scars in the miserable jobs.

      the AC

      --
      Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
    10. Re:Walk away. by Anonymous+MadCoe · · Score: 1

      You are right,

      I spent some time at a company like that, it was horrible, especially since the inexperienced guys tend to be seen as the experts in areas where they have absolutely no experience.

      Took me a while to find that out, a little longer to try and show management the value of real business experience (i.e. things in real companies, not universities or opensource projects).

      Finally left, went to a different place, have been happy here for a few years now, actually getting challenges, and having my value recognised.

      On a side note, probing if someone actually has skills has to be done, you'd be surprised how many people lie about their skills....

    11. Re:Walk away. by Vellmont · · Score: 1

      Ahh.. more voodoo interview techniques. They all amount to "If you can't do thing-X I think is super-important, you suck!". Strangely thing-X is different for each interviewer, but yet they act like it's a Universal.

      It probbably shouldn't bother me that people like you have these weird tests that you think can peer into the heart of any programmer, but it does. Programming is kind of weird in that something can outwardly function, but yet be terribly coded. I don't know of many other fields where this is true. I guess that's why people are always looking for these voodoo indicators of whether someone is a good programmer or not.

      --
      AccountKiller
    12. Re:Walk away. by deuterium · · Score: 1

      The problem with evaluating someone's execution phase of development in an interview is, as others have said, it is totally out of context. Sure, the coder should be able to write meta-code, but not everyone is able to perform as well in a Jeopardy-style situation. It usually takes me a little while to come up with an algorithm or class system, but I usually come up with good ones. I also find it awkward to write code outside of an editor, especially if someone were grading me on it. You'd be too hesitant to write a line, for fear of having to erase it in front of the person, and appear unsure. When coding, I commonly find myself moving code, correcting syntax, etc. If your focus in an interview is to see who can come up with answers quickly, and pencil code easily, you'll miss those who, though they don't perform well under social pressure, might be brilliant when allowed some time alone. You'll weed out the social phobics and autistics, who represent a disproportionate number of coders.
      I've only interviewed 6 or 8 people in my life, and my focus was primarily in determining how intelligent the person was and how interested they were in programming. I really don't care about their knowledge of a particular language, or their ability to impress me. I just wanted people I knew would be smart/logical enough to solve a problem, and who also had the enthusiasm and pride in their work to see them through. Probably the only specific thing I gave credence to was their job history. If they tended to hop from job to job constantly, I considered that relative to the other applicants.

    13. Re:Walk away. by AJWM · · Score: 1

      these weird tests that you think can peer into the heart of any programmer

      I'm not (much) interested in peering into the heart of a programmer, but into their mind. And it doesn't have much to do with whether they can generate correct code or not; generating correct code is so easy that even a computer program can do it. It has a lot to do with how adaptable the programmer is -- is this guy going to be any good two years from now when the technology has changed? (Granted, interviewing style is going to be different if you're just looking for someone for a 3-month project vs a permanent long term hire.)

      Programming is kind of weird in that something can outwardly function, but yet be terribly coded. I don't know of many other fields where this is true.

      Geez, look at the internals of almost any consumer device, or look at a house under construction, or... etc. It's true of almost anything where the manufacturer/builder can wrap a pretty skin around it that will hold up for a minimal amount of time. That's why there are things like electrical codes and building codes and inspectors. Software isn't quite there yet, except in certain critical fields like avionics. If commercial software had to have something equivalent to a UL certification, the whole field would collapse overnight.

      Most people looking for "voodoo indicators" are probably techies who don't really have a clue how they themselves do what they do, so they don't know how to look for it in other people. (Having miserable people-skills in the first place may have something to do with that, too.)

      On the other hand what you may think is a voodoo indicator may actually be something that is important to the project/company and extremely relevant in the interviewer's experience, or that they're using that to find out something other than what you think they are.

      An example: one of my fellow senior programmers/technical interviewers at a company where the work involved a lot of computational geometry was fond of asking about finding convex hulls. Unlikely that anyone could give a good technical answer off the cuff unless they'd just completed a course on it or had worked in that field for a while -- and even then there's no single right answer. That wasn't the point; the point was to see how the candidate reacted to the question. Being ignorant was okay so long as they were honest (extra points for coming up with some intelligent suggestions for finding out the answer) -- we had a database team, a UI team, etc where that kind of mathematical knowledge wasn't as important. But trying to bullshit your way through an answer was fatal. If you started talking about boats, you might be shown the door right then ;-)

      A candidate might view that question about computing a convex hull as a voodoo indicator, especially if they didn't know the answer and they didn't get a job offer. But they might have blown the interview for totally unrelated reasons -- as might well have somebody who could discourse at length on the relative merits of various convex hull algorithms.

      --
      -- Alastair
    14. Re:Walk away. by AJWM · · Score: 1

      You'd be too hesitant to write a line, for fear of having to erase it in front of the person, and appear unsure.

      Yep, and I'm really not interested in hiring someone who lacks that kind of self confidence. I'd rather have somebody write a few lines of code, say "nope, this is wrong", erase it and start over, than have someone too paralyzed to do anything.

      If your focus in an interview is to see who can come up with answers quickly, and pencil code easily, you'll miss those who, though they don't perform well under social pressure, might be brilliant when allowed some time alone.

      Sorry, it's a business. Programming teams (and I'm not talking XP here) need to be able to bounce ideas off each other, to stand up and do design and/or code reviews, and too-often work under some deadline pressure.

      You'll weed out the social phobics and autistics, who represent a disproportionate number of coders.

      Most coders I've worked with -- and I was in software development for a lot of years -- don't fit that mold. Those that did tended to be bad coders -- didn't follow style guidelines (their way was better), or spent too much time trying to find their own answer to a problem instead of just asking someone else. (Some of that is OK -- I've also seen coders who drive everybody else on the team crazy by bugging them with questions instead of RTFM.)

      --
      -- Alastair
    15. Re:Walk away. by deuterium · · Score: 1

      Well, yes, you need people who are able to work in a group. An interview, however, is much different than such groups. In the group, you've already been accepted, likely have some familiarity with the other members, and have further understanding of the processes, values, and expectations of those involved. In an interview, you typically do not know the interviewer, are in the spotlight, and have not yet been accepted. Much like the interaction between two people on a first date is stilted and awkward, the interaction between married couples is much more fluid and indicative of the members' everyday nature. I also didn't mean to say that all coders are socially inept, just more than in the population at large.
      Being a business, as you say, it's ultimately your choice as to what qualities you evaluate in potential employees. I can't argue against that any more than I can argue that Arrested Development is a hilarious show. I don't really have significant experience in being responsible for finding staff, and doing so efficiently. I have no business experience, per se, and I appreciate (literally and figuratively) those who do. I do know programming, however, and I have experienced and been witness to many speciously good interviewees with strong social skills gain employment where more deeply talented but awkward people have failed. I'm sure the businesses absorb whoever they get, and things still proceed profitably. Big companies can do this.
      Along with gender, weight, age, appearance, and race bias in interviews, social skills are just one of many areas which obscure pure merit. I'm surprised more companies don't employ rigorous application tests and psychological evaluations to replace the caprice of the varied interviewers. It would potentially save time and money, while providing a more standard yardstick to measure applicants.
      Again, I'm not addressing this to you specifically. I read your web page, and you are a card-carrying computer geek. I'm just surprised by the relative lack of thought and resources applied to such an important aspect of building a business.

    16. Re:Walk away. by crystalattice · · Score: 1

      Hell, if I ever have to start dating again, I plan on handing out resumes to my dates. At least that way you can cut through much of the small talk.

      --
      Free Programming BookLearn to program
    17. Re:Walk away. by GWBasic · · Score: 1
      Plus they fell into the cardinal sin of computer science. Never.. Ever.. ask somebody to write answers on a white board. It is not natural.

      Not true! In almost every collaberative design I've been in, we've had to use the whiteboard with psuedocode. Whiteboard code works best with high-psuedocode. In an interview situation, I deliberatly leave room for me to go back and add things. I will also put in things like "Check [some argument]" and say to the interviewer, "I don't think you need me to write out the argument checking."

    18. Re:Walk away. by Vellmont · · Score: 1


      Geez, look at the internals of almost any consumer device, or look at a house under construction, or... etc. It's true of almost anything where the manufacturer/builder can wrap a pretty skin around it that will hold up for a minimal amount of time. That's why there are things like electrical codes and building codes and inspectors. Software isn't quite there yet, except in certain critical fields like avionics. If commercial software had to have something equivalent to a UL certification, the whole field would collapse overnight.

      The difference in those fields is that the flaws will eventually come out. Buildings will fall down, fires will start from bad electrical, etc. With software it may take an expert to look into the code to find that it's totally un-maintainable. It's also widely agreed on what makes shoddy work. That's not necessarily the case with software. What's shoddy work to one person may be golden brilliant code to another.

      --
      AccountKiller
    19. Re:Walk away. by Breakfast+Pants · · Score: 1

      You won't work for my organization if you use block paragraphs and don't space in-between; and I don't give a damn if it is because you are autistic.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    20. Re:Walk away. by AJWM · · Score: 1

      Shoddy code will eventually break. The exception is if the environment it operates in never changes. This is also true with buildings, appliances, etc, except that their environment changes by itself. And I really doubt that you'll find differences of opinion over what constitutes shoddy code. Code style differences, sure, but that's not the same thing. Unreachable code, unused variables, failure to check inputs for domain-appropriateness, undocumented and inappropriate assumptions (cf "all the world's a VAX") etc -- none of this is "golden brilliant" to anybody.

      --
      -- Alastair
    21. Re:Walk away. by AJWM · · Score: 1

      social skills are just one of many areas which obscure pure merit.

      You miss the point: social skills are one of the properties on which an overall figure of merit is based. Communication (which social skills lubricate) is essential. Now, I agree that if some interviewer lets him or herself be dazzled by a candidate's social skills to the point that they overlook significant technical deficiencies, then that's no good either. And some programming jobs take more or fewer social skills than others -- if you're going to be meeting with clients to do requirements analysis or give demos, then social skills are a lot more significant than if you're one of the "boys in the back room" fine tuning the module that calculates the convex hull of some data points.

      And yes, once upon a time I used to think that technical merit ought to be the only yardstick - until I'd been out in the workforce for a few years and observed some programming teams working on medium-large projects in action. School (with a couple of rare exceptions) doesn't prepare you for that.

      I'm surprised more companies don't employ rigorous application tests and psychological evaluations to replace the caprice of the varied interviewers.

      Most companies aren't pushing the bleeding edge so hard that they need technical skills uber alles, and don't have the managers capable of leading teams made up of that sort even if they did. By the time a candidate gets to the interview stage, the company has a pretty good idea (eg from the resume, etc) that the candidate is probably "good enough" technically and the interview is to make sure the resume wasn't padded and that the candidate will fit in with the existing employees. When a candidate has gone through a round of interviews, the hiring manager generally has two questions of the interviewers: "does he know his stuff?" and "will he fit in?".

      (That said, a company doing bleeding edge work will definitely do a pretty rigorous technical appraisal often including tests. They can't afford the merely "good enough". An interview I did at a company building supercomputer clusters was like that -- I've had college finals that were easier. I passed, but alas the company re-orged and eliminated the position (and a few others) before the start date.)

      --
      -- Alastair
    22. Re:Walk away. by deuterium · · Score: 1
      By the time a candidate gets to the interview stage, the company has a pretty good idea (eg from the resume, etc) that the candidate is probably "good enough" technically and the interview is to make sure the resume wasn't padded and that the candidate will fit in with the existing employees.


      This is what I assume is the case. My primary limitation in this topic is that I've never worked for a large company. I work in a very small operation where each member must be pulling their weight. Your statements are informative, and worry me. If I ever do want to work for a large corporation, I have no real experience working in teams. I'm sure I could adapt, but I'm also sure there will be someone else as qualified who has such experience. I'm not as socially inept as my prior arguments might suggest, and relate quite easily to people professionally. Perhaps the advantage of a personal interview is that I can demonstrate such abilites in person, though I may not have a demonstrable history of doing so.
      Anyway, I just wanted to thank you for taking the time to share your experience with me. Slashdot has proven a great resource for picking people's brains.
    23. Re:Walk away. by deuterium · · Score: 1

      You know, I've never noticed that about myself, but after reading your comment I find everyone does indeed space their paragraphs. Point taken.

    24. Re:Walk away. by Fulcrum+of+Evil · · Score: 1

      What are you talking about? Sending a portfolio and a website which, I assume, describes what he does in detail is way better than a resume. If you're asking for a resume, you probably want to go over it right there instead of talking to the guy (which is way better, btw). You don't have to be a techie to describe your problem.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  3. what to do as the job seeker? by Surt · · Score: 3, Insightful

    Probably you want to realize the company doesn't care enough about its hiring practices to have a bright future, and move on.

    If you're an employer, you want to make sure that your interviewers have a strong enough grasp of the interview questions not to be wrong about possible valid answers. Allowing inexperienced developers to interview candidates is a recipe for disaster. You don't build a quality company by delegating this task to the inexperienced. You accept that this is work that is best done by your most experienced people, and that it is one of the most valuable uses of their time that you can make.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    1. Re:what to do as the job seeker? by Breakfast+Pants · · Score: 1

      I'm pretty sure the guy is talking about Amazon. So look, they let him interview with some inexperienced people right? These are the people that are probably going to be on the team he is joining. This is more of a 'does he fill the role we have open in our team' thing. But what he didn't mention is that they end your day with what they call a 'bar raiser', a guy who is very experienced and valuable to the company (except for Steve Yeggy). So, I think they have your objection covered.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  4. 20 years? So what? by zer0man · · Score: 5, Insightful

    20 years experience doesn't mean much. I have heard/seen candidates bullying interviewers with their credintials (I've got a PhD in Computer Science) or experience (I've been coding since you were in diapers) and yet still fail to reverse a linked list in-place, or fail to explain the basic idea of hashing.

    It bothers me, as an engineer with some experience, to be subjected to the humiliation of 'the interview loop', yet having been involved in hiring I absoluately see why it is needed -- people, well, inflate their credentials when it comes to looking for work. So companies essentially ignore past work experience and ask questions relating to specific engineering problems to try to see what kind of developer you are. Sometimes the interviewer is bad, but that's why it's a "loop" there are at least 4 of them, and one of them should be a more 'senior' interviewer who holds more sway (that is if i'm guessing correctly at your 'leading online retailer').

    True, the system isn't perfect. You could be a brilliant engineer, but can't reverse a string. But with the amount of money that is invested into an engineer by the company as high as it is, they company doesn't want to be wrong.

    1. Re:20 years? So what? by tgd · · Score: 5, Insightful

      The problem with the position you described in your reply is that its not really applicable to software development.

      An engineer with 20 years experience knows a few things:

      1) He hasn't had to reverse a linked list in 23 years.
      2) There are framework functions to reverse a linked list. Who cares how they work.

      Questions like that are VERY age-biased. Because only someone right out of school, or someone with their head so buried in the code would remember that on the spot. Experienced engineers will tell you how to manage the development process, how to write code that is engineered to be testable, can actually explain software architecture and will do a FAR better job solving real world problems.

      Why? Even if you DO need to reverse a linked list in a situation where you can't use framework functions to do it, an experienced engineer can pretty easily punch in a few google keywords.

      No amount of googling will give a kid out of school an understanding of how you really engineer software in the real world.

      The only time I would consider asking questions like that to an experienced engineer (and I ripped off a similar one I got asked at Microsoft way back when during an interview today) is if I've already decided someone isn't a fit for some totally unrelated reason and I need a quick way to quantify that.

    2. Re:20 years? So what? by kingkade · · Score: 4, Informative

      1) He hasn't had to reverse a linked list in 23 years.

      Irrelevant, it's a basic problem.
      2) There are framework functions to reverse a linked list. Who cares how they work.

      See (1), it demonstrates problem-solving skills and it's not an unreasonable problem to solve. It may be insulting if you think they think you're that much of a dolt that it'd be challenging. But otherwise it's not hard at all if they give you enough time.

      And let's say it is in that framework: you need to understand linked lists anyways if your problem uses lists that needs to be searched, you would know that using the list would be unwise.

      And say you do "Google it". How do you verify that the code is correct? "oops this is code to reverse a circular linked list...ummmm."

      I agree that you should probably not insult the guy's intelligence with such a question, or asking hm the question and giving a gameshow time limit.

      And inane questions too. I had some guy ask me "what data structure would you use in designing a database application?" You just have to be gracious, don't act snobby, and "suck it up" like someone said. Joke about it later with his co-workers ;)

    3. Re:20 years? So what? by AuMatar · · Score: 4, Insightful
      1) He hasn't had to reverse a linked list in 23 years.


      He doesn't need to know it immediately, but he damn sure ought to be able to figure it out quickly.

      2) There are framework functions to reverse a linked list. Who cares how they work.


      If you don't know how it works, you don't know how a list is used. You don't know when its appropriate to use it versus other data structures. If needed, you wouldn't be able to create a hybrid data structure. So yes, it matters if you can't figure it out with a minute or 2 of thought.

      If you can't get simple problems like that, its not worth my time to do the rest of the evaluation.
      --
      I still have more fans than freaks. WTF is wrong with you people?
    4. Re:20 years? So what? by nacturation · · Score: 1

      An engineer with 20 years experience knows a few things:

      1) He hasn't had to reverse a linked list in 23 years.
      2) There are framework functions to reverse a linked list. Who cares how they work.

      Questions like that are VERY age-biased. Because only someone right out of school, or someone with their head so buried in the code would remember that on the spot.


      Oh come on. Reversing a linked list really isn't hard. I don't think I've ever had to do it and with about 15 seconds of thinking I can easily picture the exact procedure. Maybe I won't get the C syntax 100% correct, but I can sure as hell describe the process of doing it. If your experienced engineer needs to google for the answer, then you're probably hiring a manager and not someone with coding experience.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    5. Re:20 years? So what? by NialScorva · · Score: 1

      Frankly, I think the best answer to the question is not a straight answer, but a "I would research it to find the cannonical answer with the best complexity for our expected data, but for a general first-pass solution I would try X". The sophomore study group problem is about asking for programming trivia rather than programming approaches. Programming is easy. Managing the complexity of a software project is hard. A real question would be bring in real situations and ask for an approach:

      We have a C++ cross compiler to a custom platform. Template support is not sufficient to allow usage of the STL. Our model will require a lot of insertions, removals, and reversing of an ordered but unsorted list. At a later date, the list may need to be sorted quickly, but that is not a requirement for revision 1.0. How would you meet the requirements for this basic data structure and manage future needs?

      A good interviewer asks open-ended questions that prompt the interviewee to explain his accomplishments or show off his ability to produce in a tight situation. If their answer is "google it," then a follow on to that answer must contain an explaination of validation, testing, and maintenance. Simply asking how to reverse a list tells you nothing about their abilities except they remembered the right paragraph in the right volume of Knuth.

    6. Re:20 years? So what? by Rakishi · · Score: 1

      1) He hasn't had to reverse a linked list in 23 years.
      2) There are framework functions to reverse a linked list. Who cares how they work.


      It's an easy problem, being unable to solve it without pre-made functions shows an inability for critical thinking. Heck the question is more valid for experienced programmers as out of college students will have it memorized not have to derive it on the spot.

    7. Re:20 years? So what? by dgatwood · · Score: 1

      Reversing a linked list is trivial. Reversing a singly-linked list without ever making any nodes completely unreachable is far trickier.... Now that would be a fun problem to ask somebody in an interview. I think the solution would look something like this:

      Create a variable "newtail". Make it a NULL pointer. Recurse to the end of the list. On your way back out:

      • Change the current (now last) node's next pointer to be your newtail pointer's next pointer (assuming newtail is not NULL).
      • If newtail is NULL, change the current node's next pointer to point to the head of the list, then change the value of head to point to the current node..
      • If newtail is not NULL, point newtail->next to the current node. This breaks the loop.
      • Increment newtail unless newtail is NULL, in which case set newtail to point to the original head value (curnode->next).
      In this way, newtail always contains a pointer to the node after which you are going to point, and you are constantly tying the end of the chain back to the point immediately after the the last node inserted, then rotating the resulting loop by one position so that the last node inserted now points to the former tail of the list. :-D
      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    8. Re:20 years? So what? by AuMatar · · Score: 1

      Waaay too complicated.  Here's the real algorithm, in C (no I didn't look it up-  it took about 5 minutes to code from memory).

      struct node {
        node *next;
        int val;
      }

      //Reverse a list
      //input- list head
      //output- list head of reversed list
      node* reverse(node *head){
        node *previous,*next;

        //Avoid null pointers
        if(head==NULL)
          return NULL;

        //Handle the old head, special case logic
        next=head->next;
        head->next=NULL;
        previous=head;

        //For each node, set its next pointer to the last node, then increment the current node
        while(next!=NULL){
          node *tmp=next->next;
          next->next=previous;
          previous=next;
          next=tmp;
        }

        return previous;
      }

      --
      I still have more fans than freaks. WTF is wrong with you people?
    9. Re:20 years? So what? by Anonymous Coward · · Score: 0

      I'd agree with you and add: if you have to reverse a list you just built, you built the list wrong.

      One thing that experience has taught me is that the less code you can write, the less can go wrong. Programmers should hate the process of writing code, so that they write and maintain as little of it as possible to solve the task at hand. Abstract the data flow into neat little boxes, then keep those boxes as streamlined as possible, eliminating as many data transforms as you can.

      If you want to walk through the list backwards, you probably built it in the wrong direction, or intended to build a doubly-linked list (with a convenient "m_pTail" pointer and "Prev()" function accessors on the members) in the first place.

    10. Re:20 years? So what? by Aceticon · · Score: 4, Insightful
      I suspect it all depends on what kind of position is someone being interviewed for:

      - A programmer should remain familiar with the basic principles of creating code that runs efficiently. A more senior programmer is expected to be efficient at creating such code and to make easier to maintain code.

      - A software designer is expected to be aware of the importance of compartimentalization of information and division of responsabilities across the design, and of the tradeoffs between flexibility, maintenability and performance when making a design. A more senior designer should be well versed in communicating the design and the rationale behind it to the developers, and of keeping a record of the accepted and rejected designed decisions and the reasons behind it (such a record can be used latter when changes in requirements might mean that the rationale for choosing a certain design feature instead of another one is now not valid anymore).

      - A technical architect is expected to understand the issues of scalability, inter-application connectivity, fallback solutions. He should be capable of defining standards which promote efficiente development, maintenability, robustness and/or lower number of errors, all supported by a well document, internaly consistent rationale. He should be an expert at communicating these solutions to the developers and designers. He should be aware of the development process and ensure that the right tools are chosen/provided for the right job.

      [Note: there's a lot more than just this]

      Now, if you're interviewing for a technical architect position, which is more important:
      • Somebody that knows how to reverse a circular linked list out of the top of their heads and can do it in 5 minutes on a whiteboard
      • Somebody that can hammer down an Interface Requirements Specification for connecting two sub-systems being developed by different contractors


      In my experience there's a limited amount of seniority (in knowledge and wisdom) that you can achieve as a programmer before you find out you've turned into a software designer (in all but name) - if you're still selling yourself as a programmer by then (say, because you like programming and can't stand the boring parts of software design like making long documents and doing presentations), expect to have to go through "just out of school" questions in an interview when applying for a programmer position, even if you're insanelly experienced for a programmer.
    11. Re:20 years? So what? by drsquare · · Score: 2, Funny

      Experience is overrated, old people are generally stuck in their ways, you only have to read the posts on here from experienced programmers telling everyone how awkard and difficult they are.

      It makes sense that a company would target younger workers who are more cooperative and pliable, they have more potential than the old beard in a crusty sweater who wants to sit in his cube and grumble about how he's not allowed to write everything in machine code with ed.

    12. Re:20 years? So what? by stickb0y · · Score: 1

      First, when most people say "linked list", they often mean singly-linked list. And reversing a singly-linked list is trivial too, but people seem to overthink it and make it harder than it actually is. Reversing a singly-linked list is one of those deceptive problems for which lots of people think they should use recursion but really shouldn't. Recursion actually makes it harder.

      If you apply an iterative approach instead, I'm sure you'll find that reversing a singly-linked list is much, much easier. Simply treat the linked list as a stack, and as you pop elements off, push them onto a new stack.

    13. Re:20 years? So what? by ultranova · · Score: 1

      1) He hasn't had to reverse a linked list in 23 years.

      I've never reversed a linked list, and it took me all of ten seconds to figure out how to do it. It's a test of logical problem solving capabilities, not the ability to route memorize algorithms.

      2) There are framework functions to reverse a linked list. Who cares how they work.

      Propably no one. How the applicants mind works, however, is quite interesting to anyone who would hire him. And the best way to find out is to observe that mind at work.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    14. Re:20 years? So what? by Anonymous Coward · · Score: 0

      How can you "fail" to reverse a linked-list in place? What was the question, "reverse this list"? In what language? With what assumptions?

      Reversing it in place is only correct if all of the following apply:

      1. No-one still has access to the original list
      2. The list elements are mutable
      3. You explicitly asked him to optimize the code under assumption (1)
      4. The language does not use efficient garbage-collection

      If any of these fail to hold you should copy it. (1) and (2) are obvious. (3) by Knuth's law. (4) by understanding functional optimization.

      I doubt many PhDs would really enjoy working with you anyway.

    15. Re:20 years? So what? by Anonymous Coward · · Score: 0
      How does recursion make it harder? I can write a recusive definition down, but I'm not sure it would be as quick to write and verify a non-recursive definition.
      (defun nreversex (list rlist)
        (let ((elt list)
              (list2 (cdr list)))
          (setf (cdr elt) rlist)
          (let ((rlist2 elt))
            (if list2
                (nreverse list2 rlist2)
              rlist2))))
       
      (defun nreverse (list) (nreversex list nil))
      This is just as efficient as an iterative version assuming your compiler does tail-call optimization.
    16. Re:20 years? So what? by steinnes · · Score: 1

      "And let's say it is in that framework: you need to understand linked lists anyways if your problem uses lists that needs to be searched, you would know that using the list would be unwise."

      I just wanted to say in response to this sentence, that I think the poster to which you replied, did not include the possibility of people applying for software engineering positions without understanding as basic data structures as linked lists.

      Also, understanding how a linked list works, and writing the code to reverse it in a matter of minutes isn't really the same thing, I completely agree with the original poster on the argument for using framework functions -- I mean, it's been about 6 years since I had to write linked list functionality by hand, and if it would take me more than a few minutes to write it on the spot today does not mean I don't understand such a basic data structure.

      Also the point about googling it is not about copy/pasting random code, it's to find a formal description of the algorithms available to solve your task, and perhaps pseudo-code to base things on -- google will not help you if you don't understand enough to use it correctly.

      Heheh, also on the "what data structure would you use to in designing a database application" -- I would not be able to suck it up, I mean, how do you answer that? "Oh depending on the application, I'd probably use an Incompe Tent Asshat Tree.." -- that question is just too stupid ;-)

    17. Re:20 years? So what? by marcomarrero · · Score: 1


      Sometimes is not about remembering how to do it... Experience tells us that is just plain wrong to do things quickly, without testing, without planning, without knowing how things work in the company, and without checking if someone (there) has written that before. And that's usually how things have to be done anyway...

    18. Re:20 years? So what? by bytesex · · Score: 1

      OT and nitpicking - but.. at what point in computer science history did a 'library' get to be called a 'framework' ?

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    19. Re:20 years? So what? by Anonymous+Brave+Guy · · Score: 1

      As they say, young men think old men to be fools, but old men know young men to be fools.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    20. Re:20 years? So what? by bitbucketeer · · Score: 1

      You don't realize it, but you've just proved the guy's thesis. A 20-year experienced software engineer doesn't write such low-level code anymore because they know there are libraries that have optimal implementations. And they don't Google for the code because they have bookshelves of books of code that pre-date Google so that they didn't waste time constantly re-inventing the wheel. They know what page to go to and in which Knuth book. A truly experienced programmer operates at a level of abstraction that is much higher than what you seem to be testing for, so I would suspect that you let lots of particularly well qualified candidates go. That's bad for you, but probably good for them.

    21. Re:20 years? So what? by stephenbooth · · Score: 1

      I'm not sure but I first started hearing it around the time that .Net started to appear so I'd guess there's some sort of connection. I'm not a developer anymore myself (I started out as a C developer but I'm more of a DBA + UNIX admin + Project Management type now ) but I work with them. I have heard 'framework' used in relation to C, C++, Delphi, Python and PERL a lot of late. Sometimes it seems to be in the context of a library but also it seems to be used in the context of a template.

      To pick up a point I've noticed mentioned or alluded to in a number of comments, the difference between a new and experienced programmer. The main difference I'd expect to see is that a new programmer would probably be very narrow focused (great depth of knowledge but not much breadth) whilst an experienced programmer would probably not have the depth of knowledge (we forget the stuff we don't use) but much more breadth. Depending on the sort of environment you expect them to work in you'll hire one or the other. If you want a code monkey who'll write mathematically perfect code in isolation to precise specs then you hire the straight out of university person, if you want someone who will produce working code to business requirements then you go for the grey hair.

      Stephen

      --
      "Don't write down to your readers, the only people less intelligent than you can't read" - Sign on Newspaper Office Wall
    22. Re:20 years? So what? by flooey · · Score: 1

      OT and nitpicking - but.. at what point in computer science history did a 'library' get to be called a 'framework' ?

      I've always felt they were two different things. A library is a collection of tools for performing a particular job or set of jobs that you call into. A framework is a set of code that calls into you (though it probably contains code you can then call). You make requests of libraries, frameworks make requests of you. In this case, I'd definitely say any linked list code is library code.

    23. Re:20 years? So what? by poot_rootbeer · · Score: 1

      1) He hasn't had to reverse a linked list in 23 years.
      Irrelevant, it's a basic problem.


      It's a basic problem that already has a solution in just about any framework where the ability to reverse a linked list might be needed.

      The correct answer to such an interview question ought to be "I would look in the docs for the linkedList class to find the syntax for the reverse() method. Then I would call it."

    24. Re:20 years? So what? by nacturation · · Score: 1

      Recursion won't work very well on a linked list that has ninety million items now will it? You can just go through one by one. You have a pointer to current, a pointer to next. Store the next's next pointer in a temp variable and assign the next's next pointer to current. Keep going through the list until next is null, at which point you're at the head. Reassign the head. Handle the outlying cases (null list, one item list, etc.), clean up for my bad wording, and there's your algorithm.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    25. Re:20 years? So what? by Godeke · · Score: 3, Insightful

      What I find amusing here is the request to "reverse a linked list in place". Talk about your WTF worthy request. Is it singly or doubly linked? If it is doubly linked, why the heck would you want to reverse it: just make an iterator that walks from tail to head instead of head to tail. Done and done, minus all that nasty moving data around. If you really want it to be permanent reversed, swap head and tail.

      If it is singly linked, why the heck would you want to do it in place when constructing a new reverse link list (effectively making the list doubly linked) will allow you to avoid moving a single piece of data and yet again walk the data in reverse efficiently. Just add the head link as "tail" and then iterate forward, prepending elements into the new list. Now walk your new reverse link chain.

      If you really really want to reverse in place, then I ask how the heck you managed to load your data in backwards in the first place. Only after you could explain that would I bother with the fact that the previously mentioned reverse link list can just be used to swap pointers by chaining both directions at once. Of course, such an operation requires a locking mechanism for the list as a whole and I'm going to guess that any software that requires swapping a singly linked list in place probably doesn't bother doing that. Bleh, how did your poor program end up in such a muddle.

      You see, such a question in modern development is best answered MU: un-ask the question and examine the root causes. Sadly, some people around here would find the idea of actually unmasking the root problem to be offensive and get angry that their toy problem wasn't considered a serious request. Toy problems don't show you understand anything except how to code toys. Large systems are not toys, and employing people who are good with toys, but not with large systems is a bad idea. The good news: people who ask toy problem questions instead of being concerned that you can understand the real issues are not people you want to work for.

      --
      Sig under construction since 1998.
    26. Re:20 years? So what? by koreth · · Score: 1

      I'll be interested to hear your perspective on that issue in 10 years or so. At what point do you plan to become stuck in your ways?

    27. Re:20 years? So what? by curunir · · Score: 1

      The other thing the submitter never considered (probably because he sees himself as superior to all those 20-somethings that were interviewing him) is that some of what he saw could have been done on purpose. I work for a small company with an engineering department of less than 10 people. We've learned the hard way that personality fit is just as important as technical aptitude. For that reason, when I interview someone, I usually take more than 2 hours and am observing not only how the applicant answers technical questions but how he/she reacts to subtle interpersonal dynamics.

      For example, around 45 minutes into the interview, I will typically assert something I know to be incorrect and I'm relatively certain the applicant knows as well. You can tell a lot about someone based on their reaction to this situation. They can become defensive and unwilling to listen to your point of view. They can also become subserviant and agree with you even though they really don't. Or they can calmly present their argument for why they believe what they do and then listen to your response. While individual reactions will mostly vary somewhere in between these options, I'm looking for one closest to the calm, productive argument. This indicates that the person isn't all that prone to personal conflict based his/her ego. In a typical 2-3 hour interview, there's about 8-10 situations I'll create to test how an applicant's personality will interact with our team. IMHO, these kinds of interview techniques are especially important when interviewing technical candidates because there are so many of them with abrasive personalities who have never been forced to work on their interpersonal skills because they could always get by on their technical skills alone.

      As an aside, I did have one interviewee actually call my on my techniques mid-way through the interview. I proposed an overly convoluted way of handling a problem he wasn't entirely sure about technically and his response was, "Why do I have the feeling you're not only testing my ability to notice when something can be done in a simpler manner but also how I'll react when something like this comes up?" We ended up hiring him despite the fact that he needed a bit of technical training to come up to speed and in retrospect it was absolutely the correct decision.

      So basically the non-long-winded point of this rambling is that if you're interviewing, don't underestimate how important it is that an applicant can effectively fit in with the rest of the team and if you're the one being intervied, realize that it's not just your answers to the questions that count, it's also the way you answer those questions.

      --
      "Don't blame me, I voted for Kodos!"
    28. Re:20 years? So what? by rogergregory · · Score: 1

      Reverse a linker list in place. Thats a hard problem because:
      Why in place? What are the limitations:
      1) is there a limitation on memory? on stack?
      2) what are the virtual memory constraintsIn fIn Fortran, traversing a linked list gratuiously can really screw things up. On a garbage collector I once debugged, the linked list included a lot of memory, you didn't wnat to traverse most of it at once, just a little (it was an incremental gc).
      3) what are the relivant optimization priorities. This doesn't matter if the list is small, but there are tricks if the list is large.

      In fact I don't remember a good way off the top of my head, but my solution would depend on the answers to these and other restrictions, threads, multi processor, language ...

      Discussing these would probably give me anough time to reinvent the solution in the background.

      I don't resent this kind of questions, it's the language and library specific ones that annoy me. I've learned and forgotten so many languages and dialects that having to learn one for a job is no problem. For an interview however, it's barely worth remembering details, let alone a large set of libraries. Java for instance is a very simple language, the set of stuff that it scomes with is unending, and probably grows faster than a mortal can read, let alone be familar with.

    29. Re:20 years? So what? by crystalattice · · Score: 1

      My God, you just described some of the people I work with. One guy has probably 25+ years experience on Unix and procedual programming models. Learning Python is kicking his butt because he can't get OOP (granted I didn't get OOP the first time I learned it in Java and C++; it wasn't until I learned Python that I figured it out).

      However, both him and another lady are continually talking about how good it was in the old days when you programmed in Assembly cuz you knew exactly what the program was doing. Procedural programming "is da bomb" since it just goes down the line; you don't have to think about encapsulated classes and all that other jazz.

      I'm not denying they have a lot of knowledge and they have nothing to teach us "young 'uns", but trying to get the useful knowledge from all the dead-weight can be tiresome.

      --
      Free Programming BookLearn to program
    30. Re:20 years? So what? by dgatwood · · Score: 1

      You didn't read what I said. I wasn't trying to solve the problem of reversing the list. I was suggesting a way to solve the much more entertaining problem of solving the problem of doing so without any node becoming unreachable. Your solution does not achieve that, as the entire remainder of the list becomes unreachable in your second step.. You might be able to do what I was asking for without recursion, but without a local stack (pseudo-recursive) or a doubly-linked list, it would be O(n!), I believe.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    31. Re:20 years? So what? by dgatwood · · Score: 1

      That fails to solve the different problem I posed, which was to do so without making any node unreachable. Yours fails to solve that problem in the fourth line of actual code where you set head->next = NULL.

      The application of such a problem is largely of interest in multithreaded operation, and only when either combined with loop detection or with guarantees that the node that another thread is searching for is in the list somewhere, but... it still is a neat problem.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    32. Re:20 years? So what? by dgatwood · · Score: 1

      Like everyone else who replied to me, you failed to notice that I was posing a solution for a different problem, that of doing so without making any node unreachable even temporarily. It's a much harder problem because it requires that there always be a path from head that will pass through every node. This can only be achieved by creating a loop. This, in turn, requires you to start at the end. With a singly-linked list, you cannot do this in a nonrecursive manner without the complexity going way up.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    33. Re:20 years? So what? by dgatwood · · Score: 1

      Actually, in hindsight, it's O(n^2). It is still incredibly painful to write without recursion.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    34. Re:20 years? So what? by nacturation · · Score: 1

      Yes, I did read what you said. Assuming you're not just trolling, then clearly you're not understanding as you didn't understand what the other person who posted C code wrote. The remainder of the list isn't unreachable as you're storing a temporary pointer to it. http://pegasus.rutgers.edu/~elflord/cpp/list_howto /#simple_implementation -- be sure to read the commentary on the code which explains how the reverse function works. It's O(n). See also Knuth's Art of Computer Programming, Volume 1 for this similar singly linked list reversal code.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    35. Re:20 years? So what? by AuMatar · · Score: 1

      Wrong. Notice that I set head->next into a temp variable. The entire list is still reachable. Unless you mean at no time during the operation of the reverse do you want any node to even be temporarily unreachable- in which case the solution is not possible in place (you need to build a separate list and insert the elements in reverse order there).

      --
      I still have more fans than freaks. WTF is wrong with you people?
    36. Re:20 years? So what? by Breakfast+Pants · · Score: 1

      If you can't figure it out on the spot in a fairly short amount of time you have reached an age where you aren't learning nearly as fast as you used to. It isn't about having a canned answer, the elements of the problem are so simple that you should be able to work it out on the spot, explain your logic, perhaps getting corrections from the interviewer when you posit a bad assumption. This is what they are looking for--your thought process.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    37. Re:20 years? So what? by Breakfast+Pants · · Score: 1

      Let's say you have a list that is millions of elements long, and an algorithm you use has to iterate over it thousands of times, and then iterate over it in reverse thousands of times, then iterate the reverse of that thousands of times.. continuously all day. You might say 'use an array dickwad', but lets say in your iterations you are constantly adding and removing elements all over the place. Making the thing a doubly linked list is going to use up loads of extra memory if your node data is small relative to pointer size. So there, there is a convoluted situation. You just do one single O(N) reversal once every thousand iterations. If all you can come up with is O(N^2), you suddenly can make a case for a doubly linked list, but O(N) is easily acheivable.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    38. Re:20 years? So what? by ModMeFlamebait · · Score: 1
      Sigh...

      Consider a multithreaded program, where one thread walks though the list while the other is reversing it. Your O(n) solution:

      thread 1 (reversing list):
      tmp = head->next;
      head->next = NULL;
      thread 2 (walking though the list):
      p = head;
      // ...
      p = p->next; // NULL
      So who the fuck cares about your temporary variable? Sure, you don't leak list elements but you're solving a different problem.
      --
      Pavlov. Does this name ring a bell?
    39. Re:20 years? So what? by stickb0y · · Score: 1

      Okay, sure, but it sounds like you're making up arbitrary requirements so your problem fits your solution. Your requirements themselves seem purely academic. Fine, you make it so no node is unreachable temporarily, but why would you need that? The pointer manipulations should never fail, so you never should exit the loop prematurely.

    40. Re:20 years? So what? by stickb0y · · Score: 1


      You wrote a tail-recursive solution. That's isomorphic to an iterative loop, and is not what I meant by "recursive". In languages that don't provide iteration primitives (or languages where they're not commonly used, e.g. Lisp/Scheme), recursive vs. iterative usually means "non-tail recursive vs. tail-recursive".

    41. Re:20 years? So what? by nacturation · · Score: 1

      Consider a multithreaded program, where one thread walks though the list while the other is reversing it.

      Okay, so now it's multithreaded. Is there a reason why you wouldn't use resource locking, synchronization, etc. to handle this case? And, stepping back, if the amount of time to reverse the list and the frequency of requiring to do so makes it inappropriate to lock off the entire list and make other threads wait on a resource, then perhaps the design was faulty and it would have made more sense to have it as a doubly linked list.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    42. Re:20 years? So what? by Godeke · · Score: 1

      Assuming that the requirements somehow demand such silly long term reversals and your data is pointer sized and you somehow can't afford the 50% size increase that a doubly linked list would cost, yes, I guess such a method would be valuable.

      However, I would still persue my original line of questioning: if it reached this point, surely an in place reversal algorithm has been proved reasonable and correct.

      I would still value an employee who could realize how esoteric this situation was and asked questions that tried to normalize the situation first before implementing something silly over one who jumps in and just implements what he is asked, because "that's what the boss wants".

      --
      Sig under construction since 1998.
    43. Re:20 years? So what? by Fulcrum+of+Evil · · Score: 1

      Who cares how they work.

      You had better care. If you don't, then you'll be scratching your head at 10pm wondering why the system is so slow.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    44. Re:20 years? So what? by Fulcrum+of+Evil · · Score: 1

      If your data is small, then make the list hold multiple nodes (say 10) in each node. Now the data isn't small; add a reverse link and wrap the whole thing up in a List abstraction. Duh.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    45. Re:20 years? So what? by Breakfast+Pants · · Score: 1

      I bet you were one of those kids in Philosophy 101 that slowed the whole class down and made everyone angry because they couldn't grasp the meaning of "hypothetical situation".

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    46. Re:20 years? So what? by Dark_MadMax666 · · Score: 1

      Linked list is such a a trivial problem to solve that I think the person who can not solve it is simply too dumb to be an engineer.

    47. Re:20 years? So what? by Godeke · · Score: 1

      Asking a hypothetical question is fine; asking one in an interview where the candidate will never use the skill the hypothetical question tests for is another. I hire people... asking stupid questions isn't one of the practices I follow when doing it.

      --
      Sig under construction since 1998.
  5. Well, you come across as a pompous ass by Cybert4 · · Score: 0

    So maybe that's a problem. Eh?

  6. Simple -- don't work for 'em... by Anonymous Coward · · Score: 0

    An interview should be more about interviewing the company than them interviewing you. This sounds like a place I would not like to work at because they do not value design. That being said, Byzantine Generals have no value in today's workforce. It's all about machine guns now.

  7. Life is a simulation. by Anonymous Coward · · Score: 0

    Your post is one way of looking at it. Here's another. It could be a simulation of the requirements process. Testing how well you can handle them.

    1. Re:Life is a simulation. by IBitOBear · · Score: 1

      The requirements process goes the other way (IMHO of course). Were this a simulation of requirements process and development then I would never hire someone who wrote their own "bsearch an integer array" when there was a library function that was tested and proveably correct staring up out of the core C library that did that exact thing.

      Re-inventing (and debugging) the wheel just for the elan of it isn't something a smart company want to have its six-figure developers doing... 8-)

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    2. Re:Life is a simulation. by GoofyBoy · · Score: 1

      "I would never hire someone who wrote their own "bsearch an integer array" when there was a library function that was tested and proveably correct staring up out of the core C library that did that exact thing."

      Thats like saying you would never take serious any programming language that used a "Hello World" program as an example because there is never a need to write one.

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    3. Re:Life is a simulation. by Anonymous Coward · · Score: 0

      "Thats like saying you would never take serious any programming language that used a "Hello World" program as an example because there is never a need to write one."

      No it isn't.

    4. Re:Life is a simulation. by Tower · · Score: 1

      Well, I think there is a lot to be taken into account. What kind of environment and what language/compiler are you using?

      Is this in Java, where the library does contain this function?
      In C++ is STL or another appropriate library available?
      Is this an embedded application where there isn't a library available or the compiler can't handle templates?
      Does the search have to worry about locking (reentrant use by other threads adding/removing nodes while you are searching)?
      Does the routine need to be stackless or close to it because it may be running in a limited context (interrupt level, on a system timer, etc)?

      There are many wheels that all roll forward... some are good for the racetrack, some are good for the country roads, some are good for bicycles, and some are good for earthmovers. They all have differing requirements - no size fits all.

      Determining what the requirements are and which wheel to use (or if a reinvent is needed) is something a smart company wants the developers doing. Sometimes the answer is obvious... the rest is why you get paid.

      --
      "It's tough to be bilingual when you get hit in the head."
  8. Heh by tgd · · Score: 2, Insightful

    Anyone who has interviewed at that "online retailer" knows exactly what you're talking about. In fact, it leaves no doubt among those who have who you're talking about.

    Its a silly process... they pride themselves on Google-esque hiring practices, but miss the boat. It was the one and only place with a process more rediculous than the Evil Empire(tm).

    My suggestion? Laugh at the guys giving it who imagine themselves big fish in a big pond, leave confident you've got more experience then them, and go work at a company with a better corporate culture. They're a struggling company stuck in the dot-com mentality. Unless you like that (and I'd have to guess with 20 years experience, you've outgrown sardine can working conditions and ego trips), you'll be far happier not working through interviews like that... use them as a sign of how the company works, and look elsewhere.

    There are FAR better places to work.

    1. Re:Heh by Anonymous Coward · · Score: 0

      Indeed, you can learn a lot from a company based on their interview. How many interviews, who with, what they ask, etc. I've had a number of interviews and they've varied a lot. Some, I left wondering how they could possibly decide to hire me based on the questions they asked. In one they asked me truly tedious questions like, how to use the substring method in a Java String.

      I've not done a lot of interviews as the interviewer, but my approach has usually been to pick a difficult question in each realm that the person needs to be familiar with, then ask them to explain the answer. No writing code, etc, I need somebody who can understand a topic enough to explain it to me.

      For example, I was asking about XML experience (their resume said they had experience with XML). I asked them to explain the difference between DOM and SAX. Anybody who's had to programmatically manipulate XML should be able to understand this fundamental concept. The more knowledge they have, the better they are likely to be able to explain the ramifications of each choice in regards to performance, etc. Sure enough, their knowledge of XML was limited to making up tags, etc.

    2. Re:Heh by starkravingmad · · Score: 1

      Completely true. I've been working for about 6 years now, and since my first job out of university I haven't anything to do with linked lists (I know what they are, that's enough). But I *have* had to: - find a threading problem in a 5000 class code base that was causing incorrect amounts to be paid to customers. I succeeded, not by solving logic puzzles but by knowing who to talk to and where to look. It was a one line change that fixed the problem. - learn to refuse to start coding until a complete spec is provided. Okay, everyone knows that.. but I know what a reasonable spec should look like. - learn to knock on doors, annoy people and do what I have to do to get the business requirements right. Coding skills won't take you very far if you don't know what you're coding for. - trawl through a 100 log files to find the cause of today's sudden server death syndrome - know never to trust class diagrams - except as kindling. With the frameworks we have available, coding is 50% soft skills and 50% technical. If I had to learn a new language or do a double linked list, I know I could. When I was fresh out of university I could write the code blindfolded, but I wasn't one-tenth as productive as I am now.. I couldn't explain to business what I was working on or why I needed a new server, get buy-in on my project, estimate timeframes correctly.. nor could I take a wild guess at the source of the problem and be right 90% of the time. When I interview I don't do logic puzzles or university problems.. I give them a real problem I've worked on (like my threading problem) and ask them what's wrong with it - mine was a class variable in a servlet.. or give them a project brief and ask them what they'd need to know before they could start coding. There are a few technical questions as well, but I think I work with a great team. Oh and writing code on a whiteboard would throw most experienced programmers. It's out of context without any tool that they're used to. Also I can't code if somebody's looking over my shoulder (I'm code-shy), but that doesn't make me a bad programmer. I need a keyboard, a pen to chew and a decent editor to code.

    3. Re:Heh by lintux · · Score: 1
      I need a keyboard


      Preferably one with an Enter key, it seems yours is broken right now... ;-)
    4. Re:Heh by Anonymous Coward · · Score: 0

      Yeah I also interviewed with a Leading Online Retailer in the Northwest.

      It was a Product Management Job.

      They sat me in the same conference room ALL day. No idea who I'd be meeting with; no names, titles, departments. No idea how long the day would last or what the agenda would be. None of the usual niceties of a decent lunch or little tour. No idea of even the ballpark of the salary/range they were looking at (other than a comment that we are on the lower-end because our options are SOOO valuable).

      HR didn't communicate flight/hotel info until the last minute.

      No idea that I'd be ending the day with their tech person (who apparently has written a Perl book) who would ask me to write out (on the white board) a "traffic management application." Yes, it was intentionally vague, but he didn't clarify or provide feedback along the way either. Since everyone else loved me, I have to assume that it was this doofus that blackballed me (and I thought it was just a throwaway interview they tacked on to the end of the day).

      What a waste of my time and their money (flight to Seattle, two nights at the W). If they would have provided some basic info, it would have been a LOT more beneficial.

      Still, I got some great sight-seeing in at their expense.

  9. Say it with a sneer by nizo · · Score: 4, Funny
    ...what do you do when you find yourself trapped in a sophomore study group?


    Make sure to make fun of any bogus information in a way that makes it clear any braindead moron should know better. Follow up with a story about a previous co-worker who got fired for thinking that exact same thing. Lastly make it clear that you are glad you have an interview at a competitor later and look forward to helping to crush their inept company. Adding that you will enjoy buying some of their used furniture at the firesale is a nice touch.

  10. From experience, I agree by SlappyBastard · · Score: 1

    I took a job once where they didn't even bother to send me a techie for the interview. While I could do the work, the work environment was awful. If they can't be bothered, you can't be bothered.

    --
    I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
  11. TA problems by rednip · · Score: 2, Interesting
    Over the course of six hours I was repeatedly introduced to a guy in his early twenties, who would then ask me to write out code on a white-board for a problem that you might find in the study guide for a 200-level computer science class.
    I'm quessing that the reason why they are comfortable with those examples is , they were teaching it to undergrads just a few years before. It's likely that the company hired these fools right out of college (or their first job) to be architects, which is likely the job you are looking for. They have little to no project experience, and the only coding they have done is examples rather than real world solutions. We've had a group like this in our company for a couple of years now, besides costing millions every year, all they seem to do is cause headaches for those of us who do the programing.
    --
    The force that blew the Big Bang continues to accelerate.
    1. Re:TA problems by Billly+Gates · · Score: 1

      That is part of the problem. CS snobs like to point out its only science! Go to Devry if you want to learn programming?

      However in the real world what is needed is learning how to spec and project manage programming requirements. That is the number one issue for any real IT project involving code. Coding itself should take the least amount of time and effort and if you follow the principles properly you can achieve near 100% completetion filling out requirements and saving or making your employer money.

      Who cares really about mathmatical oriented things unless you write compiliers or something of that nature? MIS degrees will be the next major thing soon and its not just for PHB's bosses. I for one want to learn how to design projects and lead and having a knowledge of business.

      Otherwise the excuse to outsource to India will only be more valid if computer science snobs who can't turn in their projects and fill requirements but are algorithmetically more correct keep churning out crap.

  12. Summer Experience by D.A.+Zollinger · · Score: 2, Interesting

    I am returning to graduate school this week, and while I attended summer school, some of my classmates did not. Most of us have had professional experience before returning for a master's degree. One colleague of mine took an internship over the summer, and worked on developing a new internal software package. Previously she had been a project manager at a couple of different companies, and had developed a successful strategy for project management. At her internship, she was a project member, and for the first time got to see things from a different perspective. The project was not well defined, and no specific goals were set until much later in the project causing a lot of people to re-work things they had previously created. As well, the project manager had poor communication skills, and did not communicate the status of the project well with members of the project. As a result, she found herself working 19 hour days, and well over a month late on this project.

    As a former project manager, she had the experience, and asked questions about the nature of the project to help flush out details, as well as provide a much more narrow scope for the project. However, because she was the "intern" many of her questions were dismissed, and she was labeled as being "too detailed."

    She has committed to staying with the company until the project is completed, even though it may interfere with classes for the next couple of weeks, but she feels it is her duty to see the project come to a conclusion. As such, she has the skills, resources, and know-how to make the project a reality, but it is my suspicion that the employers were afraid to give her too much responsibility in the company or with the project because of her temporary status. As well, it is obvious that the company does not have a good project manager, and the company expects mediocrity because it knows nothing different. Those who desire to excel may find themselves working against the corporate current, and may ultimately be defeated by it. I certainly wouldn't want to work in such an organization.

    --
    I haven't lost my mind!
    It is backed up on disk...somewhere...
  13. My experience by cperciva · · Score: 3, Interesting
    A couple of weeks ago I did 'the interview loop' at that leading search engine. I had already told my recruiter that there wasn't any point asking me about 200-level material, and aside from one silly question about topological sorting my phone interviewer respected that. When I arrived for my on-site interviews, several interviewers apologized about being required to ask really easy questions. They asked their questions; I provided my answers; they asked why my solution wasn't the same as their solution; I explained that my solution was asymptotically faster; and we moved on to more interesting discussions.


    Having not interviewed at that leading online retailer, I don't know if the situation is the same there; but my impression at that leading search engine was that my interviewers were very quick to recognize that I was more qualified than they were and to adapt their interviewing appropriately.

    1. Re:My experience by uradu · · Score: 3, Funny

      > I explained that my solution was asymptotically faster

      Wow, you probably had them at "asymptotically", at which point they probably all rushed out of the room to consult dictionary.com.

    2. Re:My experience by Achromatic1978 · · Score: 4, Funny

      Now now, that's not right. After all, working at "that leading search engine", they'd have all rushed out the room to consult "define: asymptotically".

    3. Re:My experience by LordEd · · Score: 1

      Actually, at that "leading search engine", they wouldn't have rushed out anywhere because they could send the text message "define asymptotically" to their sms server.

  14. Out of curiosity: where did you interview at? by kingkade · · Score: 1

    It seems i'm the only person who doesn't know what organization you're coyly hinting at. It's killing me...

    1. Re:Out of curiosity: where did you interview at? by Anonymous Coward · · Score: 0

      amazon.com

    2. Re:Out of curiosity: where did you interview at? by FishWithAHammer · · Score: 1

      Sounds like Amazon to me. Has all the hallmarks of it.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    3. Re:Out of curiosity: where did you interview at? by Anonymous Coward · · Score: 0

      Shh! D'yeh wanna get sued, boy?

    4. Re:Out of curiosity: where did you interview at? by Anonymous Coward · · Score: 0

      Maybe you should read the link in the parent post.

  15. As an employer ... by rebill · · Score: 3, Insightful

    I would already be looking to weed you out. Your disdain for the younger employees with junior technical skills is pretty obvious. As a manager, I would immediately wonder how you would treat those junior employees, and I would worry that you would regular belittle their knowledge, deride them for their mistakes and restort to intimidation to squelch a junior employee's idea that you happen to dislike.

    Of course, I worked with someone who acted in the manner I describe. He actually managed to cost the company we both worked for many hours of my time, as he chose to display his extensive knowledge at every opportunity, and I found myself translating what he was saying into something that the junior employees could understand. Oh, and thanks - I had never heard of the Byzantine Generals problem. But your reference to it is something that I would take as a warning sign.

    So, like previous posters, my suggestion is: just walk away. You are not built to work for a company like that.

    --

    Chivalry is not dead, it's just frequently misspelt. - M. Langley

    1. Re:As an employer ... by IBitOBear · · Score: 5, Insightful

      Actually, I showed no disdain at all. I carefully and cheerfully complied. I even kept the mood up and remained positive through the entire process. It was the odd post-interview feedback that got my goat a little bit. 8-)

      I actually like working with younger people as a general rule as it keeps the mind sharp and provides a continuous influx of fresh eyes to stave off the dogmatic ossification I often encounter in my peers.

      There is nothing wrong with going back to first principles. I just found the failure to transcend first principles (and the fact that a couple of the guys got all grumpy when they didn't understand my solutions to their problems as stated and as revised) to be something of a warning flag.

      The "ask a question of sublime simplicity" approach can only prove effective if the questioner can understand an answer of sublime subtlety.

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    2. Re:As an employer ... by Maarek_1 · · Score: 1

      Amen to that. No coworker has been harder to work with than those who have had "20 years of experince" because in several (of course not all) cases they just will not do it any other way than what they think is correct. One thing to consider would be the fact that standards exist for a reason. Sure it may be that there are more efficient answers to a commonly addressed problem, but perhaps those standard approaches work in 100% of the cases as opposed to the less standard "more efficient" approach that works in like 75%. Also unless you are at a small company, your code better be easy to read and understand by all of the programming staff. Hence the encouragement of standard time tested approaches as opposed to more esoteric ones. Despite common knowledge saying that what you learn in school is not applicable, I have found that I use those foundations in my programming much more than I do any little tricks I've picked up along the way.

    3. Re:As an employer ... by ClosedSource · · Score: 1

      First you say: "No coworker has been harder to work with than those who have had "20 years of experince" because in several (of course not all) cases they just will not do it any other way than what they think is correct."

      But then you say: "One thing to consider would be the fact that standards exist for a reason."

      So what you really mean is not the programmers should have an open mind, but rather they should do it your way.

    4. Re:As an employer ... by DerekLyons · · Score: 1
      Actually, I showed no disdain at all. I carefully and cheerfully complied. I even kept the mood up and remained positive through the entire process.
       
      [snippage more disdainful and derogatory material by the OP.]

      Which, of course, is why your Ask Slashdot is written in a tone that is disdainful and deriding of the process and the interviewers.
       
      Now, while I've never been involved in job interviews of the type you went through - I did sit on submarine and watchstation qual boards (and signed the cards), and when a senior person came through I'd hit him hard with the low level stuff. Why? Because a senior is expected to supervise and train his juniors. If he doesn't know the low level stuff, he can't do that.
    5. Re:As an employer ... by IBitOBear · · Score: 1

      Actually, you are assigning motive to me in the absence of evidence.

      Or, more particularly, I wrote the Ask Slashdot article in a way that would make it a good candidate to be posted as an Ask Slashdot lead article. The constraints are rather rigorous. It has to be short (I almost went over-long) it has to inspire interest. It has to be linkable even if it doesn't contain links (the editor added the link to the byzantine agreement page). It has to give sufficient context for both the questioner and the question (and I asked two questions).

      In short it has to effectively communicate the conundrum(s) and points of conflict while remaining specific and topical.

      In shorter, Ask Slashdot articles pretty much have to be caricatures of the issues.

      I wasn't trying for "disdain" just "disappointment and chagrin" at what seemed to be a somewhat flawed experience. Others here seem to parrot that the experience is common, and may even be deliberate. If it is deliberate then _that_ (IMHO of course 8-) would be cause for disdain, but probably not for the individual interviewers.

      In your senior / junior example, you miss an important point. The "most proper" way for a senior to train a junior with respect to "how would you find the index of an element of a sorted array with a particular value" demands the answer "I'd use bsearch". The follow up question "how does bsearch work" would have been appropriate. What I encountered instead was a demand that I reinvent the wheel letter-perfect instead.

      To perfect your analogy, consider what would happen if the senior welder walked through and you demanded he weld a pipe to demonstrate his understanding of the importance of maintaining the static pressure, and having a man watching that pressure, in the main cooling loop. Wait, you say, that doesn't make sense. Exactly. Once the appropriate authority establishes that the guy has the necessary welding skills, you don't ask him to keep welding as a way of exploring the depth of his fitness to act as senior, you instead should be asking fitness related questions.

      In our perfected analogy, it only takes one basic programming exercise to find out whether I have basic programming skills.

      I was getting questions that, by this same analogy, would be like asking me to describe the reactor control room on a sub, and then complaining that my description didn't adequately account for the possibilities implicit in a municipal nuclear power station. Asking about a specific case instead of the general problem space, and then faulting the responder for answering the specific case asked, is just pointless.

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    6. Re:As an employer ... by DerekLyons · · Score: 1
      Actually, you are assigning motive to me in the absence of evidence.

      No, I am reading the words you write - not just the Ask Slashdot question, but your subsequent replies.
       
       
      To perfect your analogy, consider what would happen if the senior welder walked through and you demanded he weld a pipe to demonstrate his understanding of the importance of maintaining the static pressure, and having a man watching that pressure, in the main cooling loop. Wait, you say, that doesn't make sense. Exactly.

      Actually - that's where you are wrong. It makes *perfect* sense for him to demonstrate his prowess as a welder under those circumstances - because if he doesn't maintain that prowess, he cannot adequately supervise and train his juniors.
       
       
      Once the appropriate authority establishes that the guy has the necessary welding skills, you don't ask him to keep welding as a way of exploring the depth of his fitness to act as senior, you instead should be asking fitness related questions.

      One of the key elements of the fitness of a welder - is (oddly enough) his ability to weld. If that ability is not demonstrated, then it fades.
       
      The two sections I quote above are exactly the attitude I'm trying point out - "hey, I'm senior, I shouldn't have to do this stuff".
       
       
      In your senior / junior example, you miss an important point. The "most proper" way for a senior to train a junior with respect to "how would you find the index of an element of a sorted array with a particular value" demands the answer "I'd use bsearch". The follow up question "how does bsearch work" would have been appropriate. What I encountered instead was a demand that I reinvent the wheel letter-perfect instead.

      The former method produces people who can look stuff up in a cookbook - it does not demonstrate understanding of the principles. The latter method demonstrates the understanding of the principles.
       
       
      In our perfected analogy, it only takes one basic programming exercise to find out whether I have basic programming skills.

      That would be true - if your 'perfected' analogy had much bearing on the real world. It doesn't. Niether programming (or welding) is so simple that a single exercise demonstrates full prowess. (And again, here is the haughty attitude to which I refer.)
    7. Re:As an employer ... by Anonymous Coward · · Score: 0
      As a manager, I would immediately wonder how you would treat those junior employees, and I would worry that you would regular belittle their knowledge, deride them for their mistakes and restort to intimidation to squelch a junior employee's idea that you happen to dislike.

      Don't judge everyone by your own example. Not every person who knows more than you do is frightening or hostile. Many of them will take pleasure in passing on their experience and expertise to their juniors. Just because you hide everything you know from anyone who might one day be in competition with you for a promotion doesn't mean others do. In fact, those who know more have less to lose from sharing. It's people like yourself who know very little that take a big risk by sharing the few pieces of valuable learning that they have managed to pick up.

      I'd certainly be glad to see you leave any company I was in or running.

    8. Re:As an employer ... by rebill · · Score: 1

      Don't judge yourself by your own example.

      I have found that very difficult to do in practice.

      Not every person who knows more than you do is frightening or hostile.

      I agree with that statement. However, I have met and worked with an occasional person who fits the full classification. The number is very small - only 2 individuals come to mind at the moment.

      Just because you hide everything you know [...]

      How did you get that impression from what I wrote, earlier? I happen to have the opposite personality defect - I have a bad habit of trying to help too much. But we have drifted off topic, here ...

      --

      Chivalry is not dead, it's just frequently misspelt. - M. Langley

    9. Re:As an employer ... by rebill · · Score: 1

      Actually, you are assigning motive to me in the absence of evidence.

      That remark applies to me, as well. Although, having posted on Slashdot, the comments that someone else suggested (paraphrased) "resembled the kinds of things that you would say over a beer between friends" have now become very public. Some employers search Slashdot when a prospective employee comes in - I know, because I searched it the last time I interviewed someone.

      However, I do see you point that you were working within the restrictions of Ask Slashdot. I was certainly moved to respond.

      What I encountered instead was a demand that I reinvent the wheel letter-perfect instead.

      In my opinion, nothing is more important than being able to re-build where we are today from the ground up. We may not need to re-invent the wheel, but if we ever do, I want to know that we can. The generation before us was able to get to the moon. I am not so sure that our generation can.

      --

      Chivalry is not dead, it's just frequently misspelt. - M. Langley

    10. Re:As an employer ... by Breakfast+Pants · · Score: 1

      The funny thing is it is against Amazon's policy to provide post interview feedback. But by the same token, this entire Ask Slashdot post was probably against that NDA you signed.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    11. Re:As an employer ... by IBitOBear · · Score: 1

      Some of the people suggest that I don't know link lists or think fundamentals are pointless.

      In my last (long term) job I had to make a tree of linked lists to deal with cookies in a micro-browser for an embedded system where no libraries were available with the required abstractions. (Plus it was performance measuring equipment, so I had to know the exact complexity and I had to trade some space for speed etc..

      I never tried to imply that I couldn't or didn't know how to solve the problems. Neither did I resent being asked to solve a simple problem.

      My problem with the procedure I encountered was that it never got beyond first principles. That the response to forgetting to write down a single dereference operator was all "well, ah ha!" (like nobody has ever done that before 8-). When the interviewer pointer it out, I said "sure enough" and added the missking asterisk, shrugged, and then said "of course that's a compiler catch." He barks "no it's not!" I point out that the example is in C++ (not to be smug, I had used several C++ constructs so it clearly wasn't just C).

      Through this whole discussion I have been simplifying things so as to limit any pejorative tone.

      I am more interested in the discussion in general, rather than any sort of defimation or discord. The people generalizing my comments into an inference that I _couldn't_ perform miss the mark completely. And I have interviewed candidates myself. I appreciate asking such simple questions once, or maybe twice.

      It was the failure to transcend. You know, one hour of coding-200 up-front, and then four of theoretical design would have been more probative.

      Things like...

      Me: Well for a large problem set...
      Guy 1: No, lets stick to the simple solution for these five conditions...
      Me: Ok, so we can make some assumptions within those limits...
      (Long discussion just between me and Guy 1)
      Me: So this acts to create a seive that limits the branching of the user interface.
      Sudden interjection of Guy 2 one minute before the end of our session: So you propose widening this table every time we add a criteria, that would never scale!
      (I explain how the table is denormal because of the initial directive from Guy 1 to work towards the fixed problem domain, because for the limited domain it would be much more efficent. Guy 2 doesn't _seem_ to be getting my explination but we run out of time.)

      I mean, come on, denormalizing a table to match a spesific problem domain is basic design; let alone faulting my design when I was directed to _ignore_ scalability. (I actually had to star over several times because Guy 1 didn't want me to go to a particular consideration.)

      But they wanted someone "more technical"...

      So like... /sigh... 8-)

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    12. Re:As an employer ... by slamb · · Score: 1

      Re: the "simple solution for these five conditions", then "that would never scale!"

      I suspect Guy 1 was taking a preemptive strike against tangents about caching solutions (some interviewees focus on tweaks to mask not understanding the basic approach to the problem) or perhaps against a quest to find the provable lowest asymptotic efficiency, when they actually use this problem for smallish data sets. He probably just didn't say what he really meant - maybe "small numbers (about 5), focus on the simple/elegant approach rather than performance".

      I don't know what the problem was, but I probably agree with Guy 2. Denormalize the table later if you absolutely have to for performance. Your first solution should be simple, elegant, and maintainable. (A number like 5 probably didn't come from the fundamentals of the problem; it came from marketing's list of entries on a web form or something. It'll become 10 later, and five like columns was painful already. 10 is unmaintainable.) If you do remove that elegance later, you'd better have the performance numbers to back it up.

      But in general, it does sound like they screwed up the interview. Never count it against someone for you leading them astray, never ask questions to which you can't recognize correct answers, expect a few minor mistakes (or your questions are way too easy), and don't everyone ask just this sort of question.

      Sadly, this sounds harder than the questions I usually weed people out with. My first question is a five-line function (in C, which these people have 10+ years experience with). Strangely, few people seem to grasp that when I use a ridiculously easy five-line function to decide if you get a job or not, you should be careful. Often every line is wrong. Recently I've even been giving them more opportunities to correct themselves - "how would you test this?" "[manually printing the result]" "Okay, it spits out gibberish." "I don't understand how that could be." "Well, it spits out gibberish. What do you do to debug it?" "Uhh..."

      - jerk twenty-something interviewer ;)

  16. +6 Damn Straight by W.+Justice+Black · · Score: 1

    They have goals, so do you. Evaluate accordingly.

    --
    "Time flies like an arrow; fruit flies like a banana." --Groucho Marx
  17. $0.00? by daigu · · Score: 0, Offtopic

    From the article...

    To be sure, plenty of questions remain about YouTube's business. First, the company has yet to turn a profit even though CEO Chad Hurley has said that YouTube is generating significant revenue.

    I'd say that puts it around $0. You don't buy a business that isn't making money. It's stupid. Also, don't even talk to me about Murdoch and MySpace. We are talking about the guy that created the problem of placing arbitrary value on the balance sheet as Goodwill to justify his acquisitions. It's a shell game that Murdoch and a few others like Mark Cuban might find a way to time and win - but that a lot of other companies trying to follow in their footsteps that are going to lose big on. I'd even wager that Murdoch is going to get bitten playing this game.

    1. Re:$0.00? by infosec_spaz · · Score: 0

      HAHAHA!!!! I suppose you know by now that you posted under the wrong topic here :o)

      --
      ----- I have bad karma for a reason! -----
  18. Umm.. maybe you need to look by GoofyBoy · · Score: 1, Insightful

    "I have 20 years of experience in programming and systems design."

    Um.. Good for you. Are we suppose to be impressed? It just means that you had a job title for 20 years.

    Do you have anything to show for the 20 years? Thats what these silly little interview questions, and your answers, are suppose to show.

    "And in several cases the interviewers were vague, semantically incorrect, or self-contradictory."

    In all of your 20 years, haven't you ever had requirements like this? I have 10 years and I encounter them so much, I get suprised when they don't show at least one of the above qualities.

    How do you handle this sort of situation in the workplace? Curl up in a corner and start crying? Run over to slashdot and complain about your horrific job?

    Answer the question as you would do as an employee. Again, the questions are there to allow you to show you how much you know.

    I'm sorry if I sound a little rough, but its just arrogant to be outraged by interview questions that are below you just because you believe that you have 20 years you are entitled to not answer questions.

    --
    The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    1. Re:Umm.. maybe you need to look by Anonymous Coward · · Score: 0

      "Answer the question as you would do as an employee. Again, the questions are there to allow you to show you how much you know."

      Actually the interview is twofold. One show what you know. Show how you handle situations. And I'm not just talking about the emotional, or even the etiquette aspect. The OP is posting and says that he was well-mannered, but I see in one of his posts he missed an opportunity to make an impression on the interviewers. Now I'm not going to be too hard on him, for speaking from experience. Dealing with people is HARD! Reading them. Understanding them. Motivating them. I've been at it for several decades and I still have much to learn.

    2. Re:Umm.. maybe you need to look by IBitOBear · · Score: 4, Interesting

      You read to much into my question. I wasn't "outraged" I was bored to tears and disapointed. I didn't say "I have 20 years of experience" to them. I said that to you, the reader of the article, to give you some basis for my position. In a slashdot lead article you only get so much space and editorial attention to make the interesting points and spur on the discussion.

      I did answer the questions posed. No hissy fit, no condecension. I liked the people and we got along OK.

      The mire comes, however. One of the responses, for instance, was "I've never seen it done that way before" followed by a thats-impossible shake of the head and an "why are you comparing the pointers and then the contents of the pointers like that" when I explained how this second tier (e.g. more complex) question was still soluable in O(log(n)) time using the method presented.

      Several interviewers said in the interviews that they didn't understand the code as written etc, then the group consensus was that they needed someone "more technical".

      ASIDE: I will fully credit that a good percentage of the lack of understanding may well have been introduced by my crappy white-board penmenship. 8-)

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
    3. Re:Umm.. maybe you need to look by Anonymous Coward · · Score: 0

      I found your reply laughable. It is rare to meet a 20 something in the software industry that knows or cares anything about etiquette. In many cases they are offended by good manners. Having interviewed many job candidates it is amazing how poorly mannered many candidates are. I have actually had candidates complain because I asked technical questions!!! The interviewers in the original story sound like pricks. They were not attempting to see if he would be good at the job but they were trying to show off their trivia knowledge. The problem derives from their management. Too many people are promoted to management at too young an age. Also there are too many managers in technical fields that do not have the correct technical background.

    4. Re:Umm.. maybe you need to look by Anonymous Coward · · Score: 1, Informative

      Um.. Good for you. Are we suppose to be impressed? It just means that you had a job title for 20 years.

      This is why there are so few old-timers in IT, I guess. Nobody seems to give a shit about experience, which is why we re-invent the same stuff over and over again and give it new names. The old timers just get annoyed and retired.

      If somebody in my field had 20 years experience the first thing I'd want to do was learn whatever I could from him or her. I have about 14 years experience and I'd love to chat with somebody who has done computing for longer than I have and is still involved. I'd love to hear what parallels he sees in today's technology with the past, and what common lessons can be learned.

      Sure, inexperienced people have plenty to offer, but I feel like IT is slanted way too much to the inexperienced side. Imagine if medicine or engineering were like IT... yeesh.

      So, not really sure where your animosity comes from.

      I'm sorry if I sound a little rough, but its just arrogant to be outraged by interview questions that are below you just because you believe that you have 20 years you are entitled to not answer questions.

      Maybe after 20 years he felt that technical interviews should be more transparent, and not little games that he has to figure out. Assuming that they really were "testing" him, and they weren't simply incompetent. If the latter, he should've just thanked them and left on the spot. If the former, I wonder why they didn't say up front "Some of these questions might be intentionally vague or contradictory. Just answer like you would if you were asked this question on the job."

      Also a tip: if somebody says something to you that suggests they know something you don't, you might want to come up with a better response than "Are we suppose[d] to be impressed?"

    5. Re:Umm.. maybe you need to look by james_pb · · Score: 1

      You're assuming that the reason you were told for not getting an offer bears some relationship to the actual reason you didn't get a job offer.

      This assumption is incorrect. Most people make gut decisions about whether or not to hire someone, then grovel around for a reason to give to HR to spraypaint on top of their real answer. Most feedback you get about an interview is almost useless without a large amount of contextual information that you're just not going to see.

    6. Re:Umm.. maybe you need to look by GoofyBoy · · Score: 1

      >I wasn't "outraged" I was bored to tears and disapointed.

      I get bored to tears with the first question such as "Tell us a bit about your self" or "what is your greatest weakness". Not sure why you would be bored by something that is specific to your job, at least its about programming/algorithms.

      Anyways, good luck in your job search.

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    7. Re:Umm.. maybe you need to look by GoofyBoy · · Score: 1

      >If somebody in my field had 20 years experience the first thing I'd want to do was learn whatever I could from him or her.

      I've met alot of people with lots of experience. Trust me, years of experience says nothing about what you can learn from them, it just means that they are old. I'm not saying that I couldn't learn a truck load from someone with 20 years experince, its just that they have to show something more than just that.

      >if somebody says something to you that suggests they know something you don't,

      His only justification for not liking that question was that he has 20 years of experience being asked by "a guy in his early twenties" a question that "exerted selection pressure towards excluding experienced candidates" which he felt himself "trapped in a sophomore study group?"

      The way I read it was that he already told us what he thinks he knows.

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    8. Re:Umm.. maybe you need to look by Fulcrum+of+Evil · · Score: 1

      Most people make gut decisions about whether or not to hire someone, then grovel around for a reason to give to HR to spraypaint on top of their real answer.

      Not true when you have to justify yourself to other interviewers. I wasn't aware that HR gave reasons anyway.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  19. It's a management problem by the+eric+conspiracy · · Score: 1

    Just think - in any company the managers are the least technically astute employees, and they have the biggest influence in the technical content of the software. If the development engineers are working at a very low level of technical content, just imagine how bad the managers must be. You will be using javascript encoding of passwords rather than SSL. All of your data will be in one table in name value pairs. Instead of exchanging data between servers using efficient protocols you will be passing around flat files containing fixed length records because these are the techincal approaches understood by your managers.

    Just run away, fast. You can bet your prospective employer won't be around very long anyway.

  20. Um... duh? by IBitOBear · · Score: 2, Interesting

    I call "editorial license". Whenever you try to cram a lot of observation into the (typically one paragraph) slashdot style article you have to do some word smithing. That makes things terse, and that comes off as pompous to some people.

    So what...

    Go ahead and try to rephrase me. I'll give you twoce the word length. Hit all the points and ask both sides of the question. And get it into a shape that would be accepted as an article...

    Then go take some classes in journalisim and/or rethoric.

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
    1. Re:Um... duh? by Blakey+Rat · · Score: 1

      I dunno, I've read a lot of your replies and you're still coming across as a pompous ass, even with unlimited space to write in. For instance, telling someone to go take some classes in journalisim [sic] and/or rethoric [sic]. (Journalists, BTW, usually spell-check.)

      And what's up with making smilies with an 8? That was really cool in 1995.

  21. You teach them! by hAckz0r · · Score: 1

    Nobody, no matter how bright they are knows everything. When you can influence a person to learn something new they will latch on to you because you empower them to become better at what they want to do well in, other wise you are just wasting your time. I had one interview that started at 5:00 pm after work, and lasted until the 1:30 am in the morning and we never got halfway through his list of questions. The problem was that I had multiple answers, none of what he had considered and all of which demonstrated that there was much for him to know and learn. He realized during that interview that I was the one that could do the best job for the company, not to mention his own career path. The next morning I turned down the job flat despite the money, because they were using SCO Unix (Pre Caldera, Pre-SCOg).

  22. Since you might care... A clarification. by IBitOBear · · Score: 5, Informative

    I didn't get the job. And after I thought about the interview I didn't really want the job. So it was a push. I took a job offer that I had gotten from another company the day before the interview loop.

    Also, I have done hiring. I appreciate the need to ask some simple coding questions because it isn't that uncommon to get people in who _can't_ write a bsearch and who cannot demonstrate a mastery of the simple language syntax. But you only really need to walk that mountaiside once in the interview process.

    Then again, when you write some code on a white-board and the interviewer cannot understand it (q.v. "I don't understand... why are you checking the value of the pointer and then the contents of the pointer") and then that interviewer helps build the group decision that "we should get someone more technical", you are entering the realm of high comedy.

    I actually laughed when the recruiter told me about their rationale.

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
    1. Re:Since you might care... A clarification. by Surt · · Score: 1

      That reminds me of a phone interview I had with SBC. They passed me around to a few people to answer some technical questions, and it became increasingly clear that they didn't understand enough about what they were doing to understand my solutions to their problems. The further I went in trying to explain the number of easier ways to do things that were available to them, the more entrenched they got in the notion that what I was suggesting was impossible, and couldn't work (ignoring of course the very successful company I came out of using these techniques).

      In the end they didn't hire me, I laughed when the recruiter told me they thought I couldn't solve their problems. Two years later the project they were going to hire me for was canceled as a failure, a project I could have helped them wrap up in less than a year (faster if I could have taught someone else to help me).

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:Since you might care... A clarification. by Vellmont · · Score: 1


      In the end they didn't hire me, I laughed when the recruiter told me they thought I couldn't solve their problems. Two years later the project they were going to hire me for was canceled as a failure, a project I could have helped them wrap up in less than a year (faster if I could have taught someone else to help me).

      From what it sounds like you're VERY lucky you weren't hired by SBC. From everything I hear the big telecomms are like working for hulking dinosaurs. Everything you've said seems to confirm this. If they would have hired you my guess is you'd just become frustrated at them refusing to accept a different way of doing things. Companies like these aren't used to listening to one guy who has a different approach (that very well may save the project).

      --
      AccountKiller
    3. Re:Since you might care... A clarification. by Surt · · Score: 1

      Indeed, though given where I was trying to work, they were one of the better paying options, and I could have lived with the frustration for a couple years in exchange for the money. Since then I've moved to an area with many more opportunities, and I certainly wouldn't consider working for such a project now.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    4. Re:Since you might care... A clarification. by Elbow+Macaroni · · Score: 1

      >Then again, when you write some code on a white-board and the interviewer cannot understand it (q.v. >"I don't understand... why are you checking the value of the pointer and then the contents of the >pointer") and then that interviewer helps build the group decision that "we should get someone more >technical", you are entering the realm of high comedy. The last 2 jobs I've had have been this exact same situation. They people I've been working around are so inept as to not realize that I know wtf I'm doing and doing it better than they ever did. Then they report to the boss about my inept performance. Americans are really becoming incredibly stupid.

      --
      -------------------------------------
      Technically, we are beyond survival.
    5. Re:Since you might care... A clarification. by Breakfast+Pants · · Score: 1

      You work in a company that is made up of a thousand+ person representative sampling of the American populace?

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  23. Chalk it up to "elder abuse" by Anonymous Coward · · Score: 0

    Let's face it, there were "cultural differences" to be seen in your interview story.

    Maybe the younger (20-something) person doesn't know how to deal with folks with "20 years experience"

    That can create a bit of fear of being embarrassed (if you were to be hired) by your comments,
    eg, at future design meetings, etc.

    From his perspective, with a long list of other applicants in-hand, why take the risk?

    ---

    PS If it's any consolation, I think I've had a similar experience with a South Australian ISP
    (one that I've heard called a "backyarder" even though he/they seem to be expanding into NSW)

    Apparenlty run by a "young-whipper-snapper" (as the expression goes) our calm, collected ways
    (from our 50+ years of enjoyable living, across least 5 great countries, not counting ones we
    loved while on holiday away... ;-) apparently didn't suit the intense ways of our ISP's staff.

    They once called for User feedback on how their broadband plans could be priced; after giving
    my 2 cents on the topic (eg describing any plans that charged over Au$ 100/GB of excess d'load
    as "Putting a block before the Blind"), I was given notice that our broadband account would be
    TERMINATED at the end of the month (after about 4 months of normal usage).

    It seems that some folks are just overly sensitive about what other folks say/write.

    This ISP also went so far as to claim we had not been paying our monthly (flat-rate) ISP fees,
    ie, long after we gave them our credit card details & they'd agreed to debit out fees as they
    became due. We always have more than enough funds in our credit-card-linked account, and the
    card was never suspended nor was its number changed. No problems with any other vendors' pay-
    ments (by similar debitting). They had succesfully debitted our setup & initial month's fees,
    without any problem, so we knew we'd given them the right credit card details.

    After we pointed out (with a letter of verification from our Bank's credit card investigator)
    that the ISP hadn't attempted to debit our credit card since taking its first payment, months
    ago, they suddenly stopped claiming we didn't pay... and turned around & informed us they'd
    be PAYING US all the money that would have become payable - over the 6 months of our contract
    - as COMPENSATION for them TERMINATING our account, ie, refusing to provide service from 1 Sep.

    For locals: the ISP is called "PowerBand Networks"

    (A friend called it "PowerTrip Networks" - ie, after hearing the story :-)

    On paper, they have a few great plans (for the Aussie market), but don't let your opinion(s)
    of their problems get back to their staaff, or you may have to find a new ISP in a hurry
    (with all the hassle of informing your correspondents of your new eMail address & shifting
    your web sites, etc.)!

    If we raise a complaint on this matter to Australia's Telecommunications Industry Ombudsman
    (TIO), we'll post the documents from the case, as they become available... ie, if the TIO
    doesn't preclude their publication, as other courts do, all too often.

    [We're also taking legal advice on our option in the courts.]

    Can you imagine an ISP who has to watch what their users post about their service?!? Odd :-/

    A colleague considers them "emotionally needy" but they just didn't seem to be on the same
    wavelength as me when in the few time we had to report a fault or ask for HowTo details (eg,
    on accessing their peering partner's content... I don't think even -they- know to access it,
    but I could be wrong...)

    Tip:

    Odd people, these South Australians... Lotsa work for Mental Health Professionals here.
    If you're in that industry, and might like to migrate to Australia, here's your chance! ;-)

  24. Speaking from experience... by Anonymous Coward · · Score: 1, Interesting

    99 out of 100 people that claim to be able to program simply can't. Even simple questions in an interview can weed-out most of them. The last three Comp Sci grads I hired couldn't write a simple for loop in C despite claiming to have had several C or Java classes. The last two guys I hired that claimed over 20 years programming experience with C couldn't do much better. I now ask plenty of 100-level programming questions in an interview. I've hired around 225 programmers in my life and only two of them could program acceptably. All of the others were hired because usually I'm told to hire the best person by a deadline or the best person out of a group of three (or whatever) interviewees. This has left me 99% of the time out of the past 35 years I've been here as the only programmer that can produce so I've been stuck doing 80 hour weeks most of the past 30 years. It is really hard to find a non-idiot programmer.

    Don't be insulted by it. You probably insulted them with your attitude. I'm sure they're asking easyish questions for a reason since all of their last hires couldn't even do what they asked you to do.

    1. Re:Speaking from experience... by RalphTheWonderLlama · · Score: 1

      what's wrong with while loops? :)

      syntax schmintax

      --
      simple, fast homepage with your links: http://www.ngumbi.com/
    2. Re:Speaking from experience... by Anonymous Coward · · Score: 0

      "I've hired around 225 programmers in my life and only two of them could program acceptably"

      You had 223 programmers that sat around all day doing nothing? Get real.

    3. Re:Speaking from experience... by Anonymous Coward · · Score: 0

      Go to most any large company, and you'll see one or two people that do most of the programming along with a bunch of deadweight. While I've never worked anywhere else (this was my first job out of college 35 years ago), I have worked with a lot of other programmers in other companies to do EDI and to install our production scheduling/monitoring software. The vast majority of those "programmers" couldn't program. In the larger companies, there was always a single guy they called when they wanted something done. It's like that everywhere I've seen.

      Another example, my wife worked for a company named Advance America. They had over 40 programmers working for over two years to add on to PeopleSoft. Out of those 80 man-years of labor, they produced zero usable pieces of software. That's just what the industry is like. It's very rare to find people that can actually program.

  25. Two way street by kabdib · · Score: 1

    (Insert some famous quote along the lines of "When men were studying bats, bats had an unparalleled opportunity to study Man.")

    If they're dunderheads and can't ask good questions, don't go. REALLY don't sign up. I did that once, it sucked true and hard, and I bailed in five months even though the CEO was in tears [yup] during my exit interview with him, begging me to stay. I still tell stories about that place, like the time they brought in a head-shrinker [yup] to interview the whole engineering staff to find out what was wrong with their development practices. ("My mother? Let me tell you about my mother...") No real mystery to me: With a couple of exceptions the engineers they had hired were god-awful.

    My fault for going there. I let a salary distract me from what made me happy: Working with good people and shipping.

    On the bright side of things, an experience like that can be good for building a network. The good people stand out. "Man, we're all in this together, right? You, me, and the oxygen-waster undead out there who are probably still (shudder) putting more syntax errors into tonight's release..." I still keep in touch with the three people I respected from that dunderhead company.

    One good touchstone for interviewing those aged, hoary old engineers with 20+ years of experience: See how they are keeping up with stuff in the industry. What have they read recently? What technical resources do they use? Are they an ACM or IEEE member, do they read papers or newsgroups with decent technical content? [At 27 years since my first paying job -- hacking C on V6 Unix -- I know that if you're not continually upgrading your skills and knowledge that you're basically toast within a few years. It's really easy to get behind the curve].

    --
    Any sufficiently advanced technology is insufficiently documented.
  26. i hope they didnt hire you by Anonymous Coward · · Score: 0

    We use tests like that to weed out people like you who try so hard to be cerebral that they are impractical and can't work well with others. Take the damned test and don't complain about it. YOU are the one wanting the job and if you answer the questions intelligently, no one is going to weed you out. If you throw a fit about it in public, like this, you obviously aren't the kind of person a company would want anyway.

  27. Honesty is the best policy by Travoltus · · Score: 3, Informative

    I'll present a candidate with a real problem in the danger room (our term for the isolated test center where we diagnose stuff and load test network setups without screwing with the blades&racks that are live) and screw something up, then have them try to fix it. I'm more interested in their methodology than their solution. Our test network works, but it's a mess; if they can innovate before my eyes and tell me how to clean things up while being tactful then they're hired. My predecessor did this and so do I.

    I expect to be corrected if I (intentionally, for the most part) say something wrong, but I expect tact and respect, and I'll tell them those guidelines up front. BS artists have that look when they don't know something, and they get very vague. I don't need to play games with them. Someone who knows their stuff will appreciate the honesty and show their true competent colors.

    I send BS artists out the door with a pretty precise explanation of where they went wrong. Hell, I even suggest where they need to get training so they don't have to BS their way through the next interview. This way they won't bother another employer with their BS attempts, or at least they'll know why they got rejected.

    If you know it, you know it, if not, then you don't, that's my motto. No need to trip people up, the losers will always get culled from the herd as soon as they open their mouths.

    Playing games with applicants sucks, IMHO.

    --
    --- Grow a pair, liberals... stop letting the Republicans bully you!
    1. Re:Honesty is the best policy by Skreems · · Score: 1

      Yeah... I'm not saying I intentionally fuck with people. I just leave some things undefined, and see whether they immediately ask for clarification or, as you say, get that "BS artist" vagueness and start throwing random lines of code at the board. I leave nothing vague that can't be corrected by 30 seconds of discussion about the problem, and I'll usually accept whatever way they choose to define something if they start filling in the vagueness with their own assumptions.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    2. Re:Honesty is the best policy by Anonymous Coward · · Score: 0

      I'll present a candidate with a real problem in the danger room Xavier, is that you?

    3. Re:Honesty is the best policy by Anonymous Coward · · Score: 0

      "I'm more interested in their methodology than their solution"

      That's the problem these days: everybody is more interested in methodologies than solutions.

    4. Re:Honesty is the best policy by Travoltus · · Score: 1

      No, it's not a problem.

      You can come to a solution with rote memorization. There's no way I could possibly know that s/he read about heat dissipation and just happened to (while sitting at a table with me) guess why a given blade server is acting all funky. But if s/he goes back there in the server room and says "okay, let me check the thing myself" then discovers "oh, an over-temp condition" and looks at the racks and ventilation and starts talking about replacing, say, a Dell PowerEdge (WTF OMFG ITS TEH GERIATAZ0R!!!!) with more modern IBM blades equipped with CVC? (Ok, that's not one of my scenarios, all our blades have CVC or equivalents, but I can't get fired if I say this and it gets traced back, lol!) I can reasonably know that s/he has done this a few times then.

      The solution is necessary, but the methodology tells you how thorough that person is, and that's very important in my line of work. You have to have both, or you could be hiring a person who's good at rote memorization but very poor at actual innovation and jack-be-nimble problem solving.

      --
      --- Grow a pair, liberals... stop letting the Republicans bully you!
    5. Re:Honesty is the best policy by Schraegstrichpunkt · · Score: 1

      What is CVC?

    6. Re:Honesty is the best policy by Travoltus · · Score: 1

      Calibrated vectors cooling, IIRC.

      --
      --- Grow a pair, liberals... stop letting the Republicans bully you!
    7. Re:Honesty is the best policy by otis+wildflower · · Score: 1

      Our test network works, but it's a mess; if they can innovate before my eyes and tell me how to clean things up while being tactful then they're hired.

      Fuck tact. If you need tact to deal with a broken design, that's an early warning sign in and of itself. OTOH, you can't complain about something unless you're willing to do the work to fix it.

    8. Re:Honesty is the best policy by poot_rootbeer · · Score: 2, Insightful

      Fuck tact. If you need tact to deal with a broken design, that's an early warning sign in and of itself.

      No, fuck you. Being tactful when talking to colleagues--and especially POTENTIAL colleagues--is just basic business courtesy. You are not exempt from it just because you have to deal with a "broken" design, or for any other reason.

    9. Re:Honesty is the best policy by crystalattice · · Score: 1

      Do you accept "I don't know, but I know where to find the answer" as a valid response? Unless I use something every day, I tend to not remember it (like calculus). I may know the basic principles and can give you a broad but vague answer but I can't tell you the "right" answer without double-checking.

      --
      Free Programming BookLearn to program
    10. Re:Honesty is the best policy by amuro98 · · Score: 1

      Agreed. I'm in QA. My whole job revolves around telling developers that they're "wrong". Being able to deal with proud and strong-minded people while still getting your bugs fixed is a major requirement for any QA engineer.

  28. My experience giving the interviews... by Tronster · · Score: 2, Insightful

    By now I've performed about 80-100 tech interviews for a variety of IT companies. I will ask the brain dead questions, but ramp up accordingly. I essentially want to ask just enough to know whether or not I can say with confidence "HIRE" or "NO HIRE". ( Recommend reading: Joel On Software )

    If relevant, I will ask for some white-boarding of UML, or a code fragment to perform a simple task.

    I do all of this because, I have found that age means nothing. I've worked with some seasoned geeks who taught my colleagues and I alot on the latest technologies. I've also worked with a guy I hired who had well over 20 years experiences and was absolutely useless. I can personally say the same to guys just a few years in the field.

    It's a crap shoot...and I don't like to gamble.

    Another way I look at it... I've also been on the receiving end of an interview at least a dozen times. When this happens I try to show my patience when going through the brain-dead questions, because I know acting rushed or anxious is a sure way to send bad mojo to the interviewer, even if I've nailed all the tech questions.

    I know I'm interviewing for a good contract when the interview switches to more challenging questions based on my answers. If the interviewer just runs through the list or makes self-contradictory statements, there is a good chance it's either a manager who doesn't know the subject matter or possibly a technie called in to give the interview and isn't good at it. At which point, it can be a fun challenge to turn up the charm with the interview, because I know the questions coming are no sweat. The degree of confidence shows leadership skills and does stick in their mind when making decisions. (Especially if the interviewer WAS a non-technie.)

    P.S.: Also regarding semantically incorrect or self-contradictory statements... I sometimes deliberately throw out a misstatement to see how the interviewee responds (if at all).

    --
    Help me find 3 kidnapped children!
    Cheers.

  29. more important than technical skills, age, gender by Anonymous Coward · · Score: 0

    Personality and social awareness probably makes the most difference, once a candidate has passed a resume screen and a phone screen and has technical skills that are in the ballpark of the job requirements. I've been an interviewer and interviewee many times and I've come away wondering at the dynamics of the situation. In particular, what are the personal interests of the interviewers? In a pre-IPO startup, there might be intense interest to hire the sharpest, most capable staff so that everyone will get rich from stock options. But in a big, prosperous company like Amazon or Microsoft (or IBM, HP, Cisco etc), "individual contributor" hires rarely make much of a difference, and even if they did, they don't necessarily benefit those individuals doing the hiring, except for the hiring manager.

    That's why it basically comes down to people hiring the candidate who makes them feel most comfortable, and that is largely a matter of personality and social awareness. Because when interviewers huddle together to discuss their evaluations of the candidate, these evaluations are quite subjective and may contain gross errors of technical judgement, as the original poster suggests. What does an interviewer have to gain by making the most technically accurate appraisal possible? Instead, s/he votes for people s/he wouldn't mind working with on a daily basis, even if their skills are somewhat deficient.

  30. Can't code on the whiteboard? by Anonymous Coward · · Score: 0

    If you can't talk through a problem on the whiteboard, in [pick your favorite language], then I humbly submit that you cannot code. In fact, your first language of choice should be english (or spanish/mandarin/tagalog, or whatever non-code language you speak at your company).

    If you can't describe the problem, your approach to solving it, and the actual solution in english...then you have no business writing code.

    Vague guidelines? Did you ask questions? Probe the problem domain? Figure out that problem that they really wanted you to solve?

    At our shop we hire people that get stuff done. We don't look for code monkeys that can only operate by following a precise script. Looking for concrete guidelines? Go work at a fast food joint, where your entire operating procedure is in a 3 ring binder, and you dare not deviate.

    The working nights sucks, though.

    1. Re:Can't code on the whiteboard? by ClosedSource · · Score: 1

      "If you can't talk through a problem on the whiteboard, in [pick your favorite language], then I humbly submit that you cannot code."

      Perhaps your humility prevents you from offering any evidence to support your conclusion.

  31. It's Analogy Time yay by RalphTheWonderLlama · · Score: 1

    Would you ask an interview candidate to program a "Hello World" program?

    --
    simple, fast homepage with your links: http://www.ngumbi.com/
  32. I'm _glad_ they didn't hire me. by IBitOBear · · Score: 2, Interesting

    I threw no "fit". Then or now. I did answer the questions intellegently. I harbor no anger though I feel disapointed that the entire interview never got to "design".

    Whoever your "we" are I pitty them your presence. You think this is "a fit", I thought it was an interesting discussion starter.

    Programming without design is the quintessential case of going off half cocked.

    I would be doubly disapointed if this were a deliberate selection "technique" on their part. Running rats through a maze isn't clever if all you are looking for is fast rats.

    Besides, I don't "try to be cerebral", I am, for better or worse, that (over?) precise and careful. Yep, if you find that annoying, then I am _naturally_ that annoying. No effort, no wierd "attempt to seem". (Gee, a computer geek that isn't a social darling... Who could have possibly imagined _that_? 8-)

    Besides, while "[I] am the one wanting the job" in your mind, shouldn't "[YOU] want the quality employee"?

    If that was a deliberate test, then the hiering practice has established a damn low ceiling (IMHO of course) and the company must be constantly struggling against its tendencies towards brute-force solutions. It's not that such an approach _can't_ succede, its that such an approach will tend to hemmorage money, time, and tallent. There are so many metaphores that the mind boggles.

    So why am I glad? Glad they didn't hire me _and_ glad I asked the question in this forum? The various respondents have informed us all that I am not the only person to have encountered this broken process. And if it's broken up front, its probably broken out back.

    The scenery was nice though... 8-)

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
    1. Re:I'm _glad_ they didn't hire me. by fracskul · · Score: 0

      I hope you are more "precise and careful" in your coding than in your spelling. :)

      I counted 7 spelling errors in this post.

    2. Re:I'm _glad_ they didn't hire me. by IBitOBear · · Score: 1

      yep. I'm dyslexic. In the absence of a spell-checker, and while hurrying, I can make a right mess.

      I don't know why its different when I'm programming. I figure it is probably like the way stutterers can sing. It just uses a different part of your brain or something.

      Then again, when someone starts in on the form of a message instead of the contents, you know they have run out of meaningful input... 8-)

      --
      Innocent people shouldn't be forced to pay for inferior software development.
      --"Code Complete" Microsoft Press
  33. Or if the interviewer is young by Anonymous Coward · · Score: 0

    At another leading internet company, I got into an argument with a young 20-something hotshot about the complexity of building a heap. I said that the average time complexity to insert a single item into a heap is constant. He said it was log(n) -- which is actually the worst case. I started to explain to him why it was constant, and he interrupted me after a few seconds and just insisted it was log(n). The sad thing was I was just thinking out loud when I mentioned building a heap and it didn't really have an application to the original problem he asked.

  34. From the flip side of the coin... by oldosadmin · · Score: 1

    I'm a 22 year old guy, interviewing candidates for a helpdesk SA position (someone working under me).

    Any good tips for how to *not* come off like a young idiot?

    --
    Jay | http://oldos.org
    1. Re:From the flip side of the coin... by symbolset · · Score: 2, Insightful
      Any good tips for how to *not* come off like a young idiot?

      Wait 20 years.

      --
      Help stamp out iliturcy.
  35. Do you really want to reverse the linked list? by Animats · · Score: 3, Insightful

    The last time I saw production code that reversed a linked list, it was because someone wanted the last element of the list. So they reversed the list and extracted the head. After reading the code for a while, I realized that I was looking at C code written by a LISP programmer. I finally rewrote the thing to use C++ collection classes. A list wasn't even the right structure; a C++ vector was, because the collection was built once and then used millions of times.

    Be suspicious of code that does elaborate munging on pointers. Stuff like that should be encapsulated in general-purpose routines. If you see it in application-specific code, somebody is probably doing something wrong. And it's very likely that such code will be broken during maintenance.

    Programmers should know how to reverse a list, but shouldn't actually do it.

    1. Re:Do you really want to reverse the linked list? by Senzei · · Score: 1
      The last time I saw production code that reversed a linked list, it was because someone wanted the last element of the list. So they reversed the list and extracted the head. After reading the code for a while, I realized that I was looking at C code written by a LISP programmer.
      I would hazard a guess that you were looking at C code written by a poor Lisp programmer, too. Anyone who has studied Lisp and did not learn the value in understanding how your language maps to your problem did not really study Lisp. A competent Lisp programmer would have examined their method, the tools provided by the language, or the choice of language itself before diving into pointer munging.
      --
      Slashdot: Where anecdotes and generalizations can be freely substituted for facts, logic, or intelligence
  36. There are frameworks to multiply two-digit numbers by patio11 · · Score: 1

    ... but I wouldn't want to hire an engineer who couldn't figure out how to do it with a pencil and paper.

    You're not expected to remember the solution for reversing a linked list. You're supposed to remember the most trivial, basic property of lists: they start with one node which you know about, and each node points to the next node. And you're supposed to use those twenty years of experience to be able to *devise* a solution to the problem. Which if you know that simple property and have a practical understanding of how to actually work with lists you should be able to do in about five minutes. Then you say "Oh wait, my twenty years of experience is tingling, that solution is O(n^2) and it shouldn't be nearly that hard because the framework I use every day does it a heck of a lot faster".

  37. Might want to look in a mirror... by Vellmont · · Score: 1

    If I take your comments out of context I'd probbably weed you out in an interview as well. You assume a lot from what amounts to candid responses usually reserved to your friends over a beer. It's really not that uncommon to come out of an interview and think "What the hell was all that about?", and then want to ask others if they've had similar experiences and what they did/would do.

    It sounds like you're filling in all the gaps of who the poster is with your own personal biases. That's usually not a good idea, especially when you've never even met the person and are relying on a one paragraph writeup of an experience.

    --
    AccountKiller
  38. Test them back by ClosedSource · · Score: 1

    I admit I've never had the guts to do it, but I thought it would be great to prepare a test for the interviewer that you can whip-out when presented with a test for you to perform.

    I suggest a reverse-trick "what is the code doing" question: i.e. one that appears at first glance to solve a well-known problem but actually doesn't. Make them examine all the trees rather than the forest.

    It probably want get you the job but it might scare the interviewers from testing other candidates in the future.

    1. Re:Test them back by ClosedSource · · Score: 1

      That's "won't" not "want".

    2. Re:Test them back by Anonymous Coward · · Score: 0

      or maybe you could just drop trou and take a nice big shit on their desk. I recommend drinking budweiser and eating cabbage, mexican, organic, and high fiber food before hand.

  39. The voodoo of separating "good" from "bad" by Vellmont · · Score: 1

    The most interesting part of the responses in this article are all the varied little voodoo that people use to separate the "good" developers from the "bad" developers. Some people seem to focus on the technical questions, i.e. if you can't write an algorithm that reverses a linked-list in 10 minutes, you stink. Ignoring the fact that not all languages even have linked list data structures in them. Also ignoring the fact that a lot of programming values higher level architecture and maintainability over what often amounts to minor details like re-inventing the linked list. Lots of people modded this highly though, so it's a continuing belief.

    Others seem to focus in on the "n years experience doesn't matter one bit!!!" Well, yes and no. Obviously there's people that've been around 20 years and learned nothing. But everything else being equal the person with 20 years experience is probbably going to better than the kid straight out of college.

    Then there's the "I can smell how good/bad you are from your attitude!" camp. Even in an interview where you're standing right in front of someone this isn't exactly easy. If you think you can do this from a short "Ask Slashdot" post, you've got some real learning to do. I suggest you read up on taking things out of context, writing for an audience, and limiting article length.

    In general there's a lot of judgemental replies to this article. Personally I see this as reflecting a lot of insecurity. So many people jump all over the place to try to find the lower quality programmers, as if that makes you a better programmer. There's a lot of good replies offering real advice too, but I find the variety of "interview voodoo" techniques a lot more interesting. Essentially there seems to be no agreement at all on how to seperate the wheat from the chaff.

    Frankly I don't know what the magic bullet is to seperate the good from the bad. I guess I'd want to look at stuff the developer has actually done. Often that's impossible since most code is closed-source, and not available to future employers.

    --
    AccountKiller
    1. Re:The voodoo of separating "good" from "bad" by rfc1394 · · Score: 1
      The most interesting part of the responses in this article are all the varied little voodoo that people use to separate the "good" developers from the "bad" developers. Some people seem to focus on the technical questions, i.e. if you can't write an algorithm that reverses a linked-list in 10 minutes, you stink. Ignoring the fact that not all languages even have linked list data structures in them.
      Like Cobol, which is about 70% of all programming code, according to estimates.

      Fortran doesn't have them either.

      Basic doesn't have them either.

      And come to think of it, since Java doesn't have pointers, it would stand to reason it can't have linked lists either.

      Now, there may be variations on these languages with some dialects that have added pointers so some of these may have changed.
      --
      The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
    2. Re:The voodoo of separating "good" from "bad" by Vellmont · · Score: 1


      And come to think of it, since Java doesn't have pointers, it would stand to reason it can't have linked lists either.

      Actually Java has linked lists implemented as part of the standard library. It's a pretty dumb question in Java since all you'd do is call Collections.reverse(yourLinkedList) to reverse the LinkedList.

      --
      AccountKiller
    3. Re:The voodoo of separating "good" from "bad" by Breakfast+Pants · · Score: 1

      You can implement a linked list inside of an array. Hell if you have scheme and don't have cons car and cdr you can implement them with conditionals and lambda.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  40. Your expierience didn't pay off by clambake · · Score: 4, Insightful

    Part of having 20 years experience is being able to control more than just code... It means you should have learned how to wrangle people as well!

    I went to those exact same interviews that you did, the same kinds of introductory questions, the ones looking to weed out the html "programmers" who suddenly decide they can do real programming since it looks so easy.

    So, what happened to me? Basically, I was able to turn the interview on it's head, and before too long *I* was the one having /them/ draw the witeboard diagrams. It wasn't hard, it's just a way of dealing with people, something I have learned over the years:

    Interviewer: "How would you make a singleton in java?"
    Me: "Well, how does this look:"

    public class Foo {

        private static final Foo _foo = null;

        private Foo() {}

        public static Foo getInstance() {
            if (_foo == null) {
                    _foo = new Foo();
            }
            return _foo;
        }
    }

    Interviewer: "Ok, good job next question..."
    Me: "Hold on a sec... Look closer at what I wrote, what did I just do wrong?"
    Interviewer: "Huh? You mean that's wrong somehow?" ...so then I follow with explaination of what would happen if two threads reached the inside of the if statement at the same time ...
    Interviewer: "Ooooh, threading, of course. I have heard of that!"
    Me: "Yeah, so, now how could we fix it? Here's the pen, show me what could be done..." ... next start a discussion about synchronization, maybe get into Java's serious double-check-lock bug/feature (and show them with pseudo-code how the HotSpot compiler can illogically re-order execution without you ever realizing it) and then discuss how one could fix it with the new ReentrantLock class, or some of the other .concurrent.lock.* packages.

    Maybe ask if they can think of a way to implement any kind of locking without using synchronization, have them use the whiteboard and show you what they are thinking in an more abstract form, and then show them how Sun did it with the thread scheduler magic...

    And before you know it, you've stretched a thirty minute interview into a threee hour programming discussion and you get offers to join before you leave the room.

    THAT is what "experience" should have taught you, everything else you can read in a book.

    1. Re:Your expierience didn't pay off by locokamil · · Score: 1

      I did that with my last interviewer. Forgot to talk about the ReentrantLock class though. :)

      5PM to 9PM, baby.

    2. Re:Your expierience didn't pay off by greg1104 · · Score: 4, Funny

      This reminds me of my worst interview ever. It was for a C programming job, ten years ago. The main programmer at the company asks "how you can write a function that [some operation on an arbitrary string requiring memory] without allocating memory at run-time inside the function?". I said "you can't without relaxing some part of the requirements". He disagrees; I ask for his solution. He shows a function using a static buffer, so the memory is allocated at compile time. I point out that a) this puts a limit on the size of strings it can handle, which he accepts and b) you'll be screwed the minute you introduce that code into a multi-threaded environment like the one they deploy their code into, because your static variable will inevitably get clobbered one day by two calls to this utility function. After some argument, he comes to recognize my point, and I ultimately got offered the job.

      Three months later I was fired for arguing with him all the time about how code should be built.

    3. Re:Your expierience didn't pay off by hyfe · · Score: 1
      Interviewer: "Ok, good job next question..." Me: "Hold on a sec... Look closer at what I wrote, what did I just do wrong?"
      So, from there on, I see two possible outcomes:

      First one is he spots the error..

      .. or worse; he doesn't and you get to come off as a condescending wise-ass who enjoy putting down others for perceived incompetence, almost without even trying!

      --
      "" How about taking the safety labels off everything, and let the stupidity-problem solve itself? """
    4. Re:Your expierience didn't pay off by Aladrin · · Score: 1

      Yeah, I was wondering myself how this ended up with a job. My first thought was 'You deliberately wrote code that was broken?' My second was 'Let's get this interview over as quickly as possible.'

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    5. Re:Your expierience didn't pay off by Anonymous Coward · · Score: 1, Informative

      Actually, the first thing I thought when I saw that code is that you're attempting to reassign a final variable?

    6. Re:Your expierience didn't pay off by larry+bagina · · Score: 1

      alloca can dynamically allocate memory from the stack (which might or might not count for your requirement). GCC has intrinsic support and can create variable sized arrays.

      void bleh(char *str) {
      if (str) {
      char copy[strlen(str)]; ... }
      }

      Anyhow, alloca dates back to BSD4.1 in the early 80s.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    7. Re:Your expierience didn't pay off by ArghBlarg · · Score: 1

      Isn't that OK within a class constructor? Honestly, just wondering. I'm not a Java guru. I was reading up on C# recently and 'sealed' vars (equivalent to 'final' as I understand it) can be assigned only in the constructor.

      --
      ERROR 144 - REBOOT ?
    8. Re:Your expierience didn't pay off by Breakfast+Pants · · Score: 1

      Actually you could do this just fine with recursion. So while his solution was shit, your answer was too.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    9. Re:Your expierience didn't pay off by greg1104 · · Score: 1

      Actually you could do this just fine with recursion. So while his solution was shit, your answer was too.

      Using recursion allocates memory at run-time out of the stack space to hold the string; that solves the thread issues, but doesn't meet the stated design requirement. If we're going around labeling things as shit, clearly your reading comprehension must join that list.

    10. Re:Your expierience didn't pay off by morzel · · Score: 1
      Well, you should at least drop the "final" modifier from the field as your code isn't even going to compile

      Bragging about experience landing you a job and yet leaving a blatant newbie error in your code is not exactly what I call a good first impression ;-)

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
  41. Are you measuring what you think you're measuring? by Vellmont · · Score: 2, Insightful

    It'e interesting, but all your questions assume a certain mentality that's probbably similar to you're own mentality. Are you sure you're selecting for quality programmers, and not just people that think like yourself?

    That can be a good thing, and a bad thing. If everyone thinks you like you, you'll probbably all get along quite well and be able to communicate easily. But you're also likely to all make the same mistakes over and over.

    --
    AccountKiller
  42. Go with it by BenjyD · · Score: 1

    I only have a couple of years experience, so I doubt my advice means much to you, but I say just go with it. Explain the simple solution that they will understand first - after all, it may be more maintainable - but mention that there are more complex solutions. It's sad, but I experience does not necessarily equate to programming ability, so they have to ask those kind of questions. I regularly see appalling mistakes in code from experienced engineers (finding the nearest multiple of X to Y using a while loop for example). But then I also wince when I see the code I wrote when I first started here.

  43. Regression to the mean by Colin+Smith · · Score: 1

    As companies get bigger, the "IQ" of the company begins to regress to the average for the population at large. Decisions become poorer, profits lower. It's normal, wouldn't worry about it.

    --
    Deleted
  44. Re:more important than technical skills, age, gend by rfc1394 · · Score: 1
    What does an interviewer have to gain by making the most technically accurate appraisal possible? Instead, s/he votes for people s/he wouldn't mind working with on a daily basis, even if their skills are somewhat deficient.
    I was working tech support for a subcontractor to an Internet Service Provider, who had to move out of state because they couldn't get more space in their current building. I was asked if I wanted to go, and I said no (and they would actually have paid relocation costs). So, anyway, near the end of the contract they asked me to stay on two extra days. They had another guy (who had trained me) who was probably better technically than I was (but I'm no slouch, either) but they kept me on specifically because my attitude was better. And I'm no kiss ass either, I had once told my boss that I would no longer give restore estimates to the customers when we had service outages because the estimates were always wrong and I hated lying to the customers. I said from then on that when someone called, and it was a known outage, I'd tell the customer exactly why, because we know what the problem is, they are working on it, but "I'm not going to give you an estimate when we don't know when it will be fixed, rather than lie to you and upset you because it isn't ready when we said." I think this was important in showing that I care about how we do and how we act toward others.

    Being someone people can work with is often be more important than technical merit no matter how good you are (unless you're a prima donna, in which case they know that and they take that into account, and that's a whole other issue).

    --
    The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
  45. Never use your provider's domain name by rfc1394 · · Score: 2, Informative
    On paper, they have a few great plans (for the Aussie market), but don't let your opinion(s) of their problems get back to their staaff, or you may have to find a new ISP in a hurry (with all the hassle of informing your correspondents of your new eMail address & shifting your web sites, etc.)

    Never, ever use your provider's address for your website and (especially) NEVER use your provider's domain name for your e-mail if it's of any importance. Look at my e-mail address for a moment, and you get the idea. When you have your own domain name, if your provider terminates you, or you leave, or you want to leave (better service, more features and/or lower price), you simply change the termination point for your service to someone else. In fact, it's not a bad idea to have your DNS service with someone other than your hosting in case you have problems or your hosting becomes overloaded (like being Slashdotted, for example) and you get locked for excessive bandwidth, you can change to someone else fairly quickly if you need to, but you might not be able to do that in a hurry if your DNS provider and your hosting provider are the same. (Especially if you can't get into your provider's control panel because they're overloaded.)

    With domain names around $9 a year, there's no excuse using your provider's domain name unless you're so broke you can't afford it. Which I have been, on occasion.

    Now, for that, you can often get a geographic-based domain for free (at least, in the .US you can). I established the domain "paul.washington.dc.us" which cost nothing, and ran it under a provider that allowed free hosting if you carried a banner ad, so for more than five years I had my own domain name and e-mail under that domain for free. I still have it, too, going on eight years now.

    --
    The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
  46. Compilers aren't always "mathematical things" by rfc1394 · · Score: 1
    Who cares really about mathmatical oriented things unless you write compiliers or something of that nature?
    Having both maintained and written compilers, let me asure you that you don't even use "mathematical oriented things" when writing a compiler. A compiler is simply a text processor, taking a source code and translating it into something else, whether that is a source code in another language (for a translator or cross-compiler) or into a binary file. The so-called "mathematical things" are useful in determining ways to define what you should use for targeting the generated code (e.g. whether to translate a divide by 2 as a divide by 2 or as a shift right by 1) depends on the problem domain and the desired outcome. But doing compiling or translating itself is no more complicated than writing a text editor.
    --
    The lessons of history teach us - if they teach us anything - that nobody learns the lessons that history teaches us.
  47. Fascinating discussion.... by scottsk · · Score: 1

    .... but who remembers all this stuff? If you're actually working on real-world software, do people really remember all these algorithms and stuff no one uses anymore because class libraries do all the pointers and memory management for you? Given enough time and books, I could remember how to reverse a linked list, but with C++ templates, Java class libraries, and dynamic languages like Perl, who does that kind of stuff on a daily basis? I might remember something about B-Tree algorithms, but who hand-codes their own database anymore? In the hiring process, doesn't the track record of a person count for something?

    1. Re:Fascinating discussion.... by Anonymous Coward · · Score: 0

      Try thinking about the problem. If you are smart enough to solve programming problems, and know what kind of structure a "linked list" is, it is an easy problem. Not one that you can necessarily see the answer right away, but one that doesn't take genius to solve, and the solution isn't in any way complicated. This is why people kind of expect that a senior software engineer should be able to figure it out.

  48. Job seekers, what do ,,, by Shads · · Score: 1

    ...Job seekers, what do you do when you find yourself trapped in a sophomore study group?

    Find a new place to work, who'd want to work for those kinda idiots?

    --
    Shadus
  49. Companies / people don't know how to interview by pcause · · Score: 1

    There are too many companies and managers that don't really know how to interview. They look for very narrow and specific skills matches and resumes experience. They think that these "test" will tell you how someone thinks about problems. They sort of do, but they don't tell you about the person's ability to learn, grow and consistly deliver. Too many people think that things like language knowledge are key when anyone with the right experience cna pick up a language they don't know quickly. It isn't knowing syntax it is work ethic, problem solving, and adaptability. What they really want is the best and brightest candidate that they can find with skills that are close and a proven track record of being able to learn new things.

    I had someone who worked for me that went on an interview a couple of years ago who had superior skills in C++, knew MS GUI stuff, had learned Java in 4 weeks and built a very fancy applet, etc. He interviewed at a company that said "Well, you don't have 2 years of C#". C# was only 2 years old! The person toook another job, picked up C# in a few weeks and created some incredibly complex and innovative new applications.

    Things move fast and change in out business. Just because you are a Java shop today doesn't mean folks won't need to do Rails next week. You want bright and adaptable people. You want a track record of learning and adaptability. Yes, you might pay a few week learning curve, but after that the better person will more than make up for the learning time by producing more and better results.

    When you interview have someone with relatively similar level of experience do the interview. An interviewee might present a solution that is beyond the knowledge and skill of some junior person to get. That happened to someone else I know. The junior guy didn't know enough about Java and J2EE to understand the solution and why it was the best way to address a problem. This was in 2003. The interviewer had 2+ years of Java and the person being interviewed starting working in Java, full time in 1995!

    1. Re:Companies / people don't know how to interview by IL-CSIXTY4 · · Score: 1
      There are too many companies and managers that don't really know how to interview.

      This is the first sentance in your comment, and it's a great summary. The rest is just frosting on the cake. Seriously, this should be boldfaced, underlined, and done up in flashing neon orange.

      Most interviewers don't really know how to interview. Most managers don't really know how to manage. Most software architects don't really know how to architect software. And, to be fair, most programmers don't really know how to program. A lot of people out there are just winging it. They're people, after all. They pick up little tidbits of knowledge and technique here and there, improving their approach & skills, but they're really just doing the best they can.

      Coding tests are a quick & easy way to do an interview and make the interviewer look like they're asking the tough technical questions. Every interview I've been on these days has been like a game show, with me having to answer all sorts of trivia questions dealing with situations that never seem to come up in the real world (like the linked list example). But, that's what the person giving the interview wants me to answer, isn't it? If I want the job, I'd better be good at answering trivia.

      There's no class on interviewing in most college computer science curriculums. And even if there were, I doubt most people would take it. That's a shame, because building a good team is valuable to a project, especially when deadlines are tight and resources are thin.

  50. Don't Agree by zztong · · Score: 1

    Everyone has both strengths and weaknesses. You have to look at many factors when hiring. You could try to hire somebody to bring strengths to a team to cover for some weaknesses in existing members. You wouldn't want to hire just folks who work well when writing code on a white board. For one thing, why are we writing code on a white board in the first place? I usually use white boards to express ideas; quasi-pseudo code at the most.

    I don't ask folks to write code in an interview. It's not natural and I think it's a waste of time. I ask them to bring in some code they wrote. Hopefully they'll bring in some of their best code that they took the time to properly research, written in an environment they find conducive to development.

    Discussing an algorithm or doing some design work is better for an interview. It's the kind of thing you'll do together on the job after all.

    1. Re:Don't Agree by cayenne8 · · Score: 1
      "I don't ask folks to write code in an interview. It's not natural and I think it's a waste of time. I ask them to bring in some code they wrote. Hopefully they'll bring in some of their best code that they took the time to properly research..."

      Thank you...that, to me makes much more sense. Sure on a whiteboard (I hate those, would rather do it on pen an paper), it is ok to do a pseudo-code, but, really, for many things in the real world, you don't have everything memorized...you use documentation, code examples you find on the web.

      Occasionally I do some PL/SQL stuff that gets pretty darned complex....I keep tons of code samples of things I've written in the past, with all the banging the head against the monitor time put into them. I don't remember exactly how I did things after awhile, but, I do know where to look for how I did it before, and can retrieve, cut and paste it in, and adapt it to what I'm needing to do now. This works well for me, and has for a long time.

      But, having to just off the top of my head code on the fly in front of people is not a natural way to work.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    2. Re:Don't Agree by AJWM · · Score: 1

      Yep, which is why I said "not that I necessarily ask people to write code on a white board". But the orginal poster had a "Never..ever" in there that indicates a certain inflexibility.

      Inflexible programmers are brittle programmers -- and it's been my experience that they tend to write brittle code, or design brittle systems. Maybe it has something to do with a lack of imagination.

      --
      -- Alastair
  51. And are you giving the wrong impression? by Anonymous+Brave+Guy · · Score: 3, Informative

    The parent makes an excellent point, in that what Skreems and co. really seem to be testing for is people who match their approach. The implicit assumption that their approach is (a) the only one that works, or (b) better than everyone else's, is not going to help improve their business.

    There is also the problem that interview processes are two-way things. You don't know me, so let's assume for the sake of argument that I am a good programmer who knows his stuff. The moment I walk up to the building of a prospective employer I am sizing the company up. The moment someone greets me (or leaves me hanging around in reception for ten minutes) I am gauging how much value the people at the company really place on colleagues. And when we get to the technical questions, I am definitely judging the technical competence of those who would hire me, and the quality of the code produced by the existing staff if I see any.

    So, dear interviewers of the world, let me put this simply. I am interviewing you, too, and I expect you to know your stuff. I would not be here if I wasn't interested in your business, but I am confident of my own abilities, including my ability to find another job quickly if yours isn't up to scratch. And it will cost me a lot less than it will cost you if today is a waste of time.

    What does this mean in practice? Well, everyone's different. Personally, I think vague questions are fine and expected. I'll seek clarification without a second thought, because that's how the game works. But if the interviewer is a smart-ass, or repeatedly makes elementary mistakes, I won't take it upon myself to educate them. I will simply judge them incompetent, and not take a job working with them.

    Now, perhaps a lot of companies wouldn't want to hire someone like me. (They probably wouldn't like my non-negotiable rules on IP and my expectation that I will work the hours in my contract and not give them 50% more for free, either.) That's their decision, and I accept that my principles here will rule out some companies that I might have been happy working for. But just as an employer usually gets enough applications not to worry about missing the odd good one because there will be others, so it goes with good people and finding jobs.

    As they say, first impressions count. This is particularly true of interviews, because you'll never really know whether someone is a good candidate or an employer is a good place to work until a few days into the job, so the recruitment process is really just an attempt to make the guesses more educated. In this context, I'd advise any employer who wants to recruit people who are good rather than merely young and enthusiastic (now) to stick to sensible interview techniques, and avoid the time-wasting and trick questions. You aren't really hurting anyone but yourselves with that kind of stuff.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:And are you giving the wrong impression? by Skreems · · Score: 1

      How is seeing whether you can solve basic problems the same as "selecting for people who think like me"? I don't care HOW they solve the problem, so long as they seem competent. If I was looking for an exact algorithmic approach, then I could see your point, but when the process is just to give them a problem and see what they do... I don't buy that it's all that limiting.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    2. Re:And are you giving the wrong impression? by Anonymous+Brave+Guy · · Score: 1

      It wasn't so much your approach to problem-posing that I was noticing, but for example the focus on speed of coding that comes up multiple times in one of your paragraphs. Sure, being able to code reasonably quickly is a good thing, but would you rather take:

      1. a guy who can write fast, but leaves in a few subtle bugs that need fixing later;
      2. a guy who can write slightly slower, but without so many bugs;
      3. a guy who writes much less code in the same amount of time, but that code does the same job, is easier to read, and is well-documented?

      Now, for me, those guys are increasingly valuable as we go down the list. But if all you're looking for is speed and you're using toy examples where any decent guy ought to get everything right, you'll probably pick the first guy first, the second guy second, and the third guy last.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:And are you giving the wrong impression? by Senzei · · Score: 1
      The implicit assumption that their approach is (a) the only one that works, or (b) better than everyone else's, is not going to help improve their business.
      You forgot (c) that having a time entirely built of people who instinctively use the same approach has operational value. If your entire team thinks the same way, provided that thought process will successfully create software, you are going to have an easier time getting work out the door. Obviously there are caveats, and there may be factors that are more important than this, but I can understand why someone would base business decisions on this principle.

      That said, most companies that do end up hiring this way are probably going of some permutation (a), (b), or both. In which case I agree with what you are saying.

      --
      Slashdot: Where anecdotes and generalizations can be freely substituted for facts, logic, or intelligence
    4. Re:And are you giving the wrong impression? by Skreems · · Score: 1

      Now, for me, those guys are increasingly valuable as we go down the list. But if all you're looking for is speed and you're using toy examples where any decent guy ought to get everything right, you'll probably pick the first guy first, the second guy second, and the third guy last. I agree completely with your estimation of who's the most valuable. The thing is, you can't tell from an interview what kind of code someone's going to put out after months of working on a project. All you can really do is weed out the guy who can't write five lines of code in a half hour. The rest is basically down to personality and the "feel" of how you'd fit with the team.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    5. Re:And are you giving the wrong impression? by ClosedSource · · Score: 1

      "If your entire team thinks the same way, provided that thought process will successfully create software, you are going to have an easier time getting work out the door."

      It's easy to say "provided that thought process will successfully create software". But if we are allowed to assume that unproven statement, it would also be true if everybody used their own process, provided that those each of those processes "will successfully create software".

      It's funny how some people shun a mono culture of OS's but embrace a mono culture of software development practices.

    6. Re:And are you giving the wrong impression? by Senzei · · Score: 1
      t's easy to say "provided that thought process will successfully create software". But if we are allowed to assume that unproven statement, it would also be true if everybody used their own process, provided that those each of those processes "will successfully create software".
      ...where did you get that I was assuming an unproven statement? I think the statement I am making does make sense. If you are using a development process that works, having your team instinctively follow that process will make shipping software easier. It reduces training costs and impedance from people who are not really interested in following that development style.
      --
      Slashdot: Where anecdotes and generalizations can be freely substituted for facts, logic, or intelligence
    7. Re:And are you giving the wrong impression? by ClosedSource · · Score: 1

      OK, no asumptions. So you'd agree that if the process doesn't work or individual processes work just as well, then a "standard" process doesn't offer any advantage, right?

      Since we have no way in general to determine which conditions apply, we can't conclude in general that expecting candidates to solve problems in a standard way is a good thing. So it just goes back to the subjective judgement of those who are doing the interviews.

    8. Re:And are you giving the wrong impression? by Senzei · · Score: 1
      OK, no asumptions. So you'd agree that if the process doesn't work or individual processes work just as well, then a "standard" process doesn't offer any advantage, right?
      I don't agree that individual processes work just as well when you are talking about functioning as a group. Eventually you will have people who follow one process attempting to work with code created under another. All I am saying is that having your entire team approach problems in the same way makes this situation easier. I am not trying to justify this in all situations, but I do see where someone would come up with the idea that it is worth trying.
      --
      Slashdot: Where anecdotes and generalizations can be freely substituted for facts, logic, or intelligence
    9. Re:And are you giving the wrong impression? by ClosedSource · · Score: 1

      "Eventually you will have people who follow one process attempting to work with code created under another."

      This is as much of a problem as you choose to make it.

  52. Ctt by lobsterGun · · Score: 1

    I used to work with a guy named John. He told me this story.

    A few years ago John was interviewing candidates for a position. He received a few resumes, but one really stood out. The guy looked sharp...on paper. The odd thing was that during the intereviewed, he kept talking about all of the Ctt experience he had - Johns had never heard of Ctt and wondered what the guy was talking about. When quized about it the candidate was rather vague, only describing it as an object oriented version of c. That's when John experienced what some refer to as a moment of clarity. The candidate was saying Ctt, but he was talking about C++. Further investigation revealed that the guy was completely full of shit and had fabricated the entire resume.

    and that's they story of why they give programming quizes to candidates...even those that look good on paper.

    1. Re:Ctt by Anonymous Coward · · Score: 0

      not Ctt.....??

      No wonder I could never find anything on Google about the subject!

  53. Maybe they don't want the most experience. by hal2814 · · Score: 2, Interesting

    What job were you applying for? Has it occured to you that you may be overqualified for the position if you're probably interviewing along with kids fresh from school? I've done many an interview and had to turn down plenty of overqualified candidates. Given their interests and abilities, they would've grown bored with the work we required of them very quickly even though they may be better at doing it in the short term. If they're gearing the interviews towards new grads, maybe that's for a reason.

  54. Tips for young interviewers by Anonymous+Brave+Guy · · Score: 2, Insightful

    FWIW, the following advice seems to come up a lot in these discussions. I haven't interviewed much myself, so this is mostly my way of summarising second-hand information; take it with a pinch of salt.

    1. Be friendly and confident, but don't try to be artificially authoritative. You won't carry it off, and since they're interviewing for a job with you there is enough implied authority on your side anyway.
    2. Make written notes on key points, but don't become too focussed on it. Pay attention to the candidate at all times.
    3. Ask enough sensible, relevant questions to get a fair idea of the candidate's abilities. Once you've got that, don't draw the interview out unnecessarily. The odd friendly comment or joke by either side is fine if it's natural, but beware straying too far off-topic.
    4. Open-ended questions are often better than those with a specific "right answer". You can tell a lot about a person from how they approach an open-ended question. Remember that listening is a more valuable skill than speaking.
    5. Talk positively. If you're gauging whether they'd fit with your company's working practices, ask if they'd be comfortable with X rather than whether they'd "have a problem" with Y. If you're talking about something that the candidate once did wrong, focus on how they recovered rather than the mistake.
    6. Don't ask trick questions. They don't tell you anything useful about the candidate, and make you look like an ass.
    7. Remember that interviews are two-way things. Give your candidate a fair chance to ask questions in return, preferably throughout the interview not just as an afterthought before the final handshake. Treat these the same way you'd treat questions if you were being interviewed yourself: pitch your company in a good light, but be honest and accurate.
    8. Check with someone in your legal team/HR/whatever you have access to about any questions you're not allowed to ask because of discrimination laws. Age-related questions might well be relevant in your case. For example, the answer to "Would you be comfortable working for someone younger than you?" can be informative, but you may not be allowed to ask that question.
    9. Using a single interviewer is not an ideal recruiting practice, because any one person might have preconceptions or pick up the wrong vibe even if well-intentioned. If your circumstances mean you're in this position, be careful not to let any personal preferences or prejudices colour your objective judgement.
    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  55. "Just walk away... by Lurker2288 · · Score: 1

    ...you can put a stop to all this. Just walk away, and we will spare your lives."

  56. Strange by Slashdot+Parent · · Score: 2, Insightful
    I do freelance work as well, and every client that I've ever had wanted to see my resume.

    A request for a resume resume, doesn't necessarily mean that the position is W-2. Just so you know for the next time you feel the need to alienate a potential client.

    Even if the position was W-2, who do you think that manager will call with an open contract need? I'll give you a hint: it ain't you.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  57. Show me *your* code by Anonymous Coward · · Score: 1, Insightful

    I have a job I enjoy, that is well paying, and I don't anticipate looking in the near future, but the next time I do interview for a job I am going to ask to see *their* code and see if they can solve a problem *I* give them on a whiteboard. I want to make sure they can write code that is understandable and is commented. I want to learn new things and be challenged, not dig someone out of a mess they made because *they* don't know how to develop - or worse, expect me to maintain/extend that mess and never dig out of it.

    As for that particular retailer - I've had the opportunity to interview with them, I declined, ditto for MS. I have decided that life is too short to work for such companies. I would rather work for a small company nobody has heard of that is doing something interesting.

  58. Be thankful you got an interview at all. by Richard+Steiner · · Score: 1

    As I found out when I was seeking work a few years ago, and as my youngest brother found out quite recently, getting to the interview stage is a challenge in itself these days. There are so many filtering mechanisms in place before the actual person-to-person interview process that it's a wonder that companies are able to find *anyone* who fits their overexacting requirements.

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  59. Just go ahead and correct them. by Malkin · · Score: 2, Interesting

    I have corrected interviewers in the past, and still received a job offer. Take it to a higher authority, if necessary, to convince them of their error. I once put the K&R smackdown on one guy who was trying to ask a trick question, and didn't have his facts straight. As long as you make an effort not to bruise their egos too much about it, they will usually come away with a positive impression. If they don't, then you don't want to work with them, anyway.

  60. Build up a reputation by Anonymous Coward · · Score: 0

    I've been on some nutty interviews where I got asked the craziest questions by utter nincompoops. Its best to stay out of the rat race. Maintain a rolodex of old freinds and acquantainces who know you, your reputation. If you ned to find a job, just start calling. Typically, if there's an opening, you'll get hired on the spot, no interview, nothing, simply because they already know who you are. Better yet, you might get wind of two or three openings, and then you get to choose the one you want. Much, much better deal than the anonymous walked-in-off-the-street hiring process.

  61. Just my 2 cents by MadCat · · Score: 2, Interesting

    I've been on both sides of the hiring fence a few times, and most "vague" questions from interviewers are usually meant to see what your reaction will be to it, whether you blithely accept it and start mucking about or whether you will ask more questions to figure out what exactly the issue is.

    Ofcourse there are also interviewers that shouldn't be allowed near a computer.

    When doing the hiring (haven't in a while to be honest) I like to ask a few "easy" questions first, mostly centered on "how would you do X" just to see whether someone has the basic knowledge needed. If they can't answer them, it's not an immediate "no hire" but it does tend to weed out the bullshit artists. I also like to drill down. One of the last interviews I did was for a perl programmer position, so I put together some questions, some code, tossed that on a laptop, gave the interviewee the laptop and asked him to go ahead and solve my questions (implementation of a logfile parser that'd auto-update an iptables firewall for people dictionary-bombing ssh), and to fix my broken code, or suggest ways in which it could be done better.

    That usually gets you a clear picture of whether someone is actually capable of performing, and doing some thinking on the spot. They are allowed to Google to their hearts content, and they can grab the big bad Perl book as well. I'm satisfied if people can't necessarily tell me things from memory, but they know where (and how) to find the information they need.

    After that I try to see how they'd fit into the team as far as personality goes. How that's done depends on the applicant, and the team itself. Usually I'll take them on a little tour past the team first, show some things they're working on, then ask the applicant what he thinks and see whether he's either going to be the diplomatic type, or be honest and maybe suggest other ways to do things. I'll leave them with the team for a while and see how the discussion ends up going. This also gives the team an idea of what the applicant does or doesn't know.

    Afterwards I'll usually ask the team what they thought, and take that into account as well.

    I figure it's a fair way to do an interview, because people do get the chance to "show off" what they know, and I get to see whether they could work with the team.

    Being the applicant myself, the absolute worst experience is when you're asked a question, you don't know the answer, but your answer of "I don't know how to do this, but I know where to find the information that will teach me how to do it" is classified as being totally wrong. I've forgotten a lot of things in the past 10 years, and often don't memorize the obscure details of certain function calls, but I know where to find all the information that I'd need to make it work.

    Just my 2 cents.

    --
    There is no sig...
  62. I have always wondered why software is so awful by Anonymous Coward · · Score: 0

    I'm not a programmer, but I built and sold a sturdy mailing list manager on Paradox for DOS. I took great pride in its technical aspects that was apparent to anyone who sat down and used it.

    Your contempt for excellence explains why so many great programs have been versioned into junk. I am thinking of Paradigm, it was a wonderfully productive fund raiser, best of breed. It was bought out by Best Software and improved by team leaders to the point where it's a bug ridden mess.

    You are threatened by competence. You undoubtedly cut your teeth in the dot bomb era where a mans' intellect was defined by the number of his PowerPoint slides. Now I know what happened to Borland Software.

  63. Those stupid tests are worth it by real+gumby · · Score: 1
    Believe me, those stupid tests pay off.

    At my last company the following people interviewed candidates:
    • The hiring manager
    • someone with particular expertise in the domain we needed and the candidate claimed to have (even if not in the team that person would be hired into)
    • all the team mates for that person (or many of them)
    The idea is that we'd have a good feel for the person's abilities and how they fit in and they'd get a better idea of whom they'd be working with.

    Whoever went first was supposed to ask a simple programming question which required answering it on the board. The asker was always someone senior so you didn't have a newby try to show off. We always told the candidate what we were doing, something along the lines of "Just solve this little problem on the board. It's OK if you miss a semicolon or something; the idea is just to get an idea of how you think." It's amazing how many people failed these trivial examples. If you flopped, we cut things short so as not to waste the candidate's time or (especially) ours. Examples:
    • "Here's an array of numbers. Please return another array with them sorted". (or sometimes "sort them in place"). One candidate allocated two temporary arrays and still managed to permute, but not sort the array. Oh and he returned a pointer to a locally-allocated array on the stack. Another just copied the array, and took a lot of prompting to figure out why. That guy actually sent me an alternate solution the next day -- and it was wrong too.
    • Another one (a systems programmer with "years of kernel experience") I asked how strace worked. After I explained what it did, he said it recompiled the code. I suggested that it could be run for a static binary to which I didn't have the source or symbols. He became abusive and started flaming me for "these stupid questions that don't relate to the job" (too bad for him system performance was the job area).
    A couple of people ended up copying the array but when asked "are you sure?" would go "damn" and fix it. That was fine -- we assured them that it was OK and clearly just the stress of an interview. Then we'd tell them that they would be amazed at how many people couldn't pass and apologize for the elementary nature of the problem and say that that they shouldn't worry about the silly mistake which of course we all make from time to time even when not under pressure.

    It's just as bad when a company rejects a candidate just for making a stupid mistake. In fact people who see the mistake and deal with it (even if they're embarassed) are people with integrity. Those are the people I would hope we all want to work with. Frankly it sucks to put them under pressure but I don't know a better way to squeeze out the impostors.

    It's also important that the candidates get as much opportunity to see their future coworkers as possible. If they hate us, well, better they flush us up front than we all waste time.

    At my current company we have a slightly different approach (unfortunate but unavoidable due to certain atypical circumstances) and can't do this. And a couple of ringers have snuck through.
  64. Tests... by cr0sh · · Score: 1
    Coming in this a bit late, oh well...


    I recently went on an interview for a PHP/MySQL position. The company was very small, and I have lots of experience (15 years) in a variety of areas, that I thought I might be perfect for the position. Unfortunately, I don't have any real world PHP/MySQL experience - most of this area has been done at home using a Mandrake box I set up for the purpose of recoding my website (I wish I had it done and up - I could have shown them what I have been working on). My most current experience has been using ASP and MSSQL - I also have experience with a variety of other languages (Perl, VB, Python, various assembler, etc) and DB platforms (MSSQL, Access, PostgreSQL, MySQL, etc).


    As part of the interview process they asked me a variety of questions relating to both PHP and MySQL. All of the questions I had past experiences with, but unfortunately for me since I didn't have much past experiences with the problems they described, I know I flubbed on them badly. When I didn't know the answer, I told them "I don't know". When I knew the answer, or had an idea, I tried to articulate it as best as possible. I know that some of the answers I got were 100% correct, but others I honestly had no clue, and I told them that.


    I then tried to tell them what I would do in such a situation - ie, not knowing the answer, or not knowing the answer fully. I told them I would likely use Google to find the solution. I don't know if they liked this answer or not (it seems likely they didn't) - but it is the truth. When I don't know the answer to something, I consult books (if I have them) or Google around until I find a solution. I don't just cut and paste code, either - I try to understand the solution and the why for it, and then keep it in my mind for future use. Unfortunately, if I only run into something once from six months ago, I am likely to forget it. However, rare has been a problem that somebody else has had and it isn't answered on Google or any other of the methods I know to research. My personal library is pretty large, and the public library is much larger still. If I couldn't find something in PHP, I would search for the general problem area in all languages - if all I could find was something in ALGOL from 30 years ago, then so be it - I will convert the code and understand it.


    Like I said, I don't think they liked my answer, as I have yet to hear anything from them, and it has been a few weeks since that interview. I sent a follow-up thank-you email. I also called to ask if the selection process was still occurring, and they said "yes, can we call you back tommorow?" - but tommorow never came...


    To me, this is what irks me the most, and makes me question if I really want to work there: if the company can't even take the small amount of time to tell you on the phone "Sorry, we have selected another candidate", even after repeated requests - if they don't have the courage to say "no" to an interviewee who has failed the selection process - then will they have the fortitude to question other decisions made by their vendors or clients? In the end, I think I might have just failed because of lack of significant exposure to PHP and MySQL. Maybe I will have better luck in the future. I do think, however, that I deserve at least a "Thank you, but no thanks"...

    --
    Reason is the Path to God - Anon
  65. Context by Anonymous Coward · · Score: 0

    My, how German. If one cannot accept a question on its own premises, including context, one isn't much of a problem solver. In a hypothetical interview: By going through your whole Spiel on how great you are by showing how little the interviewer is, you've wasted not only his time, but also your own. The question as posed is obviously unuseful in a production system, but it is there simply to gauge some criteria the interviewer is looking for.

    "If you really want it to be permanent reversed, swap head and tail."

    Ok... what happens to the next pointer of the head and the previous pointer of the tail during this maneuver?

    "If you really really want to reverse in place, then I ask how the heck you managed to load your data in backwards in the first place."

    I'd answer that's outside the problem scope. If you kept insisting, I'd tell you customer constraints involved using a third party library that had a key function returning a pointer to a singly linked list - which needs to be processed in reverse.

    "Only after you could explain that would I bother with the fact that the previously mentioned reverse link list can just be used to swap pointers by chaining both directions at once. Of course, such an operation requires a locking mechanism for the list as a whole and I'm going to guess that any software that requires swapping a singly linked list in place probably doesn't bother doing that."

    At which point, I'd say the list was in non-shared memory and ask why you had to go copy all that data when you could have used a couple of temp variables to iterate through the list and reverse it in one sweep. To give you a second chance, I'd have asked how one could minimize the amount of variables needed by swapping without an intermediate variable.

    Then I would have asked you where you took up your Zen and which brand of Zen one is supposed to flaunt.

    Oh well, guess you wouldn't have wanted to work for me anyways.

    H.S.

  66. Think they don't know what they are doing... by jordandeamattson · · Score: 1

    Actually, I think that they don't know what they are doing.

    I am a experienced software and quality engineering manager with 20 plus years of post-college experience. I also put myself through school writing systems for UC Santa Cruz's Administrative Information Systems group in the earlier to mid-80s.

    I recently went through a round of 18 interviews at a large web software company. Early on I had an interview with a young, smart, and energetic guy. In the interview he told me that he had worked at Microsoft and then had come to this company. Based on his comments I pegged him as having 4-6 years of experience.

    We were discussing N-Tier web applications (point of information, I worked on my first N-Tier web application in 1994). In the course of discussing load balancing for this mythical application, I made a reference to "round robin DNS". At this point our interviewer stopped the interview dead and said, "Do you even know what DNS does?". I then patiently explained what DNS does and how it works, but it was clear that he didn't come back to a strong level of comfort with me. What disturbed me, is he didn't ask me, "What is round robin DNS? Why would you use it?"

    A couple of weeks later - in the same loop of interviews - I was speaking to an engineering lead with a decade and a half to two decades of experience. We were going through the same questsion and I this time I spoke about load balancing and perhaps using an F5 (which we had used at my previous employer), but made a comment, "I had to catch myself there, and make sure I didn't refer to "round robin DNS", that got me in trouble with someone earlier..."

    My experienced lead jumped on that comment and said, "Round robin DNS! Wow, haven't heard that one mentioned in quite a while!" He then drilled down on how we used round robin DNS and situations in which I would use it in contrast to a more intelligent load balancer like an F5.

    I honestly believe that a number of companies have created an environment and hiring process that is perfect for getting the best of "new blood". These processes can be and are driven by high qualitative inputs, but don't attempt to bring in qualitative factors. They are able to hire for skills, knowledge, and to a degree talent. They can't hire for experience. The systems breakdown when attempting to hire experienced people and technical leaders (managers, directors, etc.).

    Going into the hiring process at this company, I spoke to several of my friends who work there. They said upfront in unison, "Jordan we don't know how to hire managers and experienced people here. I have seen fantastic technical leaders get rejected for no reason I can grok. Be warned. It might now be fun."

    Simply put, these folks are lacking in wisdom. They don't know what they don't know. Because they think they know everything of value (which is everything they learned in University and their early work experience) and are running their BS detectors at maximum output, they trigger on anything thing that doesn't fit what they know and assume you are BSing them.

    Yours,

    Jordan

  67. what would you have wanted us to ask? by Anonymous Coward · · Score: 0

    Posting anonymously, for the purpose of sharing my personal views, and not speaking officially on behalf of the company in any way:

    So, I was part of your interview loop.

    I have tried to read through your postings here with an open mind, taking in everything you have said. I realize I have probably failed at this goal, as there is much emotion and wounded ego at play here, on both sides. That said, I'm not posting this to flame, or to hurt, but with the hope that I (and the both of us) may genuinely learn. And I must preface my comments with the unfortunate disclaimer that, should your reply be along such unconstructive lines, I will not be inclined to reply further.

    I am curious to know (non-rhetorically asked) what you would have preferred to have been asked instead? What could have been asked or discussed? In other words: you've clearly denounced our interviewing as "wrong". So what would have been "right"? I don't ask this with any snarl or malice; I would genuinely like to know how I could do things better.

    My inquiry pertains to something you wrote in your rebuke to us:
    > In some ways its like asking an accomplished chef "how do you cook an egg?"
    > The chef will tend to balk when he talks about the egg being "done"
    > and the questioner asks "how do you know it's 'done'?".

    Interviewing is a [fascinatingly] difficult challenge from the point of view of the business. One has a mere x minutes to go from virtually zero information to a hiring decision. That is an incredibly hard problem. The process will always be imperfect; hence, the goal (in aggregate) is to have fewer false positives than false negatives.

    In the spirit of joelonsoftware.com's writings on interviewing, I generally seek confirmation of two areas: aptitude and productivity. I also give high marks to positive attitude and desire for learning (what I call "runway"). I don't really care how those areas are confirmed. But I need the confirmation.

    Some of my best interview candidates have been ones that, through no intentional malice or "sneaky plan" on their part, have 'hijacked' a good part of the interview (I say 'hijacked' in quotes because I intentionally allowed, even encouraged, the digression). They realize upfront that more than anything, an interview is a **data-finding** exercise on the part of the interviewer. And for that reason, they bring a lot of data to share: sample code printouts from their hand-selected "best work ever"; they might have a big print-out of some cool architectural diagram; or they talk about some cool side project they've done, or say (even plead), "please go to .com and check out the software I've posted, I think it's pretty cool". Personally, this alone probably made the difference in my getting hired. As an interviewer, I will always 100% of the time follow up on such invitations -- not just as a courtesy to the candidate for his/her initiative, but also because it is likely to better provide the data I'm seeking than any 15 minute canned problem ever will.

    Getting to my inquiry:

    In your "accomplished chef" analogy, you overlook the employer's fundamental need to collect data. I really am at a loss and do not understand how you can argue this: is the employer simply supposed to take your word that you are an accomplished chef, a veteran architect?

    It's an interview. We don't know you, but we genuinely want to know you. In a cynical sense, yes, you have to sell us about yourself. In a more tempered sense, you have to make sure we get accurate data ("the full picture") about yourself -- this is especially true if you think our questions are overlooking key areas of strength on your part.

    Personally, I would expect a truly accomplished chef (senior engineer) to have the awareness and, well, the humility to know that he should never "balk" at a question because it is somehow beneath him / a waste of time / aside from the point, etc. Instead, he would (1) give consideration to the ba

  68. And who you know by CBob · · Score: 1

    We've got a user base of 6k and the most important thing seems to be...Who you know. Hiring prefs to friends and family members are more the rule than exception.