Slashdot Mirror


Programming Interview Questions Are Too Hard and Too Short (triplebyte.com)

Programming interview questions can feel unnecessarily difficult. Sometimes they actually are, a new study has found. And this isn't just because they make interviews excessively stressful. The study shows that harder programming questions actually do a worse job of predicting final outcomes than easier ones. From the study: Programming under time pressure is difficult. This is especially true during interviews. A coding exercise that would seem simple under normal circumstances somehow becomes a formidable challenge under the bright lights of an interview room. Stress hormones cloud your thinking during interviews (even though, sadly, neither fight nor flight is an effective response to a menacing programming problem). And it can almost feel like the questions are designed to be perversely difficult. I actually think this is more than just a feeling.

Interview questions are designed to be hard. Because the cost of hiring a bad engineer is so much higher than the cost of rejecting a good engineer, companies are incentivized to set a high bar. And for most companies that means asking hard questions. Intuitively this makes sense because harder questions seem like they should result in a more rigorous screening process. But intuition turns out to be a poor guide here. Our data shows that harder questions are actually less predictive than relatively easy ones.
Further reading: Programmers Are Confessing Their Coding Sins To Protest a Broken Job Interview Process.

463 comments

  1. Harder? by Anonymous Coward · · Score: 0

    It sounds like what they really mean is more time consuming

    1. Re: Harder? by Anonymous Coward · · Score: 4, Insightful

      Answers are never that important to me as an interviewer unless I am verifying they possess a certain skill. I am much more interested in how conscientious a candidate is in looking for the right answer. It is predictive of how they will solve real problems when they are unsupervised later after being hired.

    2. Re: Harder? by Penguinisto · · Score: 4, Interesting

      Answers are never that important to me as an interviewer unless I am verifying they possess a certain skill. I am much more interested in how conscientious a candidate is in looking for the right answer. It is predictive of how they will solve real problems when they are unsupervised later after being hired.

      Quoted in full for emphasis.

      It's not always important to have a problem answered fully or correctly in the allotted time. It is far more important to see *how* the candidate tackles the issue, what steps they take, what mental tools they bring to bear, and most important of all, knowing when to ask for more information and/or assistance (and then paying attention to what they're asking for, and the reasons they state as to why.)

      I used to do this back when I dealt with just sysadmins. One of the fun bits was to chattr +i a config file, but then have them alter it as part of the testing (but not give them the permissions to fully do that).

      The point wasn't to torture anyone, but to see how they handle non-ordinary problems. To watch how they tackle it, how they determine what's going on, then know whether or not to ask for help - and to see if that request for help is specific ("you'll have to change the attributes back before I can update it"), or if it was vague.

      That told me more about the skills of the candidate than whether or not they successfully knocked out a problem.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    3. Re: Harder? by Anonymous Coward · · Score: 0

      It would be funny to put a bunch of people in the room telling the candidate not to ask questions. I wonder what that would tell you.

    4. Re: Harder? by jellomizer · · Score: 3, Interesting

      I have found it useful to give them questions that they may not know.
      I had a test that seemed to be rather good at judging ones ability. And it took people an average of 4 hours to complete.

      Question 1. I have an HTML file with a Picture of two boxes overlapping each other, and a box with two empty Div's asking them to make the other box look like the picture. (Non Web people will need to google to learn how to use style sheets, and position properitys)

      Question 2. A simple Application form, that asks for the address, validates that the format is correct, and just pops up a text box giving the errors or showing the address in a proper US mailing address format. (The zip code with leading 0's gets them every time. )

      Question 3. A SQL Stored procedure, that returns a table where the rows become the column. The code works correctly, however there is a null in the data, preventing it form working correctly. (So they either will need to do something with the null, or exclude it, extra bonus points if they state how insecure that code was.)

      This seemed to have allowed the company to get some good employees, but still it isn't fool proof, a few people slipped threw the cracks, mostly because they actually had experienced those particular issues before, so they knew how to handle them, but turned out they would struggle on new problems.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re: Harder? by Anonymous Coward · · Score: 0

      With each passing year, the idea being a "code monkey" is less and less appealing.

      We are essentially disposable robots, doing what we are told, and have no input into what we are building.

      Make that box look like the picture. Why? Is that the best way to convey the idea being communicated? Is there a better way? Is it even necessary? What happens in Rev 2? How hard will it be to change? Should we be ready for three boxes? Unlimited number of boxes?

      All questions that are pretty much not in your pay grade. Shut up and code to the specs.

      No thanks.

    6. Re: Harder? by Ryanrule · · Score: 3, Insightful

      Maybe you could talk to them, instead of trying to deceive them?

    7. Re: Harder? by Anonymous Coward · · Score: 0

      Oh stop making sense

    8. Re: Harder? by luis_a_espinal · · Score: 2

      I have found it useful to give them questions that they may not know. I had a test that seemed to be rather good at judging ones ability. And it took people an average of 4 hours to complete.

      Question 1. I have an HTML file with a Picture of two boxes overlapping each other, and a box with two empty Div's asking them to make the other box look like the picture. (Non Web people will need to google to learn how to use style sheets, and position properitys)

      Question 2. A simple Application form, that asks for the address, validates that the format is correct, and just pops up a text box giving the errors or showing the address in a proper US mailing address format. (The zip code with leading 0's gets them every time. )

      Question 3. A SQL Stored procedure, that returns a table where the rows become the column. The code works correctly, however there is a null in the data, preventing it form working correctly. (So they either will need to do something with the null, or exclude it, extra bonus points if they state how insecure that code was.)

      This seemed to have allowed the company to get some good employees, but still it isn't fool proof, a few people slipped threw the cracks, mostly because they actually had experienced those particular issues before, so they knew how to handle them, but turned out they would struggle on new problems.

      This is the correct outlook.

      Unfortunately, there are enough "interviewers" out there looking for canned code monkeys, that it really makes an already stressful activity (job hunting) into an even worse hassle.

    9. Re: Harder? by jlowery · · Score: 1

      My first reaction is "Why?" to these types of questions. I work for a small company now: they have things that need to be done. Coding in large enterprises tends to be "coding in the small", with little creativity required and everything spelled out for you.

      --
      If you post it, they will read.
    10. Re: Harder? by Anonymous Coward · · Score: 0

      Shut up and code like a good little monkey, or you'll be replaced with a H1B.

      Fuck you, prole, that's why.

    11. Re: Harder? by Penguinisto · · Score: 2

      Maybe you could talk to them, instead of trying to deceive them?

      You don't have to deceive them entirely - just emulate a problem or two to see how they handle it.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    12. Re: Harder? by GuB-42 · · Score: 2, Informative

      Part of a sysadmin job is to fix the mess of others, get lied to and deal with incompetents.

      Sometimes, you'll have to fix a problem, and no one will be there to help you. You are the expert, you are supposed to fix problems, not the other way around. When asked, people will invariably tell you they did nothing. If there is some problem you can't fix (ex: that "read only" attribute), you'll probably have to tell the person who can fix it exactly what to do. Either because that person doesn't know (remember, you are the expert), or because he is some kind of higher up who specifically hired you not to waste his time.

    13. Re: Harder? by Kohath · · Score: 1

      A good talker can use up the interview time on subjects they know well. Then you don't know their weaknesses. Skilled interviewers can deal with that situation, but how many people were hired for their skills interviewing job applicants? It's a complete crap shoot whether anyone conducting an interview is a skilled interviewer. Different types of interviewers choose different approaches based on what works for them.

    14. Re: Harder? by Anonymous Coward · · Score: 0

      If you burn up the clock without impressing them they don't usually hire you. They're looking for red flags but they also need a few "oh wow this is a smart dude" moments in order to land the interview

    15. Re: Harder? by tungstencoil · · Score: 2
      This! In fact, I"ll expand it do include a subset of larger companies as well.

      The company I work for has multiple divisions. We primarily build technology. In some divisions, the people who write code are, indeed, just laborers who build exactly what is provided them.

      But in a couple - magical - divisions, the people writing the code understand the intent, the business, and the objectives. It's much harder to find, hire, and develop these people. It's especially bad when someone is good at one facet but not all of them. It's really difficult to scale. That's why so many places "grow" to a point where things like the business, design, architecture, etc. are divvied up. They also end up being (individually) "expensive", at least on paper.

      However, if you can make it work, the employees tend to love it. There is some survivor bias - people who don't like it are amongst those who cycle out. "I'd rather just code than deal with foo." It's also hard to scale.

      Honestly, there's merit in both approaches. As for personal satisfaction, it depends where you land in terms of what you truly enjoy.

    16. Re:Harder? by bluelip · · Score: 1

      I took the TripleByte pre-quiz. They've been hounding me for my 'skills' in development being a great fit for a company that is hiring. The quiz said I was a 'top' candidate.

      I've never been a developer so I don't know why their analysis suggests I'd be a good coder. I don't trust their recruiting methods.

      --

      Yep, I never spell check.
      More incorrect spellings can be found he
    17. Re: Harder? by bobby · · Score: 1

      I need to post this at top level, but your post inspired this thought: one of the inherent problems with the process (that you're caught up in) is that I'm looking for a full-time job, where I'll likely have weeks or months or on-going work on a project. The typical HR process (tests, interviews, etc.) is a crap-shoot because I might happen to have the knowledge, luck, and work well under the undue pressure of a job interview, but maybe I don't at that time, but maybe I would be the best for the job if someone could evaluate my potential.

      Sometimes I can (and do) solve complex problems very quickly and people think I'm a genius, but it all depends on A) the amount of knowledge I have on the topic and can remember when needed for processing, and B) some kind of luck / magic.

      Otherwise it involves research, which could take hours, days, weeks, which nobody has during an interview.

      And I'm not just philosophizing / theorizing as so many do; this is from direct experience, and observation of very wrong people getting hired and becoming coworkers.

      Very flawed process. Wrong people get hired. Square pegs in round holes.

      BTW, yes, I've hired people and/or taken part in the decision process. I administered very simple tests. In one notable case I hired the 2 guys who would have failed every current HR checklist item. By HR rules, they were the least qualified for the jobs (one hid his almost complete Cornell BSEE). But they were the only two who got all the test questions right. Both were awesome productive. The other one went to night school for a BSEE and graduated Summa Cum Laude.

      My point: HR are generally (I wrote "generally") egotistical control-freaks and should not be allowed to make hiring decisions for technical workers, unless you have actual technical people who also wear HR hats part-time.

    18. Re: Harder? by Anonymous Coward · · Score: 0

      That's great. For you.

      I took a programming test for a job and you were graded pass/fail. There was no interview unless you passed. The programming language was an archaic, truly terrible language that I have been avoiding for years and have little interest in. Seriously, I don't want to work in that language.

      OK you say, but the job requires that you know the old programming language. So all worked out? Except, no actually. Without going into details, 99.9% of the jobs this test was screening for, would not have involved using the ancient junk.

      Total HR failure. Total recruitment failure.

    19. Re:Harder? by Darinbob · · Score: 1

      I've given one question that totally stumped the two people I gave it two before I stopped asking it. One was in a total panic and visibly sweating over it. All I wanted to see was how they approached the problem, but I think candidates really think that they must have the right answer (and I have often had interviewees ask me if they got the right answer or what the right answer was).

      The thing was, at my previous job I was asking all sorts of hard questions and having them answered. Not super hard to be sure, but enough that you knew some thinking was going on. After that though my standards have declined because so many candidates were just awful. I suspect a problem with recruiting and HR screening and not being in as glamorous a field.

      What surprises me that I will apologize for a question in advance saying "I know this is simple but I ask it of everyone" and then the candidates stumble and flail around. And the candidates are NOT newly graduated students, but people who claim to have a decade or more of embedded systems experience looking for a senior position and yet they can't answer the simplest questions. Ie, how to clear a bit in a word with C, it's something you do all the damn time in small embedded systems and even if you haven't done it you can figure it out quickly with basic binary logic. My standards at this point are that I won't have to be a remedial tutor for the candidate.

      The thing is, you MUST ask the programming questions because most of the resumes are exaggerations or outright lies. People cannot program merely by going to google every time there's a new bug or task. I see candidates who claim big things on the resumes, citing what great project they worked on but in actuality they just fixed bugs in the logging mechanism.

    20. Re: Harder? by Darinbob · · Score: 0

      You misunderstand part of the interview process here. The candidates are almost always trying to deceive you. The goal is to find out if they are lying and what parts of their resume are accurate, and most importantly if they can do the job. It is far too common to have a candidate that seems to pass with flying colors and then utterly fail at the job. I've seen cases where in only one or two weeks it is clear that a mistake was made in hiring the person.

      Now it's not always that way. In some companies I've been at everyone seemed competent, and in other places there were a lot of barely competent people, and some places were a mix. If you've never had to deal trying to decide if a candidate is actually good or merely doing a good job of acting, then you're lucky.

    21. Re: Harder? by Darinbob · · Score: 1

      This is a part of the job. It makes sense to see if the candidate can handle the job. There are no jobs available where you can get by just programming Fizz-Buzz every day. If the candidate can't do the hard stuff then the candidate is not worth hiring.

      In other words, find out if the candidate can pull their own weight. Sure, relax the standards for entry level hires, increase them for junior level, and be very picky for senior hires.

    22. Re:Harder? by NormalVisual · · Score: 1

      I've never been a developer so I don't know why their analysis suggests I'd be a good coder.

      You don't necessarily have to be a software engineer to be a decent coder - it's not as hard as some make it out to be. The lead in my group working on embedded stuff is a mechanical engineer, but he's a damned fine coder too, even though that's outside his "official" expertise.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    23. Re: Harder? by Darinbob · · Score: 1

      The code monkey is generally the entry level job. You work your way up beyond that. But even at some senior levels you are still doing coding, especially if the team or company is not large. It's rare to just drop big boxes in an architecture diagram and then let junior people do the programming from there.

      (possibly GUI is weird in this regard from listening to others in that many companies have a UX designer who never touches a computer and yet has strongly held views on how things must be done)

      But if you don't like programming at all, then go into product or project management instead. Not wanting to code in a computing system job is like saying you don't like to do math when your job is a physicist.

    24. Re: Harder? by Darinbob · · Score: 1

      Often the very useful people get turned into management. Sometimes they can still program but it's such a time sync that they spend less and less time doing this. I was promoted to management and I honestly feel like I am so much less useful now, I'd much rather be programming as a team lead or mentor and let someone else do the bureaucratic stuff and attend the useless meetings.

    25. Re: Harder? by Darinbob · · Score: 1

      No, it'll be outsourced overseas, H1Bs are too expensive.

    26. Re: Harder? by Anonymous Coward · · Score: 0

      That's all true for helpdesk. SysAdmins shouldn't be doing helpdesk work. If you are dealing with individual users "I can't print" bull, you are not a sysadmin.

    27. Re: Harder? by Anonymous Coward · · Score: 0

      If you know what you are dong it takes less than a minute after pleasantries to know if someone is functionally incompetent and under rive to know if they are highly skilled.

      Your interview questions should be non exotic, preferably non overly specific samples of problems you actually had and solved already. That let's you walk through problem solving and thought process. That identifies idiots in under a minute. If you are budgeted for highly skilled problem solver, you can then add (internally self consistent) detail and hiccups to the process to go for the exotic stuff.

      Helpdesk: Someone calls and says they can't print, how do you fix it for them?
      Answer: Check network connectivity, test print from another machine then isolate to machine/app/document and resolve from there. If it is a document specific issue, try washing it through print as pdf etc and submit a copy if the document for further review if needed.

      Print app programmer: How do you write an LPR daemon for our app?
      Answer: Don't, use a library with good open support and an API.
      Q: But we are an embedded systems device maker making hand held QR code copy/printers and only have 64k memory available...
      A: Hire an embedded developer. I charge more for that work, but... Blah blah network/packet/frame stuff... What's the maximum size/resolution/format of the QR code you are scanning? Blah blah, tesselate the sequence to fit in 64k if needed, bitmap rasterize it by printhead line size, increment array index/pointer, repeat, blah blah.

      If they want me to write code on a whiteboard during an interview, it means one of us misrepresented what the interview is about during the phone screen. I'm not gong to provide free detailed consulting during an interview and if you are asking me to reproduce a sorting algorithm from memory, I've misjudged the interestingness of the work you were offering.

      Plus white board interviews inevitably have a budget "miscommunication" and a recruiter that gets crossed off the list of calls I take.

    28. Re: Harder? by Anonymous Coward · · Score: 0

      It's not deception it's a problem solving exercise... What do you think about tests in school?

    29. Re:Harder? by Darinbob · · Score: 1

      Way back in the dark ages, pre Reagan, I took the Armed Forces Vocational Aptitude Battery tests. I had no intention of being in the military at all, but it was another of those periodic standardized tests that all of the students are expected to take in high school. Except it was a bit easier than most tests. Apparently I had a perfect or near perfect score on it. After that I got so many phone calls and mails from military recruiters who were all baffled that I didn't want to join, and the wandered why I bothered taking the test.

    30. Re: Harder? by Anonymous Coward · · Score: 0

      I don't give a shit about you, stupid imbecile interviewer. I waste my time coming to your office to see if your stupid company fits my expectations for a decent work place, where my skills will be helpful.

    31. Re: Harder? by Anonymous Coward · · Score: 0

      Lol. Yes.

      Nearly all the 'leads' and 'architects,' I've ever worked for have been grossly incompetent. I always had to cover for them. It would not surprise me if they couldn't figure out how to clear a bit, they couldn't figure much else out on their own unless I was there to hold their hand. (And no, I'm not exaggerating. Last one I worked with literally brought down the entire infrastructure multiple times and I kept calling it in advance, because what he would want to change was so 'sketchy' there was no way it was going to actually work.)

      Then they would always proceed to take credit for shit.

      I am constantly amazed at how many incompetent people work in the field and how far they manage to get. I've straight up told a few of them they should be restricted to serving the rest of us coffee.

      Of course, I'm pretty sure my issues with them is one of the reasons why I've always struggled to get the really 'sweet' positions. Since in always calling out clear incompetence.

    32. Re: Harder? by Anonymous Coward · · Score: 0

      Yeah, I've been on interviews like the one where you did some Bastard Operator from Hell Fuckery just to mess with the candidate (me). I put up with it for 30 minutes, then called the HR person over to tell them I was done with the "test" they expected me to do in 60 minutes before I could talk to anyone. None of the stuff on the job description was mentioned in the test. I was told that the test would cover stuff I'd never done before or weren't areas I knew. I told the recruiter I'd be wasting my time to take it but he convinced me to go.

      I did tell the HR person that if they'd put the topics covered in their test on the Job Description, I wouldn't have bothered applying as it's not my area of expertise. So they'd wasted my time and theirs. A year later, I saw the same job posted by another recruiter but this time it described the areas in the test. Guess they listened.

      F-ing with a candidate just to see how they'll react can go any number of ways--you interview a lot of candidates until the word gets out to the recruiters and they stop working with you. Or you find someone who knows you tricks and you hire them. They'll leave 'presents' for you like 'annoyometers beepers' taped under your desk or post something embarrassingly funny about you from the Christmas party to Facebook.

    33. Re: Harder? by Anonymous Coward · · Score: 0

      I do support and devlepoment and sysadmin duty. but I support only a director of a specific service and only on a particular line of business home made application, I don't see how giving support make me less of a sysadmin than a bofh

    34. Re: Harder? by illiac_1962 · · Score: 1

      Interesting. I work for the largest corporation in America and I'm building and designing new systems far more than when I was at a startup. They worship me. Six months in and I'm juggling three new designs with hands on work. It's a blast.

    35. Re: Harder? by illiac_1962 · · Score: 1

      Yep. When people refuse or avoid code they begin to smell bad. I wonder what the fuck they think our industry is. It is pure automation. I swear everyone is confused.

    36. Re: Harder? by illiac_1962 · · Score: 1

      Mechanical engineer, "damn fine coder," just not buying it. Perhaps our definition of fine code is different.

    37. Re: Harder? by illiac_1962 · · Score: 1

      Try being nice to them while fixing thier shit you autistic, ADD clueless bitch. Amazing how everything falls into place as you begin to make a difference.

    38. Re: Harder? by phantomfive · · Score: 1

      I think the article is bullshit and their methodology sucks, but Triple byte is a convenient way to screen a lot of companies quickly if you're looking for a new job. (Along those lines, companies like LinkedIn are offering $250k total compensation to new hires these days, although not entry level).

      --
      "First they came for the slanderers and i said nothing."
    39. Re: Harder? by Anonymous Coward · · Score: 0

      If you are ANY good at automating, you shouldn't be seeing the same code often enough to remember it accurately. When I find a problem, I document the solution, automate it, validate it and never see it again.

      Basic, C, Java, php, ruby, it's all the same process, just different syntax. And optimization if needed later if it happens to be a critical path.

    40. Re: Harder? by Anonymous Coward · · Score: 0

      That completely depends on the size of the sys you're admining.

    41. Re: Harder? by Anonymous Coward · · Score: 0

      Your a hiring manager not a Psychologist. Yet youâ(TM)ve solved the riddle of human intuition mentally hamster wheeling your candidate through a btree fizzbuzz!

    42. Re: Harder? by Anonymous Coward · · Score: 0

      I work for Fizz-Buzz Inc (a division of Acme) you insensitive clod!

    43. Re: Harder? by NormalVisual · · Score: 1

      I'll qualify it - he's written embedded code for a number of commercial and military platforms (some of which now live in low earth and geosynchronous orbit) competently enough to to survive the required formal verification and review at multiple levels before approval/implementation. He'll freely tell you that he's not as good as a lot of the dedicated SWEs at the company, but his record and performance reviews tend to argue against that statement.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    44. Re: Harder? by Anonymous Coward · · Score: 0

      So this is why Google's stuff is so crap?

    45. Re: Harder? by Anonymous Coward · · Score: 0

      The guy hiding his Cornell degree probably exfiltrated all of your company's IP and sold it to China.

      Smart and dishonest is a dangerous mix.

    46. Re: Harder? by bobby · · Score: 1

      The guy hiding his Cornell degree probably exfiltrated all of your company's IP and sold it to China.

      Smart and dishonest is a dangerous mix.

      It was long ago in a galaxy far far away. And the guy hadn't finished the degree. His wife completed her PhD and got a high-paying job far from Cornell and they had a kid. I don't know the whole story, didn't and don't care. He wasn't really being dishonest. It was a somewhat low-paying tech job and the even partial BS would likely have disqualified him. He needed a job, passed the fairly simple quiz, and ended up being an awesome employee for at least 7 years.

      And I'm holding back laughter thinking about any kind of IP at that company. But a Japanese company did what the Chins do now- copied one of the products, but I thought that was silly because it was an inefficient design, and the market was small, and they likely lost money on it.

    47. Re: Harder? by Anonymous Coward · · Score: 0

      When they ask me to write Fizz-Buzz, I say, "Should I start with documenting requirements? User profiles? Unit tests?"

  2. Easy question by Anonymous Coward · · Score: 0

    What came first? the egg or the chicken?

    1. Re: Easy question by Anonymous Coward · · Score: 0

      Msmash, obviously: "too hard and too short" sounds like in need of surgery.

    2. Re:Easy question by Cryacin · · Score: 1

      What came first? the egg or the chicken?

      The egg.
      The life cycle of a chicken begins with the egg, results in procreation to produce more eggs, and eventually the death of the organism. Ergo, a "chicken" to this argument is viewed from the point of the egg.
      Applying evolution, one must define a strict categorization of what a chicken is. Once that is established, there is no "slippery slope" logical fallacy, and you can determine, in binary, what came first on the life cycle, as a chicken.
      An "almost chicken" laid a mutated "almost chicken" egg, which is now classed as a chicken. Ergo, the mutated "almost chicken" egg is the world's first chicken egg, which becomes the first chicken.
      q.e.d.

      --
      Science advances one funeral at a time- Max Planck
    3. Re:Easy question by apoc.famine · · Score: 1

      An "almost chicken" laid a mutated "almost chicken" egg, which is now classed as a chicken. Ergo, the mutated "almost chicken" egg is the world's first chicken egg, which becomes the first chicken.
      q.e.d.

      Not really.

      Speciation occurs within a population which is mixing its DNA, not within one individual. It's really impossible to be so genetically different from your parents that you couldn't mate with them, and successfully mating is how we categorize a species. Within the population of a species you'll find a wide variance of DNA, and as time goes on, because they're mixing that constantly, the whole species is changing. Over time, that species may change so much that it's not the species it used to be, but this isn't happening at the individual level.

      Take a subset of that species and isolate it genetically (usually by geographically isolating it) and over time the genetics of the two populations can drift apart to the point where we'd call them different species.

      Ring species are particularly interesting, and a good example of how blurred this line is.

      Species A can mate with B and D.
      Species C can mate with B and D.
      But Species A can't mate with Species C.

      Generally, if things can produce viable offspring, we call them the same species. So here, A and C are pretty much the same species as B and D, but not the same species as each other?

      Which came first, the chicken or the egg?

      Neither.

      They co-developed over hundreds of thousands of years, and there are thousands of different genetic types of birds that blur the lines between "chicken" and "not chicken". The variety in chickens is rather incredible. Check out Araucanas, Malay, Silkie, Ayam Cemani, Polish, Manx Rumpy, Modern Game, or Transylvanian Naked Neck chickens. Those are all chickens. However a whole lot of those are starting to look very not-chicken, and give them some genetic isolation and a few tens of thousands of years, and they won't be chickens anymore.

      --
      Velociraptor = Distiraptor / Timeraptor
    4. Re:Easy question by Anonymous Coward · · Score: 0

      BZZZT! The original question did not specify a chicken egg. You have made the mistake of assuming too much in an attempt to show off. Thank you, come again!

    5. Re:Easy question by Anonymous Coward · · Score: 0

      Fossil records indicate that eggs pre-date all avians of which chicken is a child class, so eggs came before chickens.

    6. Re:Easy question by Anonymous Coward · · Score: 0

      You contradicted yourself.

    7. Re:Easy question by Anonymous Coward · · Score: 0

      You both make excellent points. I do like the spin you put on "it's an incorrect question".

    8. Re:Easy question by UnknownSoldier · · Score: 1

      You DO realize that dinosaurs laid eggs millions of years before chickens, right?

    9. Re:Easy question by Anonymous Coward · · Score: 0

      Generally, if things can produce viable offspring, we call them the same species.

      No, it is NOT same species. It is Genus which is a bigger category from species. In other words, species is a subset of Genus. An example is to look at Mule which comes from breeding a horse and a donkey.

      Horse
      Family: Equidae
      Genus: Equus
      Species: E. ferus
      Subspecies: E. f. caballus

      Donkey
      Family: Equidae
      Genus: Equus
      Species: E. africanus
      Subspecies: E. a. asinus

    10. Re: Easy question by illiac_1962 · · Score: 1

      The fish.

    11. Re: Easy question by illiac_1962 · · Score: 1

      You DO realize that chickens are dinosaurs right? Try raising a few. Just don't buy them clothes or school books. It's a waste.

    12. Re: Easy question by Anonymous Coward · · Score: 0

      No, an "almost chicken" laid a chicken egg that grew up to be a chicken.

      The answer is egg.

  3. sing for your supper by s122604 · · Score: 4, Funny

    take this string, now reverse it, now convert it to pig latin, now reverse that.. How many internal threads are used to perform writes in a ConcurrentHashMap, now bark like a seal..

    1. Re: sing for your supper by Anonymous Coward · · Score: 0

      It's a wonder why there's a "shortage" when skilled individuals can seek other career opportunities where position seeking isn't so absurd.

      If you want to create a labor shortage, follow current industry practices. I don't see how that benefits smaller businesses though.

    2. Re:sing for your supper by AmiMoJo · · Score: 3, Interesting

      "Do this arbitrary coding problem" is usually a good sign that you don't want that job anyway. Such things have little relevant to the job or to producing good software most of the time.

      The only exception is on embedded where you actually do need to know the ins and outs of the compiler and stuff like that. But for Javascript or C# devs they should use String.Reverse() because whatever they code on their own will be worse and a waste of time. And even for embedded I would only ask by way of some questions about some sample code the candidate was showing me.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:sing for your supper by K.+S.+Kyosuke · · Score: 1

      Correctly reversing an UTF-8 string with combining diacritical marks and embedded RTL substrings and other features could be quite fun, though.

      --
      Ezekiel 23:20
    4. Re:sing for your supper by AmiMoJo · · Score: 1

      Correctly reversing an UTF-8 string with combining diacritical marks and embedded RTL substrings and other features could be quite fun, though.

      Indeed, and also a great example of why you should use String.Reverse() instead of trying to handle it yourself.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    5. Re:sing for your supper by Anonymous Coward · · Score: 0

      It could, but it isn't suitable for an interview question.

      Even better, do it in place without the need to allocate a new buffer.

    6. Re:sing for your supper by Octorian · · Score: 1

      Correctly reversing an UTF-8 string with combining diacritical marks and embedded RTL substrings and other features could be quite fun, though.

      Indeed, and also a great example of why you should use String.Reverse() instead of trying to handle it yourself.

      What's actually more important to me is knowing that you have to deal with all those Unicode bits when doing the reverse... because someday you'll run into a situation where String.Reverse() (or equivalent) doesn't actually handle them correctly.
      However, actually implementing this robustly is far too difficult and time consuming to fit within the confines of an interview question.

    7. Re:sing for your supper by Megane · · Score: 3, Interesting

      It shouldn't be about whether or not a person can program a string reverse, it should be about the entire team watching the new interviewee's process of writing the code on a white board (after they have interviewed him personally two or three at a time) to get a feel for his bullshit to brilliant ratio. (or his brillant to brilliant ratio if you're a TDWTF fan).

      Unfortunately when I was at a company that did this, it was during the dot-com crash of the early 2Ks, so we only had one hiring round while I was there. Our two programs were reverse a singly-linked list and copy a file. Watching recent CS grads who were weaned on a diet of Java trying to do file copy (it's important in C/C++ to know how to sling data around in buffers) was such a train wreck. In my case, I knew the basic file copy inside and out, including the performance implications of buffering. The CS grads were having trouble with the basic idiom of read a byte, while not EOF, do something with the byte. It was the EE grads that actually knew what the fuck they were doing.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    8. Re:sing for your supper by AmiMoJo · · Score: 1

      A whiteboard would be a problem for me. I have some arthritis so extensive use of a whiteboard will get painful fast. Typing is fine though.

      Even if that wasn't the case, a whiteboard isn't a great way to see if someone is good at coding. Aside from the poor editing capabilities it favours people who count on their fingers over people who just think things through and then write down the answer. It reminds me of the driving test where they advise students to make exaggerated head movements when looking in the mirrors and give a running commentary on what they are seeing and doing, otherwise it's down to the examiner to notice and give you the benefit of the doubt that you did in fact see that bike and weren't just lucky.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    9. Re:sing for your supper by Anonymous Coward · · Score: 0

      I think I had that question... I had two min to write a recursive lambda function to rearrange a bunch of letter into the desired outcome like that. I was drenched and failed it, I couldn't even think straight by the end of it... and I thought, nobody programs like that in real life... nobody.

    10. Re:sing for your supper by angel'o'sphere · · Score: 2

      Embedded coding is actually much more easy.
      You simply have your ints and chars and do your & and |.

      No idea why people try to push embedded programming as a pillar of high magic.

      A modern business "framework" regardless if it is Qt on a desktop or Spring, Hibernate in the Java ecosystem or what ever the .Net equivalent is: requires 100 times more knowledge than simple stupid C programming (or even assembler) on a 1960 invented chip.

      The /. idea that only assembly programmer (we tolerate C programmers) on archaic devices know how to program is as absurd as an Sumerian Professor teaching modern Business Administration in an american university: in old Sumerian.

      Hint: when did you program your last C/C++ program that as deployed on a web server serving 10k (+) concurrent sessions, having it multithreaded accordingly, having it in multiple languages and locales ... abstracting or preparing the database for that ... etc. p.p. ? And when did you do that in assembly the last time?

      Hint: I did never. And I "speak" about 20 assembly languages.

      Programming in assembly basically means: you have absolutely nothing to do with all the problems the real wold is facing .. and that is not xoring two bytes together.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:sing for your supper by angel'o'sphere · · Score: 1

      The CS grads were having trouble with the basic idiom of read a byte, while not EOF, do something with the byte.
      But you are aware that time has changed?
      I mean ... obviously they have trouble to some bullshit like that when they never got taught how to do it.
      Why the funk would an University teach completely obsolet skills to freshmen?
      Why are you testing for such obsolet skills when you should have noticed decades ago, they are not taught anymore?

      It was the EE grads that actually knew what the fuck they were doing.
      And they would completely fail a test designed to let the CS people pass ... wow, what a no brainer.

      Why don't you simply write what your job requirements are? Make a phone interview to nail down the basics and then invite the person.

      What actually do you think it means for a CS student to fail an interview and get told afterwards: you know nothing? You insensitive clod? (I'm not even joking, if you can not distinguish an CS curriculum from an EE curriculum why do you have the audacity to sit in a hiring committee?)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:sing for your supper by angel'o'sphere · · Score: 1

      White boards have excellent editing capabilities.
      You should simply practice with them.

      Doubt you have arthritis, more likely gout, seek a good doctor, it is easy to treat in our days.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re:sing for your supper by fahrbot-bot · · Score: 2

      Our two programs were reverse a singly-linked list and copy a file. Watching recent CS grads who were weaned on a diet of Java trying to do file copy (it's important in C/C++ to know how to sling data around in buffers) was such a train wreck. In my case, I knew the basic file copy inside and out, including the performance implications of buffering.

      Or skip the buffering. I wrote an example using mmap() for Ultrix / 4.3BSD on a VAX-11/785 back in 1991 to demonstrate Unix memory mapping to a colleague at NASA LaRC who was coming from CDC NOS and NOS/VE [ my opinion is that NOS stands for Not an Operating System :-) ]. The program cats files to stdout, but could be changed to copy to a destination. The benefit here is that the OS does *all* the paging/buffering for you and (literally almost) all the run-time is accounted for as system time. The 50 line program still compiles cleanly on Ubuntu 16.04. (snippets below)

      void *map;
      struct stat stats;
      int fd = open(argv[i], O_RDONLY, 0);
      fstat(fd, &stats)
      map = mmap(0, (off_t)stats.st_size, PROT_READ, (MAP_SHARED), fd, 0);
      write(1, map, stats.st_size);
      munmap(map, stats.st_size);
      close(fd);

      --
      It must have been something you assimilated. . . .
    14. Re:sing for your supper by Anonymous Coward · · Score: 0

      Well, at least in C#, string.Reverse does not deal with UTF-16 surrogate pairs correctly. So the basic library doesn't do it right (and probably never will for compatibility reasons). I wouldn't be surprised if Java has similar issues.

      Any question with Unicode in it is guaranteed to get wrong answers :). Java and C# were invented before UTF-16 even existed. And C++ just completely ignores the existence of Unicode (one has to use non-std libraries to deal.with Unicode at all).

    15. Re:sing for your supper by AmiMoJo · · Score: 1

      Nooo, you shouldn't be using ints and chars for embedded! Always use intX_t that states the width explicitly.

      Embedded is hard because to do anything decent you have to really understand the hardware. Not just the CPU, the whole system. You don't get any memory protection, exceptions crash the whole thing, and you have to handle your own interrupts. Oh, and your code needs to run perfectly for years without stopping or running out of memory, and in some cases needs to survive external problems like supply fluctuations or a temporarily broken clock.

      And that's before you do any useful work which often requires you to have a good understanding of things like digital sampling theory.

      Don't get me wrong, higher level stuff is great, but it's also a hell of a lot easier than embedded. That's why I get the big bucks.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    16. Re:sing for your supper by AmiMoJo · · Score: 1

      It's arthritis, and not the kind you get from old age. Thanks for trying to diagnose me over the internet though, obviously I never bothered to see an actual doctor about it.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    17. Re:sing for your supper by lgw · · Score: 1

      Whiteboards are fine. You just don't measure people on things that every IDE provides these days, you measure them on problem solving and code fluency (not library trivial pursuits, but if the candidate chooses the language he should know the common tools very well).

      Any modern professional interview will start with the presentation of the problem, followed by "talk me through your design ideas before you start writing code". After all, the process of reasoning through the design is half the signal your trying to get.

      Any decent question will be somewhat interactive - you want to get a sense of what it would be like to work with the person, not just watch them write code.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    18. Re:sing for your supper by Anonymous Coward · · Score: 0

      I won't say I'm a good assembly programmer but people act like I'm a wizard because I can write a little and generally surmise where a function lives and what it does.

      To learn this you simply need to know a handful of opcodes and recognize function prologue/epilogues
      To do K&R takes a week.
      Even though it's not cool or fun the learning curve for spring boot or hibernate is much much higher.
      Knowing all the major parts of how any os or processor works is at least 10x as much work as learning asm or C.
      Also horror of horrors I've written some Java bytecode assembly.. the worst of all possible worlds lololol.

    19. Re:sing for your supper by lgw · · Score: 1

      The CS grads were having trouble with the basic idiom of read a byte, while not EOF, do something with the byte.

      But you are aware that time has changed?
      I mean ... obviously they have trouble to some bullshit like that when they never got taught how to do it.

      If you can't solve a problem that's new to you, what good are you? Very simple problems like that are good especially because they'd be new to someone fresh out of school (where recursive descent problems are useless for new grads). Now, obviously you don't want to play "library trivial pursuit" and want to explain any bytewise I/O library calls they'd need, but given the primitives it's a fine question.

      I like to ask new grads to design an arbitrary precision integer class that supports addition. In the old days everyone had done that, but it's a new problem for recent grads (and has lots of corner cases and opportunities to simplify, like real code). Of course, we may reach a time when grads don't know the pen-and-paper algorithm for adding numbers, and I'll have to stop using it. Hopefully I'll be retired first.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    20. Re:sing for your supper by Micah+NC · · Score: 1

      There's too many people going for C/C++ jobs. And they pay jack. I got out after 7 years. C# is waay easy to get hired in.

    21. Re:sing for your supper by lgw · · Score: 1

      It seems difficult because people are unfamiliar with it. When everyone is graduating from a Java school, bitwise operations are high magic.

      I find bit bashing to be the most fun thing to do in code, but I'm at a loss for a real world problem to apply it to. Man, if I ever found a reason to count the "1" bits in a word, I could do that so fast ...

      --
      Socialism: a lie told by totalitarians and believed by fools.
    22. Re:sing for your supper by Anonymous Coward · · Score: 0

      Embedded software engineer of 30 yrs here: you are full of crap. Anyone who write C like that, wouldn't pass peer review.

    23. Re:sing for your supper by lgw · · Score: 1

      take this string, now reverse it, now convert it to pig latin, now reverse that.. How many internal threads are used to perform writes in a ConcurrentHashMap, now bark like a seal..

      It's all about the specific questions. Asking someone to design a ConcurrentHashMap from scratch is a great question, at least for someone senior. Lots of interesting design choices, and still relevant to some parts of the industry.

      It used to be popular to ask someone to write a function to find a string inside another string. This topic is so deep that I've read an actual book of nothing but different algorithms. That one has faded from relevancy these days, and doesn't seem appropriate any more.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    24. Re: sing for your supper by backslashdot · · Score: 1

      Ahh the classic âoehow do you reverse a string?â question. A better interview question is, what are some occasions in which you may need to reverse a string?

      Anyway, my favorite interview question is when one of my colleagues, actually friend, but all-round jerk, upon seeing he had a math degree, asked an interviewee to âoeprove that pi is irrationalâ (for a job that didnâ(TM)t require much math), handed him a marker and left the room saying heâ(TM)ll be back.

      Anyway, the interviewee managed the task .. but then refused the job offer. So I guess itâ(TM)s a way of weeding out candidates who donâ(TM)t have a sense of humor.

    25. Re:sing for your supper by djinn6 · · Score: 2

      I'm sure there's difficult parts to embedded programming, just like any other technical discipline, however, you should not dismiss higher level work as easier, or even less paid. Now I don't know how much you make, but there are software engineers working at Facebook who make $400k in total comp. And yes, they are software engineers, not managers.

      Difficulty for them comes from 3 directions: performance, multi-threading, and customers.

      Performance is a given. A 5% reduction in CPU usage directly translates to millions of dollars of savings per year when something is executed billions of times per second. A lot of that involves a deep understanding of how the underlying hardware works. For example, you can get a pretty decent boost by massaging your data structure into something that could fit in the L1 cache.

      Multi-threading is a fallout from performance demands, but it's difficult in it's own way. Shared memory can lead to inconsistencies that are extremely difficult to debug due to its non-deterministic nature, and the actual problems may surface long after the inconsistency has occurred. So you turn to using locks, but then you discover locking not only reduces performance but causes deadlocks. Now to process billions of requests per second, you're going to need more than one machine, and if there's a shared resource, such as a database, then suddenly you have all of those problems made even more fun with the addition of network delay.

      Finally, since it's something customers can see, it also means they want a say in how it works. The worst of which are actually reasonable demands that just happen to be extremely difficult to implement due to a mismatch between how they envision the software to work and how it's actually designed to work. Keeping them happy while refusing their reasonable demands (that you've admitted was reasonable) is at least as difficult as all of the aforementioned difficulties.

    26. Re:sing for your supper by NormalVisual · · Score: 1

      And then there's the arthritis you can get *after* years of having gout. I don't have gout problems anymore, but allopurinol or probenicid isn't going to do jack for the joint damage I've been left with. A good rheumatologist/surgeon is about the only thing that helps that. Hope things improve for you.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    27. Re:sing for your supper by Drethon · · Score: 1

      "Do this arbitrary coding problem" is usually a good sign that you don't want that job anyway. Such things have little relevant to the job or to producing good software most of the time.

      The only exception is on embedded where you actually do need to know the ins and outs of the compiler and stuff like that. But for Javascript or C# devs they should use String.Reverse() because whatever they code on their own will be worse and a waste of time. And even for embedded I would only ask by way of some questions about some sample code the candidate was showing me.

      The last interview I was given a coding problem, I wasn't asked to code a solution, I was asked to give my thought process I would use to go about solving the problem. As soon as I started on the right direction the interviewer said that was good enough. I liked that approach.

    28. Re:sing for your supper by AmiMoJo · · Score: 1

      Thanks. Unfortunately I was diagnosed rather late and a lot of damage was already done, so now I'm super careful not to make it any worse.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    29. Re:sing for your supper by AmiMoJo · · Score: 1

      That's how it should be. You have to have a little bit of faith that you can detect when the candidate is trying to BS you, and if you screw up badly enough to let a bad one in anyway that's what the probation period is for.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    30. Re:sing for your supper by Anonymous Coward · · Score: 0

      "Do this arbitrary coding problem" is usually a good sign that you don't want that job anyway.

      Yet top companies keep asking exactly that in technical interviews. You know how many times I had to deal with binary search trees in my 20 year career (embedded OS/Kernel dev). Exactly zero.

      But Google, Facebook interviews have pointless exercises like how to traverse binary tree in non-recursive way, how to pack/restore binary tree, etc. It is ridiculous.

      Linked lists - sure. Hash tables, heap implementation, timer queues - no problem. I can explain how all that works. But they don't ask it during interview.

    31. Re:sing for your supper by Anonymous Coward · · Score: 0

      Yeah, of course ignoring the fact that it will utterly break even for files 1 GB depending on how large your address space is and how much is used for other stuff.
      Essentially this is just an optimized version of the "buffering the idiot's way" of reading the whole file into memory and then writing it all out.
      Admittedly when your virtual address space is close enough to unlimited compared to actual file sizes and you can bet on it, then it is an option, and as you say it has some rather nice properties.

    32. Re: sing for your supper by Anonymous Coward · · Score: 0

      If you ate asked to reverse a string, you ate being asked to reorder a set of characters.

      You are not being asked to replace characters in the set, nor to render them as a graphic and then transpose over the Y axis the resultant set of pixels.

    33. Re: sing for your supper by Anonymous Coward · · Score: 0

      Actually, that might be an interesting library trivia question...
      Give someone a fully enumerated subset of defined functions and use that to accomplish a clearly defined task.

      Basically a beginner math proof.

    34. Re:sing for your supper by Anonymous Coward · · Score: 0

      Why do people think that CS is about programming? It is NOT. Though, being able to program and learn new languages would be huge bonuses, the course is not teaching you how to code. The course teaches mostly on analysis of code...

    35. Re: sing for your supper by Darinbob · · Score: 1

      Well, if you're highly skilled you can get a job in many many places where they won't recognize how great you are anyway and you'll be doing grunt jobs. And some people, especially when approaching retirement age, want a job like that. But if the job is going to be great then you should expect that they're going to try and make sure that the candidate is great also, and you can't do that merely by looking at a resume.

      There's a shortage because the appropriately skilled people are above average in the first place, they're not the majority of applicants. And they're often just staying put with their current job.

    36. Re:sing for your supper by bulled · · Score: 1

      This isn't quite read it all in and write it out, it is smarter than that. Fault in page at a time into the filesystem page cache. Read byte at a time and write out (faulting in page at a time for the output file if not using stdout). The difference between this and the read it all in approach is that here you allow the kernel memory management code to maintain what parts of the file(s) need to be kept in memory versus what parts can be reclaimed.

    37. Re:sing for your supper by Darinbob · · Score: 1

      In my experience, such things are highly relevant to the job. The job involves coding, and we already have enough people who claim to be able to program but who are terrible at it, so we want someone who can do the coding without needing hand holding. This is surprisingly hard at times because most candidates are exagerating on their resumes. (and yes, I am speaking in terms of embedded systems)

      Sample code is fine but you have zero confidence that the candidate actually wrote it. In my experience, I ask simple questions which surprisingly often cannot be answered by the candiate despite having a glowing resume.

      So if I ask for a basic simple linked list example that anyone who's done any programming can do. If they say "I usually use a library for this" it means either they don't spend much time thinking about how things work and instead just plug together lego blocks, or that they'll be totally inadequate at debugging low level code which is a part of the job. A part of the job even involves debugging the third party libraries, you can't rely on them as perfectly built black boxes.

      One big snag for C or C++ programmers is that so few entry level or junior programmers know it well. So you're forced to look to older workers, and they may not really be interested in spending part of their time doing basic programming.

    38. Re:sing for your supper by Anonymous Coward · · Score: 0

      A shitty job interview situation is an excellent indicator of a shitty place to work with, with shitty managers and shitty coworkers. If people actually endure that, or make others have to endure what they didn't - while pushing salaries down, there one rule to know (even if you take the job): No matter what management do or say, it will never actually get better.

      Have anybody actually experienced otherwise? I have not. Every fucken re-org and "Agile" scrumwaterfall or "best practice ITIL", over the longer run and for actual work, has ALWAYS made matters worse.

      It's time to say NO, and END the Extinction Event of our Lifetime!

    39. Re:sing for your supper by Darinbob · · Score: 1

      I spend some amount of my time fixing bugs in third party libraries. I've even had to work around compiler bugs. When the customer is complaining you still have to fix it even if it's not your bug.

    40. Re:sing for your supper by Darinbob · · Score: 1

      I have asked a simple question about reversing characters in a string in place (no copying to a new string). This is in C. If the candidate has trouble here it implies they will have many problems.

      I'm wondering if I should just present some Obfuscated C Contest examples and see if the candidate can decipher them. Because this probably accurately describes the job of dealing with maintaining an old code based that started life in a startup.

    41. Re:sing for your supper by Darinbob · · Score: 1

      A snag is that there's not really a great alternative. If you provide a laptop is likely will not have tools that the applicant is familar with (may as well just use notepad). You can't require the candidate to own a laptop. And the online coding/interview websites aren't much better than notepad anyway (though they are nice). I always preface the whiteboard questions by noting that we don't judge on neatness, and strict syntax correctness isn't needed (because that leads to endless amounts of erasing and focusing on minutiae).

    42. Re:sing for your supper by Darinbob · · Score: 1

      As an aside here, it is an very useful job skill to be able to present on a whiteboard. Ie, be in a small team trying to describe what your bug is and what your proposed fix is, things like that. I know some people who are terrible at communication, and their whiteboard skills which should hellp with this are also terrible, and no one knows what the hell they are talking about most of the time.

    43. Re:sing for your supper by AmiMoJo · · Score: 1

      I'll do basic programming if that's what you want, but you still have to pay me the same rate as if I was doing the advanced stuff. Hardcore C/C++ skills, especially on the embedded side, are getting extremely valuable these days.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    44. Re:sing for your supper by Darinbob · · Score: 1

      No one gets taught how to do this. You learn it on your own. Even if you're new at this you can still demonstrate that you have common sense and can think logically about something you are unfamiliar with. As a candidate if you can say that you don't have much experience or knowledge in this area but can still think it through well, then you're going to impress the interviewers. But if you just say "we weren't taught that in school" you come across as a problem waiting to happen (and yes I have heard that excuse).

      The interviews are about the actual job that needs to be done. Generally the interviewers aren't asking irrelevant questions, they ask questions that are about the job being applied for. If you look back at the post, these questions were asked around the year 2000 when C and C++ were still in very wide use and not even remotely obsolete and which were likely a typical part of the job.

    45. Re:sing for your supper by Darinbob · · Score: 2

      However there will always be a time when someone somewhere needs to know how to do arithmetic at a low level on a computer. These aren't things that are done once and then never needed again for all eternity. Maybe not many people will need to know this, but until we have AI that can do this we'll need people. Every time you have a new processor designed you will need to know how to do this, or when you have a new compiler, or when the third party libraries don't have what you need, etc. Even if you don't do exactly this arithmetic problem you will probably need to do something very similar to it or you will need to think in a manner similar to it.

      Even beyond this, I see many programmers who don't know floating point well and because of that they introduce bugs. Ignorance of how things work under the hood causes lots of issues. Given that schools don't teach this anymore, and too many programmers rely on libraries to do anything complex, we may soon be in a time where knowing how to fix code becomes more and more esoteric.

    46. Re:sing for your supper by Darinbob · · Score: 1

      High magic because it involves thinking at a low level. Things aren't done for you, you have to do them yourself. You're space constrained so you can't just use Python or select your favorite libraries to glue together. But there are so many newer programmers who actually don't do much programming beyond a function call (or method call), and they treat everything in the libraries or operating system as a magical black box. Many of these programmers don't even have relevant domain knowledge so they can't even add value by doing the design or providing feedback on the design.

      So you're left with the equivalent of an assembly line worker: get input from high up in the line, apply your local function, pass results down the line. You can get off that assembly line once you can understand more complex systems.

      Now that's fine if that's all you know, but then in your career you will also be competing against millions of equivalent entry level programmers.

    47. Re:sing for your supper by Darinbob · · Score: 1

      I strongly disagree. Use int when you don't care how big the number is. I see lots of bugs arise because people use uin32_t everywhere and then end up with lots of casting to get what they really want. Worse, I see uin8_t which requires extra assembly instructions on some processors when there was never any need to precisely specify the size. I have actually shrunk code to fit on a processor in the past by replacing some uint8_t with int or unsigned int.

      My rule of thumb is to only use the sized types when you actually need to know the size - such as data that get communicated to another processor or on the network, put into storage, it has to fit in a device register, etc. If you're doing basic arithmetic or indexing into an array, then use the basic types.

    48. Re:sing for your supper by Anonymous Coward · · Score: 0

      Lucky he didn't charge you!

      Hope the pain is under control.

    49. Re:sing for your supper by Darinbob · · Score: 1

      Agreed here, if you are making that much money and your goal is performance and scalability, you CANNOT program as if a magic library will do all your work for you. It's a complicated system and it needs to be thoroughly undertstood at many levels, high and low. Such a person probably understands all the ins and outs of the language, how it's implemented, how the libraries work, how the database works, what the network protocol is, etc.

    50. Re: sing for your supper by Anonymous Coward · · Score: 0

      Well no.

      But one of the issues I've seen is that interviewers frequently trip themselves up with these elaborate questions. For example, I'm pretty sure one of my interviewers one time accidentally tripped his own PTSD because after asking a somewhat difficult question, he then turned into some sort of raving lunatic that just couldn't calm down.

      Additionally, you don't know what kinds of pressure the applicant is putting up with at the same time they're interviewing. For example, I very nearly got in a car accident just before a big interview and I was kind of out of it during the whole thing.

      As if that wasn't enough, interviewers will frequently make highly questionable judgement calls based on very questionable evidence. For example, I've been told I couldn't possibly be capable of writing a web service. Why? Because I was a little shaky answering a SINGLE question. But I have probably a few dozen web services that I developed that are available to the general public that we could review during an interview.

      Also, if you're out of work after a certain point, you'll just start applying for any job that you're likely to be able to do. Which drains your energy, self esteem, amount of time you have to prepare, etc... Which will lower your score in the interviews, but then at that point you don't have a choice because they weren't hiring you anyway (most likely) it's just a numbers game at that point. And yes, I'd agree that you shouldn't HAVE to do that, but most people I've known who are competent have been there at least once in their lives.

      Also, as if that wasn't enough. Some of these places give the same tech tests over and over and over again. Yes, I've known a number of people who have had to take the EXACT same test several times in a single month. Each time they scored very high to exceptionally high. But it didn't matter. They couldn't get the first, second, etc job. So they had to take the test again for the Xth time.

      The problem is, it just gets ridiculous when you're on the market.

    51. Re:sing for your supper by Anonymous Coward · · Score: 0

      When everyone is graduating from a Java school, bitwise operations are high magic.

      Java has the bitwise operators. Same as in C. Slightly hampered by not having "unsigned int/long", but otherwise fine. I teach a programming course, and the students have to do bitwise operations. Don't know why other universities aren't doing the same. Java is not the problem here.

      I find bit bashing to be the most fun thing to do in code, but I'm at a loss for a real world problem to apply it to. Man, if I ever found a reason to count the "1" bits in a word, I could do that so fast ...

      Data compression offer plenty of opportunity for messing with bits. Huffmann compression need to write bitstrings with varying numbers of bits to a file/buffer. Arithmetic coding too. Lempel-Ziv-Welsh exists in many variants that write a number of bits that often aren't a multiple of 8. Do compression research, enjoy bit bashing.

      Or write a jpeg compressor/decompressor from scratch. Or handle of any image format with less than a byte per pixel. (B&W, or 16-color formats.) The high-level programmer uses a library for these tasks - but someone has to write the libraries...

    52. Re:sing for your supper by Darinbob · · Score: 1

      Counting leading zeros or ones gets used a bit. Ie, doing binary multiplication efficiently if hardware can't do it, finding the first element of a set (such as highest priority task), etc.

    53. Re:sing for your supper by sjames · · Score: 1

      When did you last write a program where you had to think about each and every memory allocation because you knew you would be close to running out by the time the program was written (and there was no option to just add more), AND make sure the battery would last at least a month between charges. That meant adjusting the CPU clock to match the workload. And there was no room for an actual OS, much less a framework that does things by magic for you.

      Also, if threads are needed, you have to roll your own, but let's not do it interrupt driven, that would cause the CPU to draw too much power to meet the target battery life.

      BTW, any way we can get the rising edge of the attention signal from the radio to trigger an NMI to wake the CPU from deep sleep? Can it get up and running soon enough to decode the message?

      Near the end of the battery life, how fast can we run the CPU without it becoming unstable? Is that fast enough to meet the budgeted time to respond to an external signal? Any way to trim 5 micro-seconds out of this loop?

      In other words, it involves a lot of things the guy writing the web server has never had to consider and may not even know they exist. You also need to be at least familiar enough with hardware to talk with the hardware designers.

      BTW, the CPU is Harvard architecture and there's no room to copy .rodata so your strings are in a different address space.

    54. Re:sing for your supper by fahrbot-bot · · Score: 1

      Yeah, of course ignoring the fact that it will utterly break even for files 1 GB depending on how large your address space is and how much is used for other stuff.

      It works fine no matter the file size and system memory... The filesystem uses the virtual memory sub-system and the OS demand loads file pages as they are referenced by write() and then discards them (as needed) -- the whole file is *not* read into memory. Very efficient and wicked fast. In addition, as I noted, almost all of the run-time gets logged against the system, not the user (where accounting is enabled).

      --
      It must have been something you assimilated. . . .
    55. Re:sing for your supper by Darinbob · · Score: 1

      Sure, when I have control over it. The pay is decided at many levels and it's the place where the bullshitting on the resume works the best. Actual productivity over time will get you raises but it's not unusual to be a high productivity worker and make less money than a low productivity worker, all due to the initial starting salary. The annual raises won't get you caught up quickly either which is why, sadly, switching jobs will usually get you better pay than hoping for a stellar annual review.

      I think this is the primary reason why companies don't want workers to compare salaries. I once found out the goof-off guy in the aisle was making significantly more money than I did and when I told me boss he said "this is intolerable" before marching upstairs to get me a really large raise. That's not typical though :-)

    56. Re:sing for your supper by angel'o'sphere · · Score: 1

      BTW, the CPU is Harvard architecture and there's no room to copy .rodata so your strings are in a different address space.
      Harvard architecture basically means you have separated data and instruction cashes and buses, and often no programatic access to the "memory" where instructions/code reside: https://en.wikipedia.org/wiki/...

      The rest of your rant is the typical "embedded is so superior, non embedded know nothing" rant. Obviously as I only part time do embedded I did not do those things often. But: they are easy. Building a web server: is not easy.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    57. Re:sing for your supper by angel'o'sphere · · Score: 1

      Generally the interviewers aren't asking irrelevant questions,
      Yes they do.

      My answer was to a guy who seems to ask questions like how to copy a file with a "read one char until EOF" loop.
      So yes: it is irrelevant.

          cp file.a file.b

      does the job just fine.
      I would not wonder if 99% of all graduates never heard about "EOF".

      Asking one how to copy a "TEXT"-file in the simplest C way possible, was adequate 1990 ... it is not adequate 2019.

      Hint: if you don't believe it I make you an interview where you simply fail every question I ask you ... and then go figure.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    58. Re:sing for your supper by angel'o'sphere · · Score: 1

      The question would be how to teach them.

      With a white board I can explain everything, the audience even does not need to even speak my language :D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    59. Re:sing for your supper by angel'o'sphere · · Score: 1

      Thanks for trying to diagnose me over the internet though
      That is easy.

      Because:
      It's arthritis, and not the kind you get from old age.
      In the hands and fingers: close to impossible.

      obviously I never bothered to see an actual doctor about it.
      Then you should. Regardless what it is, both is in our times easy to "treat" or at least to soften the symptoms. (In your hands, obviously treating arthritis in your hips is close to impossible)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    60. Re:sing for your supper by angel'o'sphere · · Score: 1

      Always use intX_t that states the width explicitly.
      Yeah, you should have told me 1985, did not know that.

      You don't get any memory protection,
      Strange, my last embedded system run on 4 ARMs ... did not know they have no memory protection.

      exceptions crash the whole thing
      Strange, I use C++ ... you write somewhere catch (Exception x) ... did not knot know it crashs anything.

      , and you have to handle your own interrupts.
      Yes, by setting up interrupt handlers.

      Do you want to scare away newbe embedded programmers?

      As I pointed out before: embedded programming is much more simple than "real world programming" ... no idea why you disagree, you probably only did one of both and ... cough cough ... are not good at it and so you think the rest of the world is even worth?

      Oh, and your code needs to run perfectly for years without stopping or running out of memory
      That is kind of funny, why exactly would a solution written in C, that does not run out of memory, suddenly run out of memory because it is written in Java or C#? Do you actually have any clue about programming?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    61. Re:sing for your supper by sjames · · Score: 1

      I'm well aware of what a Harvard architecture is. And on microcontrollers like AVR, .rodata gets lumped in with code in the flash. AVR does have instructions that can read from that address space, but it does mean if you try to use any of the libc str* functions on a compile time defined string, you won't get the results you expect. It's not copied to RAM at startup since there's only 4K of RAM.

      You sound like someone who has driven a go-kart once so you figure formula 1 racing can't be that hard.

    62. Re:sing for your supper by Darinbob · · Score: 1

      I write code that reads and writes to a file using that same sort of loop. That style is used quite a lot in real world programming It might not actually be a file but it may be something with a very similar API, the POSIX-like file API is a very commonly emulated API. If a candidate said he'd just do system("cp a.txt b.txt"); it just reinforces the idea that the guy is either a smartass or can't program. Maybe just say "implement the cp command for us"? The question is relevant because they need to know if the candidate understands writing a loop, can think things through, can deal with using buffers, or is able to write code that deals with POSIX files, etc.

      What sort of programming question did you expect? "Please implement a random loop that does random things for us?" And yes these questions are good for 2019 because we are still using C and C++.

      The thing is you can't trust the resume. Resumes are full of lies! You have to ask the candidate some questions to find out how much of it is bullshit and how much is real. A flippant answer just means the person is not suitable for working in a team.

    63. Re: sing for your supper by illiac_1962 · · Score: 1

      Everybody writes shit code on thier first pass.

    64. Re: sing for your supper by illiac_1962 · · Score: 1

      They do sometimes, for fun. That wasnt fun.

    65. Re: sing for your supper by illiac_1962 · · Score: 1

      Yeah, a wonderful question about a highly imperative but of code to a senior person that you hopefully expect to think in and build systems in a declarative way. There aren't enough competent people willing to interview developers, obviously. You undoubtedly suck.

    66. Re: sing for your supper by phantomfive · · Score: 1

      I can't remember ever having to actually reverse a string in real life.

      --
      "First they came for the slanderers and i said nothing."
    67. Re: sing for your supper by phantomfive · · Score: 1

      Hint: I did it three years ago, and our latency was super low and our hosting costs were cheap. Had fewer memory issues than the JavaScript programmers, too. It's not that Spring is easier or harder, it's that if you've never learned assembly, you have no fucking clue what your computer is doing. Great, you memorized a lot of functions, but could you write it Spring yourself? If not, you are a slave to library writers, and when they decide to hurt you, you get hurt.

      --
      "First they came for the slanderers and i said nothing."
    68. Re:sing for your supper by Anonymous Coward · · Score: 0

      Even the simplest programming tasks are really useful to weed out the worst of applicants. I have been supervising so many job interviews where the self proclaimed programming gods have not been able to produce a proper for loop in C or C++. Despite what they say in CV, they really have not created a single new code line themselves, but have just been copying crap from stack overflow and claiming end result as their own. Worst of these are the academics, typically phd students, who claim to have experience in big projects. At the end, these big projects are 1000 lines of Arduino sketch which version management was done by zip files sent over email.

    69. Re: sing for your supper by AmiMoJo · · Score: 1

      It used to be a common exercise when learning C to demonstrate an understanding of strings and pointers and the standard libraries. It reveals some interesting things about the programmer, e.g. if they try to treat the string as an array or if they use a char* pointer, if they use const modifiers in their function definition, and if they do things like set a maximum string length and what the code does if the string exceeds it.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    70. Re:sing for your supper by AmiMoJo · · Score: 1

      Try googling "reactive arthritis".

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    71. Re: sing for your supper by K.+S.+Kyosuke · · Score: 1

      I guess the problem is that not all "characters" are actually characters these days.

      --
      Ezekiel 23:20
    72. Re:sing for your supper by K.+S.+Kyosuke · · Score: 1

      I have asked a simple question about reversing characters in a string in place (no copying to a new string)

      But UTF-8 and Unicode make it a distinctly non-simple question. Or did you restrict the question to ISO-8859-1 only?

      --
      Ezekiel 23:20
    73. Re:sing for your supper by angel'o'sphere · · Score: 1

      Wow, thanks for the advice.

      But now as I read about it, I get scared. When I wake up in the morning my finger joints have light pain, too. After 2 or 3 minutes it is gone.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    74. Re:sing for your supper by angel'o'sphere · · Score: 1

      And you sound like one who thinks a guy who once raced in formula one can not run a go cart.

      Sorry, your explanations make no sense. Do you really think I'm to dumb to use any processor you throw at me? Do you assume I never read the manual? Do you assume I don't understand the "boot process"?

      WTF ... you are super silly.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    75. Re: sing for your supper by angel'o'sphere · · Score: 1

      it's that if you've never learned assembly, you have no fucking clue what your computer is doing.
      I doubt that.

      Every low level language helps you understanding it. And actually there is not much to understand what a computer is doing. Well, in our days with pipelines and speculative execution, there is. But such hardware is rare in embedded.

      My point of view is pretty simple, people here on /. who did/do assembly and did/do embedded look down on others who did not. And on top of that they claim: the ones who did not can by default not be "good programmers". And that is complete nonsense ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    76. Re:sing for your supper by AmiMoJo · · Score: 1

      There is no test for RA, it's a bit like Lupus - the diagnosis is that you have some subset of the known symptoms and have ruled out everything else.

      It's unlikely that you have it if you don't also have at least some of the other stuff, like the vision problems, and of course the thing that differentiates it from other auto-immune problems: that it gets worse when you get an infection.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    77. Re:sing for your supper by angel'o'sphere · · Score: 1

      Your examples are only relevant if one is applying for a job in exact that context.

      My last programming question was a high level design for a bowling counting system (I never bowled before and did not know the complex rules of counting).

      The company did embedded software *and* java based connectivity software on top of that embedded system (linux based) to connect cars with the car manufactor.

      Hence: the programming question had nothing to do with the topic. It was a general question where no special API knowledge was required. And yes, I consider the very simple C based EOF loop to copy a file: a special API! You can as well ask how to create a window in Qt and place a button upper let corner: super simple, but: a special API.

      The thing is you can't trust the resume. Resumes are full of lies!
      I'm not in the hiring business, so no idea. My CV has no lies :D but my english one is not up to date, in case you are interested.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    78. Re:sing for your supper by angel'o'sphere · · Score: 1

      I try not to self diagnose myself :D
      I know deep inside I'm hypochondriac :D

      But I guess I should get it checked.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    79. Re:sing for your supper by AmiMoJo · · Score: 1

      My advice is always get it checked. Otherwise you find out one day you have been living with some undiagnosed problem for 30 years and didn't have to suffer the whole time.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    80. Re:sing for your supper by lgw · · Score: 1

      Java has the bitwise operators. Same as in C.

      Java doesn't even have unsigned ints. And while shorts are in the language, just try working with them with no implicit casting.

      The high-level programmer uses a library for these tasks - but someone has to write the libraries...

      And writing them in Java is much like driving a nail with a screwdriver. Technically, it's possible.

      Anyway, the point is your typical college graduate has no practical experience with bitwise operations these days.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    81. Re: sing for your supper by lgw · · Score: 1

      Is "imperative" vs "declarative" the latest fad? You're good at problem solving, or you're not. You understand data structures, or you don't.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    82. Re: sing for your supper by illiac_1962 · · Score: 1

      No. It is the natural progression of our industry. Sort of like that procedural vs. OOP fad.

    83. Re:sing for your supper by Darinbob · · Score: 1

      Remember also that if the job involves programming, then programming questions are relevant even if the questions are not related to the actual code that the company has. Ie, I would ask about virtual destructors in a C++ interview even if the candidate is unlikely to be involved in that area. Similarly, if the job involves being able to think logically, solve problems, and debug code, then asking difficult problems that require the candidate to think are very relevant. You also want to get a broad idea of what the candidate is like, and you want to know if this candidate is better or worse than the one you interviewed the day before. Sure, all 10 candidates can program FizzBuzz but which one of them do you want working on Mars rover (or whatever your company's pride and joy is)?

      If you want programming to be the equivalent of an assembly line worker, then yes, simplistic questions that are only directly related to current job requirements might suffice. But I don't want programming to be that way, it would be awful. Programmers should be like engineers instead.

      The reading-a-file example is applicable in MANY contexts (data transfer using a limited size buffer), and people screw it up. So that's why it is asked. It is still a relevant question that provides insights into how the candidate can reason through a problem, even in high level languages. If the candidate says "I would just do File.Copy(a,b) and I refuse to decompose the problem further" well then you've just learned a lot about the person.

    84. Re:sing for your supper by Darinbob · · Score: 1

      Great, if a candidate brought up that question, I would be happy! I'd add a big plus to the resume and then suggest that it was ascii only or change it to an array of integers. I actually like to leave some things vague in my programming questions just to see if they are going to ask a question about it, which is highly relevant to many jobs.

      Even then it's intended as an early "easy" question and I am often dismayed when the candidate has to draw a diagram on the board to figure it out.

    85. Re: sing for your supper by lgw · · Score: 1

      I'm glad people have stopped rattling on about OOP. I was getting tired of hearing about functional programming and immutable objects. At least a new fad will be a change, I guess.

      Fads come and go, but you're still writing functions to do something, and most people can't do that well, for whatever reason.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    86. Re:sing for your supper by sjames · · Score: 1

      And you sound like one who thinks a guy who once raced in formula one can not run a go cart.

      Not only is that not supported by anything I have said, even if it was it wouldn't advance your position at all.

      Sorry, your explanations make no sense.

      Perhaps that's because there really is something to the idea that embedded programming goes well beyond your experience. I can show it to you, but I can't understand it for you. All of that would make perfect sense if you actually understood what you were making claims about. Any idiot can use a cross compiler, but you need to know a lot more to get the most out of a limited CPU that just barely has the capability to meet the design target.

    87. Re: sing for your supper by Anonymous Coward · · Score: 0

      Are you sure about that claim C# and Java predate UTF?

      UTF-16: 1996

      Java: 1995

      C#: 2000

    88. Re: sing for your supper by jesuscyborg · · Score: 1

      What sort of signals have you gotten from those observations in the past? I ask because I've never judged an interview candidate on best practices, style, etc. since I'd be unfairly biased in favor of a point of view in which the interviewee hasn't been trained yet. I've seen a few cases where folks try to do things professionally, and it leaves them with less time to finish the algorithm. If the code is working, it could use implicit K&R types for all I care.

    89. Re: sing for your supper by AmiMoJo · · Score: 1

      I prefer to look at larger projects they have worked on, but sometimes for embedded people I'm not sure about I might present them with some code like the string reverse but with a few issues and ask them to improve it. Debugging tends to be harder than writing code anyway, and it gives them an opportunity to show they know how to create robust, maintainable code.

      For me that's one of the most important skills. I'm not that fussed if you don't know everything there is to know about C, what is more important is that you can build software that avoids difficult to debug problems and which is easy for other people to maintain. Also, never be afraid to refactor if it makes the code better.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    90. Re:sing for your supper by Anonymous Coward · · Score: 0

      you sounds like a stuck up dinosaur. i wouldn't hire you.

    91. Re:sing for your supper by XxtraLarGe · · Score: 1

      It's arthritis, and not the kind you get from old age. Thanks for trying to diagnose me over the internet though, obviously I never bothered to see an actual doctor about it.

      Have you ever head of the Carnivore Diet? Supposedly it is good as an anti-inflammatory/auto-immune diet, even better than Keto.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    92. Re:sing for your supper by AmiMoJo · · Score: 1

      I love meat... But I'm not sure I could go 100% meat, I mean cheese is pretty good too.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    93. Re:sing for your supper by Anonymous Coward · · Score: 0

      It's all about the specific questions. Asking someone to design a ConcurrentHashMap from scratch is a great question, at least for someone senior.

      If you're putting senior candidates through the wringer like this, you're doing it wrong.

    94. Re:sing for your supper by Anonymous Coward · · Score: 0

      > Java doesn't even have unsigned ints.

      Simple, just use an array of 32 or 64 Booleans with each element representing a 1 or 0 in your "unsigned int" array. ;)

    95. Re:sing for your supper by XxtraLarGe · · Score: 1

      I love meat... But I'm not sure I could go 100% meat, I mean cheese is pretty good too.

      Keto? You can do meat, cheese, lots of vegetables, etc. Like the Carnivore diet, it is also supposed to help with autoimmune & inflamation, as well as diabetes. My wife & I have been doing it for about a month now. We aren't super-strict, but have greatly reduced our carbs. I've lost about 4 lbs per week, she's been losing about 2. The great thing is we're not even tempted when coworkers bring sweets to the office. The first week can be kind of hard, but after that it's easy.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    96. Re:sing for your supper by AmiMoJo · · Score: 1

      Loads of protein I guess, makes you feel full. I might try ramping up my meat intake, see how it goes. Thanks.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    97. Re:sing for your supper by XxtraLarGe · · Score: 1

      I love meat... But I'm not sure I could go 100% meat, I mean cheese is pretty good too.

      Forgot a >. Here's the link I meant to include:
      Ketogenic Diet. It's actually the fat that helps. Carnivore is also a high fat diet, even though it's only meat.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    98. Re:sing for your supper by Megane · · Score: 1

      That would be showing off, but you would still be expected to discuss the positives and negatives of your approach.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    99. Re:sing for your supper by fahrbot-bot · · Score: 1

      That would be showing off, but you would still be expected to discuss the positives and negatives of your approach.

      Thanks. I followed up in another post that this method is (a) very fast and (b) almost all the run-time gets logged against the system, not the user (for accounting purposes). Both because the program spends all its time in the write() system call with the OS demand-loading pages from the file through the map as they are referenced, then discarded as needed. This was just a simple example to demonstrate using mmap(). It is also *way* simpler than doing the buffering yourself... I had a discussion with the real-time developers, coming from CDC NOS and NOS/VE, about other Unix OS and memory things at the time...

      --
      It must have been something you assimilated. . . .
    100. Re:sing for your supper by angel'o'sphere · · Score: 1

      Perhaps that's because there really is something to the idea that embedded programming goes well beyond your experience.
      Rofl, I started with "embedded".

      but you need to know a lot more to get the most out of a limited CPU that just barely has the capability to meet the design target.
      No you don't. There is no difference in knowing/need to know CPU limits versus know/need to know database limits or what ever.

      The idea that embedded is super complex and everyone who never worked in that area is an idiot: is just silly.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    101. Re:sing for your supper by sjames · · Score: 1

      I'm not the one who goes around calling people idiots just for not having a specialized bit of knowledge.

      If what I said above didn't make sense to you, then you must not have done embedded for long, or you stuck with the easy stuff (that is, drove a go-kart, now thing formula 1 driving is easy).

      There is a class of embedded apps that isn't that hard and doesn't require the deep knowledge. Many Arduino projects fit that. Note that that's not a knock on Arduino, it has the big plus that it doesn't mind if you want/need to frob the registers directly to get more out of it.

    102. Re:sing for your supper by Anonymous Coward · · Score: 0

      Right.

      When an applicant looks up and says "uh, isn't there a built-in in the String object?" they get a smile, a nod, and we move on to other questions, and there's a little positive tick.

      They can also brute force it, but the fact that a simple built-in wasn't used is also noted.

    103. Re:sing for your supper by angel'o'sphere · · Score: 1

      Most embedded projects in our times are not particular challenging.
      You run linux or QNX ...

      And if you have an 8 bit controller, it is by definition super simple.

      So get down from your high horse ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    104. Re:sing for your supper by sjames · · Score: 1

      So you're saying the Apollo command and lunar module flight software was simple BECAUSE the CPUs weren't all that powerful and there wasn't much RAM?

      If the device has enough power to host Linux, you're in relative luxury. Even there, you face challenges not seen in the server or desktop world. If the project actually calls for something like ARM (where you trade off simple hardware and robustness against crappy power and electrical noise for CPU power), you may again be at the limits of what the processor can do. Of course, step one may be deciding if you actually need ARM or if you can get away with less. That may be a very pricy choice.

      You sound more like a stereotypical PHB that thinks programming is just a bunch of typing so it must be easy.

    105. Re:sing for your supper by angel'o'sphere · · Score: 1

      So you're saying the Apollo command and lunar module flight software was simple BECAUSE the CPUs weren't all that powerful and there wasn't much RAM?
      No, they were simple because they did simple tasks.

      Even there, you face challenges not seen in the server or desktop world.
      Yes, but such a "challenge" is just another "part of the spec".

      You sound more like a stereotypical PHB that thinks programming is just a bunch of typing so it must be easy.
      No, I'm a software developer. And in my experience the challenge is in requirements engineering ... I at least never had any problem to develop anything. There is no special trick in doing embedded development ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    106. Re:sing for your supper by sjames · · Score: 1

      If you think the flight software was simple, you don't understand the requirements. I suspect that's the explanation for this whole thread.

    107. Re:sing for your supper by Anonymous Coward · · Score: 0

      Fortunately, you can view the source code and decide for yourself how 'simple' it is!

      http://www.ibiblio.org/apollo/

    108. Re:sing for your supper by sjames · · Score: 1

      Excellent link! Thank you.

    109. Re:sing for your supper by angel'o'sphere · · Score: 1

      Actually it was simple :D
      Hence the misunderstandings in the thread.

      The software in the Apollo systems had not even 1000 lines of code ... the space shuttle had a bit more than a million. No idea why you post about software when the only thing you do is trying to explain us why embedded is so complicated and can only done if you know how to xor a register with itself to set it to zero 1 cycle faster.

      But thanks to the internet many things are easy to look up: https://en.wikipedia.org/wiki/...

      Have a nice day.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    110. Re:sing for your supper by sjames · · Score: 1

      Perhaps you should actually follow the link the AC replied to me with. It includes the actual (substantially more than 1000 lines) source.

      Now, go re-read the thread. Read it for comprehension this time rather than looking for excuses to stop thinking and start bloviating.

      Or don't and remain ignorant. It's up to you.

    111. Re:sing for your supper by angel'o'sphere · · Score: 1

      Then it is 2000 lines, rofl.
      Does not make a big difference.

      Anyway it was not the topic, the topic was that some people on /. always claim embedded development would be close to magic, it is not.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    112. Re:sing for your supper by sjames · · Score: 1

      Time for a quiz, what language is the source in?

  4. Loaded Interview by mrobinso · · Score: 5, Interesting

    I shortlisted for an interview and got ambushed on my arrival. There were 19 other candidates, and we're all ushered into a small room with 20 desktop spots on a table that went around the entire room. We were handed one single sheet of paper with a coding problem we were to find a solution for. All 20 workstations were Mac Minis. None of us were told there was a programming exercise, none of us were told it was a Mac shop.

    I walked out of the "interview" in disgust. Eleven others went with me. By the looks on the interviewers' face, this has happened before.

    I don't mind being put to the test, but I don't like being ambushed.

    --
    -- Karma whore? You betcha. --
    1. Re: Loaded Interview by Anonymous Coward · · Score: 0

      Oh wow, that IS bad. Everyone knows Mac users, windows users etc cant suddenly use the other platform with a timer running. I only ever do whiteboard interviews and the interviewer can use whatever method or language they want. Really really bad. I bet they get a lot of terrible hires.

    2. Re:Loaded Interview by Smerta · · Score: 2

      Place sounds like a dumpster fire.

      Does the place have a name? Sounds like in your round alone, there were 12 people who walked out. Probably dozens, if not hundreds, have walked out over time.

    3. Re:Loaded Interview by ShanghaiBill · · Score: 3, Insightful

      None of us were told there was a programming exercise

      Do you really need to be told this? Were you expecting to be hired as a programmer without demonstrating that you can program?

    4. Re:Loaded Interview by jythie · · Score: 4, Interesting

      Ah yes, the 'guess which compiler we are using and how it differs in minor ways from the one you know in 20 minutes!' style test.

    5. Re:Loaded Interview by Anonymous Coward · · Score: 0

      I wonder if I've interviewed there. I had one that gave me a literal test, 1 hour 10 questions, and it was a mac shop. Before I got started the guy says "it'll be on a mac, you familiar with those?", my response "It's not my preferred platform, but I'm sure I'll manage". Since the company I was working for was doing mass layoffs at the time, several of my co-workers interviewed at the same place, we all compared notes afterwards. We all got the same test, I did the best on it, but I was the only one who didn't use a mac normally. I was the only one who wasn't asked back for round 2. Granted, out of all of us, 1 guy actually accepted a job there and he quit within 18 months as it was a properly shit place to work.

    6. Re: Loaded Interview by Anonymous Coward · · Score: 0

      Ask them what all the HTTP status codes mean

    7. Re:Loaded Interview by Anonymous Coward · · Score: 0


      Were you expecting to be hired as a programmer without demonstrating that you can program?

      In my 20 year career every single job I've had I didn't have some silly programming exercise. They looked at my experience, and asked questions. Sometimes I didn't get hired because blowhards like yourself think programming is about being held to some standard on the spot. Franky I consider myself lucky they did these silly exercises and I was eliminated. The good employers have known better. I can assure you I'm a valued employee that's created highly valuable software.

    8. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Twenty interviewees at the same time and they just stick them all in a room to do a programming problem? That is the sign of a lazy-ass company that you probably wouldn't want to work for anyhow. Remember, the interview is also for you to find out if the company is worth working for.

      I probably would have stuck around because programming problems are fun for me (if they aren't expecting you to do something that would require you to have memorized a college textbook like balanced trees, or a sort more complicated than bubble, or math heavier than algebra), but I would have had a big red-flag about the company from the start.

    9. Re: Loaded Interview by Cryacin · · Score: 1

      Ask them what all the HTTP status codes mean

      And yet both people failed the embedded chip portion of the interview.

      --
      Science advances one funeral at a time- Max Planck
    10. Re:Loaded Interview by Cryacin · · Score: 1

      1 guy actually accepted a job there and he quit within 18 months as it was a properly shit place to work.

      It was a mac shop. You have been warned!

      --
      Science advances one funeral at a time- Max Planck
    11. Re:Loaded Interview by Anonymous Coward · · Score: 0

      So there were 8 people left who had the required skills too complete the requested task? Sounds like a great test to me. Efficient too.

      Those 8 were the real short list. Welcome to the real world.

    12. Re:Loaded Interview by Anonymous Coward · · Score: 0, Interesting

      Programmers don't need to know how to program. They need to know how to argue about math in front of a whiteboard.

      Unless you work for some kind of code mill sweatshop, that is.

    13. Re:Loaded Interview by AmiMoJo · · Score: 1, Interesting

      Demonstrating I can program means showing them examples of my work and discussing issues with them, not sitting down and completing some arbitrary task under pressure with a bunch of rival candidates.

      That kind of testing just screams code-monkey sweatshop.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    14. Re:Loaded Interview by tomhath · · Score: 2

      So there were 8 people left who had the required skills too complete the requested task?

      1: If they were looking for Mac users they should have screened for them in the first place

      2: If being familiar with using a Mac is the main qualification then it worked (but see #1). Otherwise they screwed themselves by rejecting good candidates who could have become familiar with a Mac in a week or two. Very stupid and inefficient.

    15. Re:Loaded Interview by Megane · · Score: 1

      At least Mac Minis would have had Perl and Python installed, even without the developer tools. And with the developer tools, any self-respecting C dev should be able to run gcc from the command line. Even clang pretends to be gcc from the command line.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    16. Re:Loaded Interview by Kohath · · Score: 1

      It's probably a good test for them. They're looking for people who will put up with being treated like shit. Imagine actually working there.

    17. Re:Loaded Interview by AuMatar · · Score: 1

      No, because I don't know that you actually wrote the examples of you work. I can't even count the number of times on freelancing sites I was asked to create them (and a few times outside of that- graduating college I was asked by a lot of people to do it for them). If you don't do it in front of me, I can't trust that you can actually do it.

      Now a roomfull of people at once- yeah that's a dumpseter fire get the fuck out. This type of thing should be done one on one.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    18. Re:Loaded Interview by monkeyxpress · · Score: 5, Insightful

      None of us were told there was a programming exercise

      Do you really need to be told this? Were you expecting to be hired as a programmer without demonstrating that you can program?

      I imagine it wasn't so much the test, but the bulk 'we don't want to waste our time, but are happy to waste yours' nature of the interview process. It can be a lot more effort for a candidate to come to an interview (time off current job, dry cleaning, transport costs) then for the company to allocate a few staff to the interview room for an hour, and it is a pretty good indicator that the company is happy to mess you about if they expect you to put the effort in to turn up, but won't even give you a one on one interview.

      I would always expect a one on one interview unless they told me before hand as a matter of courtesy.

    19. Re:Loaded Interview by AmiMoJo · · Score: 1

      That's why you discuss the code. You ask them why they wanted to show you that bit, why it is interesting or impressive, and why they designed it that way.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    20. Re:Loaded Interview by Oligonicella · · Score: 1

      Thirty-five year career. Never had to do it. Showed some of them things I had done before. Never had to take a monkey test.

    21. Re:Loaded Interview by Oligonicella · · Score: 2

      No, because I don't know that you actually wrote the examples of you work.

      That's when you talk to them. Pretty easy to determine if they wrote the code or not.

    22. Re:Loaded Interview by angel'o'sphere · · Score: 1

      I had two interviews in the last 30 years with programming excrises. Oh, actually 3.
      The third own wanted me to finish the programming exercises before the interview.

      The other two announced there will be programming exercises, one only was making a kind of UML diagram, the other one canceled it.

      So: yes I expect to be informed before hand if there is an programing exercise and what language they use, so I can prepare a bit.

      After all, as far as I know NULL in C is not the same NULL as in C++. Your millage may vary.

      Hint: from my 50 interviews, only 3 had "programming exercises" ... so: no I don't expect to perform in an exercise if it is not announced before.

      However it would not matter to me, I never had an interviewer, regardless of topic, who was even on 50% of my level.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    23. Re:Loaded Interview by angel'o'sphere · · Score: 1

      Exactly! ...

      Obviously they where window users ... I doubt a Linux user had skipped a mac challenge.

      I mean, we are old fashioned and use man pages, but that can hardly cause a grudge against us, can it?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    24. Re: Loaded Interview by Oligonicella · · Score: 1

      All 50+ of them? Why in hell? You want to hire Rain Man? That's what literals are for.

    25. Re:Loaded Interview by angel'o'sphere · · Score: 1

      It was a mac shop. You have been warned!
      Idiot very much?

      It was a programming job. There is no better OS/computer for programming than a Mac. Linux is miles behind and MS Windows lightyears. Only some obscure Unixes are somewhere clustered around Linux, like HP-UX and AIX ... and Solaris.

      But I guess in your blinded mind you tried to make a lame joke ... you failed.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    26. Re:Loaded Interview by fahrbot-bot · · Score: 1

      There were 19 other candidates, and we're all ushered into a small room with 20 desktop spots on a table that went around the entire room.

      Could have been worse. There could have been 20 candidates and only 19 spots at the table. :-)

      --
      It must have been something you assimilated. . . .
    27. Re:Loaded Interview by Anonymous Coward · · Score: 0

      I shortlisted for an interview and got ambushed on my arrival. There were 19 other candidates, and we're all ushered into a small room with 20 desktop spots on a table that went around the entire room. We were handed one single sheet of paper with a coding problem we were to find a solution for. All 20 workstations were Mac Minis. None of us were told there was a programming exercise, none of us were told it was a Mac shop.

      I walked out of the "interview" in disgust. Eleven others went with me. By the looks on the interviewers' face, this has happened before.

      I don't mind being put to the test, but I don't like being ambushed.

      I think I know where you were interviewing, I've had a couple of phone screening interviews with that company and refused to go further. They also have a reputation.

      If it's the place I'm thinking about they redistribute the backlog items every day--so you can be working on a different item every day, and the dev machines are refreshed overnight so it doesn't matter which system you're working on.

    28. Re:Loaded Interview by Anonymous Coward · · Score: 0

      This:
      If you give me a programming question I need to know that I'm getting programming questions. I probably would like to know what sort of questions but will understand if you don't share.
      Also unless it's a day/week long project I expect you to give me a face to face. If you try to give me a coding exercise over the phone, through google docs, or hangouts I'm going to stop talking to you my time isn't worth wasting on people who don't show me respect. If you really piss me off I'll intentionally waste the recruiter's time with stupid questions and crazy demands.

        You can call me spoiled but I get respect at my current job and will not go back to getting treated like shit without a 4x salary increase. It's interesting though I once had a recruiter offer me 50k and then I told them 200k or I won't look. They agreed without hesitation. Heh I broke down and said I'm actually not interested in dealing with them anyhow it just doesn't sound like fun job.

    29. Re:Loaded Interview by AuMatar · · Score: 1

      Except they're picking the code, so of course they studied their specific example. Instead, I'll just have them write it in front of me and then I don't have to worry.

      I'll also have some idea of what style they write in on what timeframe. I don't want to see code you've spent months or years working on and polishing, I want to see code you write under a reasonable deadline, because that's what you'll actually be checking in.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    30. Re:Loaded Interview by AuMatar · · Score: 1

      ANd they bullshit enough to get in. Or get trained in it by the guy they hired.

      Nope, have them write it in front of me. Its the only way to be reasonable sure. Plus, as I mentioned before, then I see code they write in the moment, not code they've polished over the course of weeks/months to be used as an example.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    31. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Sure, why not? I've been hired as a programmer five times in 20 years and have never, ever had to actually program during the interview. We covered basic concepts, discussed some algorithmic issues that actually were germane to the problems the company faced, etc, but I've never once had to sit down and *write code* for an interview.

    32. Re:Loaded Interview by Anonymous Coward · · Score: 0

      I had one like that in Lancaster PA. Thought it was a regular interview. Turned out this "company" was a bunch of laptops in a halfway renovated house office. So I get put at a table and told to make an ASPX login screen from this rough spec. If there's anything I learned from using WebForms over the years, it's that it's always easier to just do the HTML yourself and then act like the backend is ASP. I turned it in, got told to do it again in WebForms this time, predictably ran out of time, and left. Awful experience and very clearly a disposable body shop.

      Lancaster honestly has some of the dumbest software shops I've ever interviewed with.

      I went to interview with another "company" and they said my resume was thin. I'd spent 8 years as lead developer (full stack no less) on a major project at that point. This is a market where nobody seems to be able to do anything but jQuery "apps" and here I was doing C#, VB, SQL, JS, COM interop, Windows services, etc. But my resume was thin.

      I went to another interview where "Ren" the CEO gave me a vague spec I couldn't ask any questions and had 24 hours to complete prior to the interview (like I had nothing else to do but his interview). So I did 95% of it but hit on one of a few concepts I can't get my head around, master detail datagrids. I just have never been able to get them to work right. if the team was any good, somebody else should've been able to fix it rather than let me spin my wheels. Anyway, I was also allowed to show a personal project. So I brought this program I was running a business off of (I was unemployed at the time so it helped with cash flow). Custom controls, plug-ins, GDI+, the works...and this shithead fixated on the fact that my tax plug-in pivoted on states instead of ZIP codes. Well, gee, shame on me for being a local business with a steady tax rate because that was totally impossible to ever fix.

      Harrisburg's pretty shitty too. Had some DBA at Rite Aid grill me over what port programs like SQL Server ran on. WTF does it matter if I know this stupid trivia. One, it's easy to look up, and two, places often change default ports to hide from attacks. Not a single actual programming question on that entire interview.

      D&H was pretty bad too. I applied for a C#/SQL/IIS job there. Actually, years back, right out of school, I applied for a C++ job there that turned out to be selling computers because the Hands, Left and Right, has apparently never met. Anyway, I actually knew the dumb questions they threw at me this time. Then I show up for my first day and my job is suddenly Dynamics with X++ and no SQL. Oh, and not so much as a developer sandbox set up three months in. Not long after, I was laid off for not finishing any of the zero assignments I was given. Awful place filled to the brim with incompetent management.

    33. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Don't work for a company that doesn't respect you seems like a smart rule if you ask me. Telling someone something like that is nothing but courtesy. It's not like it's something you can cram for, and, if you can cram your way into a programming test, then I *really* want to hire you!

    34. Re:Loaded Interview by Anonymous Coward · · Score: 0

      You should not be responsible for hiring anyone, ever. Please for the sake of humanity, delegate that to someone who understands the basics.

    35. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Well by that logic (if I don't see you do it, I can't know you actually did it), we should make doctors perform surgery on the spot while someone watches too eh? Insert just about every other profession in the world where they don't make them perform like a trained monkey on the spot.

      That doesn't even get into the fact that being a programmer is a lot more than just how much syntax you personally carry around in your head. As the probably apocryphal but doesn't really matter because it's true regardless Einstein quote goes "why memorize what you can look up in a jiffy?"

    36. Re:Loaded Interview by pwileyii · · Score: 1

      You seem to have a bit of trust issues in the hiring process. So far, I have not had any issue hiring people and determining that they knew what they were talking about versus faking it. There are some basic things that you expect people to know and, if they don't know them, you expect them to behave in a certain way such as simply admit it instead of trying to BS through it. I remember an interview that I was in and I didn't know the answer to a particular technical question and I said that I didn't know. I ended up getting that job. My opinion is the personality of the person that you hire is more important than technical ability because people can learn to improve their technical ability, but people can't really improve their personality. That isn't to say technical ability isn't important, just the second thing that I look for.

    37. Re: Loaded Interview by Anonymous Coward · · Score: 0

      To that you should just say "413" and walk out.

    38. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Coding depends a LOT on workflow for me. I like my editor. I like my bookmarks. I like my tools. Without time getting used to my desktop environment, I feel like fish out of water, even more so if asked to programming on a different OS.

    39. Re:Loaded Interview by ShanghaiBill · · Score: 1

      So far, I have not had any issue hiring people and determining that they knew what they were talking about versus faking it.

      Then I doubt if you have done much, if any, hiring. We try to weed out the fakers with phone conversations before inviting them for a face-to-face interview, but the only way to be sure is to have them write some simple code like a program to find the 1000th prime number. That is trivial, but about a third of candidates can't do it. These are people with CS degrees from reputable universities, with plenty of code samples, apparently from group projects, that they are able to discuss intelligently, yet clearly didn't write.

      If you want a job writing code, you need to demonstrate that you can write code, not just talk about it.

    40. Re:Loaded Interview by Anonymous Coward · · Score: 0

      The interviewer at Google actually asked if my whiteboard code compiles. He was typing my code into editor and trying to compile it on his laptop and probably discovered some warnings or compiler errors in process.

      I told him that I don't know what flavor of "whiteboard C compiler" I am using here.

      You can't make this shit up.

    41. Re:Loaded Interview by radarskiy · · Score: 1

      If you get into a hour-long argument about the difference between UB and IB do you pass or fail? ;-)

    42. Re: Loaded Interview by Anonymous Coward · · Score: 0

      I think the real problem is that it is very easy for organizational bureaucracy to want to eliminate the "human element" from the hiring process, turning it into what is ostensibly hypothesized to be a well-oiled top-talent hiring machine.

      However, absolutely nobody, anywhere, in any occupation wants to be fed like so much wood pulp into the HR paper mill. When you're occupation requires relatively low skill levels, you have to deal with it. However, tekkies are in high enough demand that they don't have to put up with it if they don't want to.

      I won't even fill out a form.php when applying for a job. If you can't make someone available for me to email my resume/interest blurb to personally then I can't make myself available for you. Instead, please fill out the appropriate form with your corporate name, address, and history and I'll get to it when I have time.

    43. Re: Loaded Interview by Anonymous Coward · · Score: 0

      So how much do you pay, at consulting rates, for the people you (pretend you) interview? Is it zero? I'll bet it is zero.

      I know when I want a house built, I don't trust the builder really built it. I have the first interviewee build a foundation, the next couple framing a few rooms, the next batches after that do roofing, plumbing and electric, then drywall, tile and for the last few candidates I have them do some painting and cleaning.

      After all, if I don't see them do it in front of me, maybe they are just thieving liars.

      Also, I drive a Ferrari and bang Jennifer Lawrence while flyng around my mansion in my powered armor suit.

    44. Re: Loaded Interview by Anonymous Coward · · Score: 0

      And if ShanghaiBill and AuMatar want to hire good people, they need to demonstrate they can actual do it.

      Interviewing candidates is easy. Step one, post a meaningful job description. That means salary range for each of adequate, good, great matches, location, responsibilities, approximate schedule and team/organization structure. Phone screens can weed out idiots in a minute unless the interviewer is a bigger idiot. I can differentiate between adequate, good and great in under five minutes more for anything I have had any meaningful exposure in before. If you have not had meaningful exposure to a role, maybe you shouldn't be in charge if hiring for that role.

      If you are too lazy to read a lot of resumes, stick a magic word to include in the job description ask the applicants to include that and grep dump any applications that don't include it.

      Then again, ShanghaiBill spends most of his time criticizing others. AuMatar is not someone I noticed before, but he too seems like a blowhard imaginary big shot telling people how he would run things, if he had an actual position of authority.

      There are two kinds of people that can not find skilled employees. Cheapskates and assholes. If these assholes worked in an HMO, they'd be posting jobs seeking a cardio-thoracic -neurology-oncology board certified specialist with 7-9 years of experience using a #3 blade Acme brand scalpel in an east facing viewing area surgery theater. During the interview process, they would offer a generous $22.50/hr, paid only during actual surgery time. And expect the surgeon to bring his own scalpel.

      Congrats on your double.

    45. Re: Loaded Interview by Anonymous Coward · · Score: 0

      Nah. The goal is to ddos the other nineteen guys first without getting caught, then bitcoin ransomware the company network, and leave the false trail pointing at the obnoxious interviewer.

    46. Re:Loaded Interview by Anonymous Coward · · Score: 0

      #define NULL BS // is the same in C and C++

      Anyways, research shows testing to be BS to actual job performance. Most often, shitty workplace messes around with otherwise competent people, and makes the stayers shitty psychopath system-enabling monsters as well..

      Captcha: unveiled

    47. Re: Loaded Interview by Anonymous Coward · · Score: 0

      There are 62 of them. Definitely 62.

    48. Re: Loaded Interview by Darinbob · · Score: 1

      My current job was the first time I used a Mac, and I picked it up very fast. I wasn't really a hardcore windows users either though, and the Mac was essentially Unix anyway. Emacs was even built in (textedit was awful, though still better than notepad).

    49. Re:Loaded Interview by Anonymous Coward · · Score: 0

      "don't want to see code you've spent months or years working on and polishing, I want to see code you write under a reasonable deadline, because that's what you'll actually be checking in."

      Then you're a fucking idiot. Every other profession judges based on past experience. What have you actually achieved is what matters. Putting people on the spot is dumb.

    50. Re: Loaded Interview by Darinbob · · Score: 1

      Sorry, was going to add that ANY system, even one you are very familiar with, will be difficult to use if it's not configured the way you like. Even if you love Eclipse, sitting down at a random Eclipse window brought up by someone else will be confusing. The idea that there is a universal system that anyone can sit down and use falls down once you need to do more than click or double click.

    51. Re:Loaded Interview by sjames · · Score: 1

      In many places, they either look at your existing work or have a sr. developer discuss a bit of code with you in order to find out if you know what you're doing. Add in that they never even mentioned that they were a Mac shop and it's probably best to walk before you also find out they forgot to mention that they pay in rupees bi-annually.

    52. Re:Loaded Interview by sjames · · Score: 1

      So I take it the operative principle in your shop is "OMG it compiled, SHIP IT!"

      I say that since you seem unwilling to take even the basics for granted yet you show no interest in what their polished production ready code might look like, only what they can dash out in a timed test.

    53. Re:Loaded Interview by Anonymous Coward · · Score: 0

      Walk through complex problems and alternative approaches? Nah, don't do that. Quick! Reverse this string!

      If you know your stuff it's not that hard to figure out if someone wrote a piece of code and if they know what they're talking about.

    54. Re:Loaded Interview by Darinbob · · Score: 1

      In my experience, the resumes are wrong. You can't rely on them. If you just rely on other questions you stand a good chance of hiring a bullshitter. I've seen this happen several times. Now that particular example of a programming test was awful, but it should be expected that *some* sort of programming questions will be asked and some code snippets asked for.

      I'm in my mid 50s, I've ALWAYS been asked some programming questions or given examples on a whtieboard.

    55. Re: Loaded Interview by illiac_1962 · · Score: 1

      If you love eclipse I have a baseball bat for your skull.

    56. Re: Loaded Interview by illiac_1962 · · Score: 1

      Yes. We just talk. That's it. Battery of tech questions, whiteboard, computerized test? I don't need your shit job that bad.

    57. Re:Loaded Interview by Anonymous Coward · · Score: 0

      After 20 years of coding, give it a fucking rest already.

    58. Re:Loaded Interview by djinn6 · · Score: 1

      You mean there's no better computer for hipsters.

      As someone who coded on a Macbook pro for years and finally switched to a top-tier Dell laptop running Linux, the Dell is much better.

      The hardware is a mixed bag. In exchange for the awkwardly placed webcam and speakers, I've not burned my legs or hunted for a dongle once since the switch, and there's a touchscreen for dealing with those web pages that desperately wanted to be a phone app.

      As for the OS, Linux is way better. Just on the window management side, there's a proper maximize button, hotkeys for neatly resizing windows to take up the left or right half of the screen, multiple desktops in a 2D grid, and Alt-Tab that doesn't care what "app" a window belongs to.

      Coding-wise, Terminal and Emacs work the same way in both, but having a second clipboard in the form of select & middle click (or triple touch) is amazing. I've also not had it crash despite leaving it on for months with automatic updates, whereas my Mac had to be rebooted once every week or two.

      Oh and the Dell was $800 cheaper.

    59. Re:Loaded Interview by angel'o'sphere · · Score: 1

      If apple continues the downhill path, switching to linux likely will be my way, too.
      Unfortunately they have no decent Mail app ... at the moment I'm actually searching for a good one written in Java so I can tweak it till it is like the Mac one.

      Obviously you should switch off automatic updates on a mac, too ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    60. Re:Loaded Interview by Anonymous Coward · · Score: 0

      You applied for a programming job and didn't expect that someone might ask you to program? If you can't write a small bit of code at the drop of a hat, who wants you anyway?

      The Mac thing is slightly more unreasonable; I'd have to see the question and whether it was relevant.

      Don't give me the "oh, I wanted them to sit and have a lengthy chat with 20 people" crap either - when we hire programmers MORE THAN 90% of the applicants can't program. I mean, they can't even produce a line of syntactically correct code in any language (we give them a choice from several). We need to weed them out before we get into more time-consuming decision making methods.

      If I'd been the interviewer I would have been thinking "well, that's an even dozen losers we don't have to waste time on".

    61. Re:Loaded Interview by AuMatar · · Score: 1

      I don't take the basics for granted because over 18 years in this profession I've found that to be wrong way too often. I've interviewed plenty of people who would fail reverse a string (which is not a test I actually give). As for that being what their production code might look like- not really. You're always under time constraints. While I expect what's been done over the course of a day or two to look better than over the course of a few hours, that isn't what we're talking about here- they had unlimited time to massage it, get reviews from peers (which I've been asked to do many times for other people's interview code, and which isn't something you can do in real work), get many rounds of feedback. It isn't realistic to what you'd be writing under normal deadlines at a job.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    62. Re:Loaded Interview by AuMatar · · Score: 1

      Your expectations are orders of magnitude too high. People lie. Not everyone, but I've had plenty of people try to get jobs that are way too high level for them, many without even more than the absolute basics of programming. A couple without even that (they read a few tutorials and signed up online because they wanted to work in tech). You're too trusting and expect too much honesty from the random person. Even if 90% of people are honest, that last 10% will utterly fuck you. A bad hire will do more harm to a company than missing a good one.

      As an aside- I have no problem with an "I don't know" if its something I think they're capable of learning and the position gives them the time to do so. The goal of a technical interview isn't to give trick questions, and unless you really need a subject matter expert it isn't to make sure they know everything on a subject, its to assess skill level overall and ability to learn what's needed.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    63. Re:Loaded Interview by AuMatar · · Score: 1

      Who said anything about reverse this string? The last question I gave to someone for an on site interview was to give him a computer and ask him to write as much as possible of a minesweeper clone on Android (the position was for a mid level Android position). I didn't even really expect him to finish, I wanted to see how far he got and how he modeled the data/architected the solution. Particularly if he could get the open algorithm correct and reasonably efficient (the part where when you click on a "0" square all surrounding squares reveal themself and propagate).

      --
      I still have more fans than freaks. WTF is wrong with you people?
    64. Re:Loaded Interview by AuMatar · · Score: 1

      Look up what you want. When I'm in an interview I don't care if you get the syntax of the actual html call right, or if you swap the parameters to fread. Hell, I can't remember what the order in fread is. What I'm looking for is your ability to think through the problem and find a solution, and ability to find alternate solutions or problems with an initial solution.

      Doctors are a completely different territory- there's standards bodies who have certified that this person has the skills. Furthermore, if I was getting major surgery on a non-emergency basis, I damn well would spend time researching success rates and reading their history with the state medical board. I've known people who almost got unnecessary surgery before they went and got a second opinion (which they then confirmed with a 3rd opinion, to tie break the first two).

      --
      I still have more fans than freaks. WTF is wrong with you people?
    65. Re:Loaded Interview by sjames · · Score: 1

      So your shop does NOT do code review? And it's in a constant state of not enough time to do it right?

    66. Re:Loaded Interview by AuMatar · · Score: 1

      No shop ever has enough time to get it completely right. Especially not startups. Welcome to the real world- perfect is the enemy of the good. It doesn't matter if you can write something that's so beautiful it brings tears to the eye if that takes 10x the time to get it done well enough. The well enough is better.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    67. Re:Loaded Interview by sjames · · Score: 1

      So in fact, you are looking for slapdash crap coders.

    68. Re: Loaded Interview by Anonymous Coward · · Score: 0

      See instant fail. Itâ(TM)s not called a red flag itâ(TM)s called a red black tree :D

    69. Re:Loaded Interview by AuMatar · · Score: 1

      No, I'm looking for people who can put out decent quality code despite time restriction- in other words people who are productive in the real world. Which seems to exclude you.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    70. Re:Loaded Interview by Anonymous Coward · · Score: 0
    71. Re:Loaded Interview by sjames · · Score: 1

      Actually I'm quite productive. In part it's because I know that the first code you write is a rough in that may bear little to no resemblance to what actually ships. But to succeed with that you have to know what good code and great code look like so you can at least leave the door open for it to become that. A good developer knows when it's time to get a second opinion through a code review (a process you claim can't be done in real work).

      You seem unconcerned with anything beyond the rough-in.

      String reversal should be left to the standard libraries. Hopefully those were done by someone who believes in code review and iterative polishing.

    72. Re:Loaded Interview by AuMatar · · Score: 1

      Once again- who the fuck sai anything about string reversal? Keep batting at strawmen though

      --
      I still have more fans than freaks. WTF is wrong with you people?
    73. Re:Loaded Interview by sjames · · Score: 1

      I've interviewed plenty of people who would fail reverse a string

      Granted, you said you don't do that particular test, but it is an example of basic tests used in this thread and *YOU* referred back to it.

  5. as opposed to creimer by Anonymous Coward · · Score: 0

    who is too soft and too short

    1. Re:as opposed to creimer by Anonymous Coward · · Score: 0

      Creimer is too busy making YouTube videos and taking on The Verge for copy striking the tech community.

    2. Re:as opposed to creimer by Anonymous Coward · · Score: 0

      i love how a friendless 50 year old loser thinks he speaks for the tech community because he has a laptop
      you're a narcissist buddy

    3. Re:as opposed to creimer by Anonymous Coward · · Score: 0

      If you bothered to watch the video, you would have noticed the brand new motherboard, processor and memory on the table behind him for his video editing PC. I loved the story about his roommate from 15 years ago asking if the processor was supposed to be sticking to the bottom of the heatsink. O_o

    4. Re:as opposed to creimer by Anonymous Coward · · Score: 0

      wow
      much relevance
      such information
      15 year old unverified anecdotes from an obese shaved gorilla

  6. Implement a vending machine by Anonymous Coward · · Score: 0

    I went to an interview and was handed a programming test to implement a web based vending machine. The test also required implementing a service that mocked a credit card processor.

    All of the requirements for the vending machine were on a single 8.5x11 sheet of paper 12 point single spaced.

    After 4 hours of programming I went to the interviewer and said I'm not going to finish this today. I found out later they normally give this test to candidates a week before the interview and have you email in your solution.

    1. Re:Implement a vending machine by Zak3056 · · Score: 1

      I went to an interview and was handed a programming test to implement a web based vending machine. The test also required implementing a service that mocked a credit card processor.

      Pfft, no problem. Mine even handles multiple card processors.

      printf("You suck, Square! Fuck you, Paypal!");

      --
      What part of "shall not be infringed" is so hard to understand?
    2. Re:Implement a vending machine by Megane · · Score: 1

      What. The. Fuck. Seriously, a "programming test" should be to prove that you can program, right then and there, in a few minutes on a whiteboard, not to design a finished system solo, over multiple unpaid hours. That right there causes the company to fail the interview, though I would have balked before wasting four hours of my time. And the question the devs were scratching their heads about the week before should also not be used as a serious interview question.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    3. Re:Implement a vending machine by Anonymous Coward · · Score: 0

      a "programming test" should be to prove that you can program

      True. Yet most interview questions are puzzles where you first need to figure out *what* to program. By the time you have figured out the algorithm there may not be much time left to demonstrate that you can program.

    4. Re: Implement a vending machine by Anonymous Coward · · Score: 0

      The point of these "interview projects" is to get American devs to write, for free, code that the Indian body shop has been spec'ed to write.

      Why pay for full time crappy Indian devs when you can accept the subcontract spec, farm the work out as a dozen "interview questions" to dozens of suckers, and turn in the least bad set of sort of workable solutions?

      Not that I have fifty emails addresses with a dozen syllables on each name and do this myself. Nope, no sir.

      Luckily shills like ShanghaiDull goad the duller folk to fall for it.

    5. Re:Implement a vending machine by hcs_$reboot · · Score: 1

      I went to an interview and was handed a programming test to implement a web based vending machine. After 4 hours of programming I went to the interviewer and said I'm not going to finish this today

      I went to an interview and was handed a programming test to implement a web based car sales site, including commands, history, payment, invoicing, stock, rental, repairs schedule mgt... After a year of programming I was told it's ok.
      Was well paid, though.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
  7. Missed the boat... by Anonymous Coward · · Score: 2, Insightful

    Small hint: sometimes the answer is not what they are looking for...stress handling, bullshit-o-meter, implementation ideas, probable likability, etc...
     
    Only once I had an interview where I didn't get the job (as a software dev - back when I was a junior, was totally not prepared). The key is to be prepared and actually tell them you don't know and/or you don't want to bullshit them if you don't know the answer.

    1. Re: Missed the boat... by Anonymous Coward · · Score: 0

      Unless the interviewer already knows you it is really stupid to try that sort of nonsense because it tells you literally nothing. And if they already know you well they have no need to do that stuff.

    2. Re: Missed the boat... by Anonymous Coward · · Score: 0

      Nonsense? One interview I had was with in a room with every other person in the department (around 40) that asked you anything they wanted. They decided if you were a good fit or not in the department (this was the last interview after HR and tests). Seems like they would have weeded you out with that attitude lol!

  8. Interview questions? by bobbied · · Score: 2

    It's pointless to ask anything other than a basic programming question during an interview. IF you insist on verifying that a candidate knows the language they claim, do that OUTSIDE the interview. You can present them with a "how do you fix this error" or give them a bit of code and ask them what it does, but any detailed questions like "Solve this problem using recursion" really doesn't tell you anything.

    Personally, I ask what seems to be a programming question, but really isn't. I ask them how they'd go about writing some algorithm and then start throwing system integration tests that are failing at them, their coworkers not being available to fix something and a deadline they don't think they can meet. The point is to find out how open they are to ask for help, how readily they will report problems meeting schedule and how they choose to interact with uncooperative coworkers. To me THAT's the stuff that is more important than being able to implement a swap sort on a linked list using recursion.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    1. Re:Interview questions? by angel'o'sphere · · Score: 1

      To me THAT's the stuff that is more important than being able to implement a swap sort on a linked list using recursion.
      Reverting a linked list is trivial (regardless of recursion or not - actually I don't know why would anyone use recursion for this).
      But I assume "swap sort" is a term you expect me to know, sorry, I don't know it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Interview questions? by Herr+Joebob · · Score: 1

      But I assume "swap sort" is a term you expect me to know, sorry, I don't know it

      Interview OVER! /funny

    3. Re:Interview questions? by bobbied · · Score: 1

      LOL.. Sorry, I should have said "substitution sort" but I remember it by a different name.... But there IS a really good reason to use recursion when dealing with linked lists... I find recursion easier and shorter than writing the while loop. Anyway, the compiler likely just does it recursively anyway if you write your while loop correctly..

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    4. Re:Interview questions? by Herr+Joebob · · Score: 1

      It's pointless to ask anything other than a basic programming question during an interview.

      Totally agree. For many years my go-to question for C coders was to implement strcpy(). Simple enough to do under pressure but it can lead to some really interesting discussions on style, error handling, exceptional inputs, etc.

    5. Re:Interview questions? by Anonymous Coward · · Score: 1

      Fairly sure you have that backward. Typically compilers take recursive solutions and turn them into iterative. Recursion is often pretty costly in resources (heap, stack, etc...) and compilers try to limit things costly in those ways.

    6. Re:Interview questions? by Dixie_Flatline · · Score: 1

      So I actually studied up before an interview once. I found some good tips-and-tricks style books, and I came across several solutions to the fibonacci sequence problem. The so-called obvious solution is the recursive one, but if you just store a few numbers, the iterative solution is actually better.

      I got asked to solve the fibonacci sequence problem, and the first way I solved it was the iterative way. The next question the interviewer asked was a way to solve the problem *faster*. (I happened to have a way to do that too, though the solution eludes me at the moment.) But it was clear that I had screwed up his plan. He had a sequence of events that he wanted me to jump through, and he seemed sort of put out that I didn't follow his plan exactly.

      Beware of people that want specific solutions to specific problems in a specific order. I had a better solution ready to go. When people reject good answers for the sake of 'right' answers, it's trouble.

      (I just thought about this interview because you mention recursion at the end. I fully agree with everything you said.)

    7. Re:Interview questions? by Ken_g6 · · Score: 1

      The faster way might have been Binet's Formula.

      --
      (T>t && O(n)--) == sqrt(666)
    8. Re:Interview questions? by Anonymous Coward · · Score: 0

      My favorite questions to ask are the open ended ones they aren't expecting. Start off with something like "talk me through an average day at your last job" which straight away gives a picture of how they work. The most revealing is "you have three project deadlines due tomorrow business open. You are going to miss two of them. What do you do?". Behavioral questions tell far more about the person than coding syntax questions do.

    9. Re:Interview questions? by epine · · Score: 1

      The faster way might have been Binet's Formula.

      Before getting to your comment, I wrote three lines of R code, and determined that the pow(-0.618034,n)/sqrt(5) term is below rounding error for all n.

      If you scroll down in the link you gave, above, to the "rounding" section, turns out my "amazing" discovery was previously known :-)

      If some current implementation of AVX-512 has two issue pipelines, you basically need one vector multiply by constant register (rep(phi^k)) and one vector add with constant register (rep(0.5)) to compute eight terms (k=8) double precision.

      A minor amount of cleverness to achieve roughly a 4-way interleave accounts for pipeline latencies (one way to slice the cat, you can think of this as k=32 over four working registers concatenated).

      Close to eight double precision terms per clock cycle, if you really maxed this out. Which is sad, because prior to term 1500, your values are in well in excess of e+307.

      [1471] 1.178511e+307 1.906872e+307 3.085383e+307 4.992255e+307 Inf
      [1476] Inf Inf Inf Inf Inf

      Nice, in one way, because now you don't have to analyze for numeric instability.

      But damn. The fully optimized AVX-512 implementation is a thirty hard minutes of brow sweat to achieve those 200 gloriously productive clock cycles (storing the resultant vector in memory, definitely not printing the values out).

      Assuming AVX-512 at 2 GHz (in practical silicon, this mode is likely to be deturboed), the 30 minute programming time to 100 ns execution time ratio comes in at a hefty 18 billion to one (just using one core).

      You are so FIRED!

    10. Re:Interview questions? by epine · · Score: 1

      For some reason, I dumped a clause in a weird place. It should have read:

      If some current implementation of AVX-512 has two issue pipelines, that works out around eight double precision terms per clock cycle, if you really maxed this out.

      Also, I kind of ignored integer floor thinking there might be a trick as simple as a walking bit mask (perhaps not).

      However, the resultant store should be fully parallel, although we might be exceeding L1 store bandwidth hammering these wide registers out on nearly every cycle).

      Turns out, proper truncation is god awful:

      Harder than it looks: rounding float to nearest integer, part 1 — May 2013

      Also, there's horrific precision loss here on my assumed double precision, and it actually turns out everything much past this row is integer per force:

      [76] 3.416455e+15 5.527940e+15 8.944394e+15 1.447233e+16 2.341673e+16

      Beyond this point you don't even need the add 0.5 part (you might as well add 0).

      Anyways, forget the algorithm, and hire the guy or gal who posts the "actual correct rounding is god awful" link as part of his or her solution.

    11. Re:Interview questions? by angel'o'sphere · · Score: 1

      Anyway, the compiler likely just does it recursively anyway if you write your while loop correctly..
      It is the opposite around. If you write your recursion correctly, the compiler converts it into a loop.
      It is called "Tail recursion optimization".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re: Interview questions? by Anonymous Coward · · Score: 0

      Ok we get it, you rediscovered golden mean formula and arbitrary precision fixed point. You're hired;

  9. Rapid fire by fluffernutter · · Score: 1

    I do a lot of rapid fire, easier questions when I interview. A person who is full of BS will get tripped up because you have to have a working knowledge of the subject to keep talking through rapid fire answers,.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Rapid fire by JaredOfEuropa · · Score: 2

      Exactly. I also prefer (longer) questions that out candidates at ease rather than put them on the spot. For example: “What problem in your career did you most enjoy solving?” Then just take it from there and go in-depth. Interviewees tend to open up when they get a chance to talk about stuff they are proud of or enjoyed doing.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    2. Re:Rapid fire by angel'o'sphere · · Score: 1

      For example: âoeWhat problem in your career did you most enjoy solving?â
      None, the problems I solve are fucks up someone/a team made a decade ago.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Rapid fire by HornWumpus · · Score: 1

      The right answer to that is 'Getting my idiot, incompetent, brown nosing airthief coworker poached by the competition...That wasn't you, was it?'

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  10. nice slashvertizement! by Anonymous Coward · · Score: 0

    Go figure a tech recruiter thinks interview questions are too hard.

    TripleByte's interview questions are language syntax trivia questions, and don't tell me anything about a candidate. And of course their data show hard questions aren't helpful either. They run a website where you do take-home coding questions, and they check for the correct "answer". Too bad the entire point of whiteboard coding questions is to see what their collaboration style is and if they can handle pressure. Neither of which you can get from their question/answer format.

    1. Re:nice slashvertizement! by seebs · · Score: 1

      the quiz is not the interview. the actual interview process is a more involved two-hour live call. source: i do remote interviewing for them as a side thing.

      the actual interview does have live coding -- but note that it's coding using whatever tools the candidate is comfortable with, not a whiteboard. also more involved question/answer things, and more. it gets a lot of additional signal beyond what the initial quiz does.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  11. Why? by Anonymous Coward · · Score: 1, Insightful

    Why do people go to college to study information systems; analysis, design, project management, requirements, QA, etc. only to be stuck in a corner to code bits and pieces of a system they really have no control over?

    What that makes you is pretty much the dude on the auto assembly line screwing on brake drums. You may be very good at it. You can probably put brake drums on any car ever made. You can do it blind folded and you can tell by feel if the drum is unbalanced.

    But you are still just screwing on brake drums.

    But hey, we need brake drums on every car, eh?

    1. Re: Why? by Anonymous Coward · · Score: 0

      Proletarianization.

      Our profession has been destroyed - we are factory laborers now.

      It's time for a union.

    2. Re:Why? by Anonymous Coward · · Score: 0

      I think about that alot. Pay freezes during a recession pushed me out of a job where I really was doing software engineering. Bounced around a few "patch" jobs/contracts. Then into a DBA position where I just had to clean up after Indians all day every day. Finally had enough of being told I didn't know anything and went into a management job where I write policy for a garbage tool I have no control over and therefore no interest in. Every programming job I look at reads like this: "look at this EXCELLENT OPPORTUNITY to constantly patch a garbage Indian system while the Indians go off and fuck up another project because we never ever hire Americans for development!" It's so frustrating...I can't find a job doing what I'm good at because I'm not Indian. So the only time I get to do anything with my degree is personal projects at home and that's just not how it's supposed to be.

    3. Re:Why? by bluelip · · Score: 1

      Nah, disc brakes are available.

      --

      Yep, I never spell check.
      More incorrect spellings can be found he
    4. Re: Why? by Anonymous Coward · · Score: 0

      Hope you're not using anything that unions fought for.

    5. Re:Why? by Darinbob · · Score: 1

      I dunno, I didn't learn most of that stuff in college. I learned computer science and engineering instead :-) Most of that stuff is on-the-job training and experience.

      Plus, you almost never get the good job your first time out. Entry level jobs are grunt jobs, it's the nature of the beast. In some overfunded startup they may make you senior director of designing cool stuff in your very first job, but in general you work your way up over time.

    6. Re: Why? by FuzzyDaddy2 · · Score: 1

      Like weekends off

    7. Re:Why? by Anonymous Coward · · Score: 0

      I think about that alot. Pay freezes during a recession pushed me out of a job where I really was doing software engineering. Bounced around a few "patch" jobs/contracts. Then into a DBA position where I just had to clean up after Indians all day every day. Finally had enough of being told I didn't know anything and went into a management job where I write policy for a garbage tool I have no control over and therefore no interest in. Every programming job I look at reads like this: "look at this EXCELLENT OPPORTUNITY to constantly patch a garbage Indian system while the Indians go off and fuck up another project because we never ever hire Americans for development!" It's so frustrating...I can't find a job doing what I'm good at because I'm not Indian. So the only time I get to do anything with my degree is personal projects at home and that's just not how it's supposed to be.

      I think you are good at blaming others for your own incompetent. The part which stands out who you are is when you went into a management job. Then some other parts, you simply blamed others some more using "Indians" as your excuse. I don't like to work with Indians either, but I wouldn't run away from what I don't like but rather find a way to improve the situation.

    8. Re: Why? by Anonymous Coward · · Score: 0

      Your "profession" has been made more efficient and is paid and treated exactly for what it's worth. You thought being able to code made you special, and we showed you how wrong you were. Serves you right for being uppity. :)

    9. Re: Why? by Anonymous Coward · · Score: 0

      The problem dumbass, is that frequently you aren't ALLOWED to actually fix the actual problem. The ACTUAL problem is generally that whoever makes the real decisions keeps putting the dumb people in charge of developing the new shit, which is then released in a broken state because they have no idea how to make anything actually work.

      Then because you aren't allowed to actually change anything, you apply bandaid after bandaid to it. Even though the real answer is to rip all that shit work out.

    10. Re: Why? by Anonymous Coward · · Score: 0

      You're against unions - so obviously you're okay with wage slavery.

    11. Re: Why? by illiac_1962 · · Score: 1

      That's funny. I get evenings off too.

    12. Re: Why? by Anonymous Coward · · Score: 0

      Then why are so many vehemently anti-union workplaces just chock full of incompetent slackers?

    13. Re: Why? by Anonymous Coward · · Score: 0

      That's right - damned uppity proles! Don't they know the only skill we value here in Soviet America is wise choice of parents?

    14. Re: Why? by Anonymous Coward · · Score: 0

      > You're against unions - so obviously you're okay with wage slavery.

      False dichotomy. There are other alternatives such as cooperatives and employee-owned companies.

    15. Re: Why? by Anonymous Coward · · Score: 0

      Unions didnt get me free lunches or pinball machines. My skill set did.

    16. Re: Why? by Anonymous Coward · · Score: 0

      Seems to mostly be in the USA and emerging nations that this has been the case.

    17. Re: Why? by Anonymous Coward · · Score: 0

      It's almost entirely a US phenomenon. It also has a lot to do with the USA being a wealthy nation with lots of natural resources and 150 years of stable government.

    18. Re: Why? by Anonymous Coward · · Score: 0

      And safety standards, pensions, etc. Although part of the drive was also that in an expanding economy which required people to operate things unions had power because of the threat of withdrawal of labor in a tight market. So it also comes down to having other factors in play that sustain an overall expanding economy over a period of decades. Without coal it probably wouldn't have happened.

    19. Re: Why? by Anonymous Coward · · Score: 0

      In this case, uppity proles with a laughable skillset. If you were that smart, we wouldn't be able to replace you so easily. :)

    20. Re: Why? by Anonymous Coward · · Score: 0

      https://en.m.wikipedia.org/wiki/2018%E2%80%9319_United_States_federal_government_shutdown

      Stable, hey?

    21. Re: Why? by Anonymous Coward · · Score: 0

      > Stable, hey?

      He said the government is stable, not the President.

  12. A Favorite T-Shirt Slogan nails it... by ytene · · Score: 2

    ... "Talk is cheap. Show me the code."

    This might not work for all developers in all situations, but one of the best ways to establish credibility as a developer is to find an Open Source project you like and contribute.

    When it comes to the technical aspects of an interview, any technical interviewer worth their salt should be able to go to Github and verify that you are the person who committed the code you claim to own. Take along hard-copy, annotated if necessary, and be prepared to talk to it, to explain why it is something special, elegant, efficient, and flexible.

    If you can get testimonials from project leads or other contributors, to demonstrate that you're a good team player, so much the better.

    There are several advantages to this approach:-

    1. The body of work that you build up stays yours and can be taken from job to job
    2. You can share this well in advance of an interview, giving your interviewer time to review it and thus lead to a good discussion

    Yes, someone is going to argue that this approach could result in cheating and could allow you to claim ownership of code that isn't yours. This is not a new problem for the interview process to factor - and a good technical interviewer should be able to ask piercing questions able to determine if you really did write what you claim is yours.

    It's a completely [utterly] different example of credibility, but I am for some reason reminded of that scene in the original, Black-and-White movie version of the "Dam Busters" raid from the Second World War. Barnes Wallace, the inventor of the bouncing bomb, needed the use of an RAF aircraft from which to test drop his prototypes. It quickly became apparent that he needed an actual Avro Lancaster bomber, but of course, in the middle of a war, these were in short supply. His response?

    "Do you suppose that if we explained to your man in the Ministry that I designed the Lancaster that he might be willing to lend me one?"

    The whole reason we hold interviews in the recruitment process is to try and establish whether the candidate has the chops to actually do the job. Nothing says that better than hard, real-world evidence.

    1. Re:A Favorite T-Shirt Slogan nails it... by Cryacin · · Score: 1

      There's always at least someone on Slashdot who uses discussions like these to get free programmers. "Work for us, and you'll get a paid job later!"

      --
      Science advances one funeral at a time- Max Planck
    2. Re:A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 4, Interesting

      My biggest problem with your approach is I don't have any code in github. A lot of professional programmers don't. I program 50-60 hours a week for a living, the last thing I want to do when I get home is program. And the company owns all that I code, and they don't put it on github. Any programming I do at home is typically related to learning new languages and libraries, and to put it mildly, none of that is worth publishing anywhere.

    3. Re:A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 0

      You'll be missing out on lots of great developers who have lives outside of their job and get an abundance of weirdos who willingly code for 10+ hours a day and on the weekend.

    4. Re:A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 0

      My problem isn't that I don't have stuff on GitHub or my own damn website with 1000's of lines of code to show off ... it's that out of the 100's of interviews I've done in my lifetime for C/C++ software engineering, I've had about 4 people actually LOOK at my code, let alone acknowledge that I did anything .....

    5. Re:A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 0

      It doesn't work for you, so of course it's no good. Since you don't have any open source to look at, then you get to answer the questions at the interview.

      The open source thing works best for people just out of college or who are totally immersed in that world.

      The downside is of course your code had better be decent and you shouldn't call yourself a "core django programmer" when you've contributed maybe 1/4 of a line and a couple of tests. Then you don't even get an interview.

    6. Re:A Favorite T-Shirt Slogan nails it... by tepples · · Score: 1

      any technical interviewer worth their salt should be able to go to Github and verify that you are the person who committed the code you claim to own.

      Is it a black mark if your public repositories are on GitLab instead of GitHub?

    7. Re:A Favorite T-Shirt Slogan nails it... by zvar · · Score: 1

      Exactly this.
      Goes back to the saying "The plumber has the worst pipes in the neighborhood."
      Or "The mechanic has the worst running car on the block."

      After working however many hours all week doing something, most people don't want to do the same thing in their spare time.

    8. Re:A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 0

      Yeah, several problems with this - mostly around the massive bias towards people who don't have kids, and bias towards people who have enough free time or luxury to get involved in such stuff. Pretty much puts the cap on most folks over 30.

      What you're actually doing here is narrowing your pool to those candidates who are particularly easy to evaluate. Not sure you've solved anything.

    9. Re: A Favorite T-Shirt Slogan nails it... by Anonymous Coward · · Score: 0

      As someone who has done stuff like that all my life, I've found in about 99.9% of hiring processes we almost never discuss my prior projects let alone look at any code or talk about it to any debt.

      For example, at the moment I'm on the market and I've had god only knows how many interviews and we've looked at my previous projects exactly this many times. Twice.

      I've promoted my projects in nearly every interview, because as I told them, these projects can answer any and all questions they have about me. You can look at the code, the comments, etc and see everything you probably want to know.

      Most interviewers I've met (not just lately but throughout my career) have zero interest in actual evidence. They want to go off their 'gut feeling' on how you respond to questions. The next mechanic they use is their own preconceived biases. For example, have you gone to MIT, yes or no? If yes, and they don't like MIT, then they throw you out the door or vice versa.

      From my experience, modern hiring practices basically assume everyone is a dumb grunt unless you match EXACTLY whatever they have spelled out in their heads. All evidence to the contrary be damned.

      As for you, the interviewer, if this crazy process destroys your self esteem, wrecks your finances, and destroys your life. Well... Fuck you. You deserve it for having to go through with the process, even if you did nothing wrong.

    10. Re:A Favorite T-Shirt Slogan nails it... by packrat0x · · Score: 1

      I'll admit it:
      My plate screws at home are not lined up vertically.

      --
      227-3517
  13. Don't take them. by Anonymous Coward · · Score: 0

    I've gotten to the point I just don't do this nonsense. There's plenty of jobs out there. If they want to give you some silly, test, just walk out. If enough people do this, these stupid questions will go the way of the dodo.

    1. Re: Don't take them. by jlowery · · Score: 1

      I have worked for decades, for companies tiny and huge. I have a github account. I write articles about cutting edge techs. You give me some abstract problem to solve that has no bearing on what I do every day. You don't need me, I don't need you.

      --
      If you post it, they will read.
  14. An obvious parallel by chrism238 · · Score: 2

    A similar situation is seen in final college exams, where students are asked to answer/solve a difficult programming question against the clock. A too frequent outcome is that few students fully answer the question, while many very poor answers have to be opaquely scaled to meet an external requirement. Not the best mechanism to separate the sheep from the goats.

  15. Stop interviewing, start bidding contracts by xtal · · Score: 2, Insightful

    I was a lot happier when I bid contracts for work and stopped interviewing for jobs.

    Being an employee sucks. The tax system is set up to screw over the working schlob. If you're smart enough to program well, you're smart enough to hack the tax system too. Programming is the only profession that has anything like trivial tests in interviews. The flip side of this is without professional credentials, that's where things go.

    Otherwise.. stand up and do tricks.

    Unionize already. Doctors are unionized. Lawyers are unionized. They call it something else, but that's what it is..

    --
    ..don't panic
    1. Re:Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      Guilds are not unions. You can work in a field where others are unionized and you are not. You can't work in a field that's guilded and you aren't a member. If you thought programming quality was questionable now, imagine what it would be if everyone were in a guild or union? Things would just grind to a halt.

    2. Re: Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      Thatâ(TM)s propaganda from people who donâ(TM)t want unions.

    3. Re:Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      Programmers would do a lot better to have a licensing association, similar to lawyers with the Bar Association. Let programmers manage who is a licensed C++ guru and who is a newby.

    4. Re:Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      There is no doctors union. I'm a doctor.

    5. Re:Stop interviewing, start bidding contracts by Darinbob · · Score: 1

      This slightly annoyed me that many contractors are never interviewed. You don't know that they're any good, you just know that their a friend of the boss. It's only later that you find out your job ends up being to sweep up after the contractor and fix the code.

    6. Re: Stop interviewing, start bidding contracts by xtal · · Score: 1

      You manage standards and restrict entry. Youâ(TM)re a union. Same as Lawyers, and Professional Engineers. Or plumbers for that matter.

      Coders get fucked over; I see it every day.

      --
      ..don't panic
    7. Re: Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      Fuck you, Mr part of the problem

    8. Re:Stop interviewing, start bidding contracts by Anonymous Coward · · Score: 0

      "Programming is the only profession that has anything like trivial tests in interviews."

      The corollary to other types of professional or knowledge jobs is the dreaded request to write up a report to explain how you would approach/solve a business problem, on your own time, with no compensation, and where you will never hear from the hiring people again. Because you just gave them, for free, answers they needed.

      Now, the job hunting people tell you to instead give an outline, and resist in that fashion. Or tell them that your rate is $xxx per hour and you would be happy to give it an hour and bill them. One way to weed bad bosses and horrid employers, but wastes lots of time.

    9. Re:Stop interviewing, start bidding contracts by TeknoHog · · Score: 1

      Chemists are unionized. They pronounce it differently, but that's what it is.

      --
      Escher was the first MC and Giger invented the HR department.
  16. Subjective. by jythie · · Score: 4, Interesting

    I think a big problem with these questions is not if they are truly hard or difficult, but the meta thinking involved. Many of them really come down to 'which trick did the person who designed this test have in mind?' or even worse 'which niche within the language is the person who wrote this obsessed about?'.

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

      This. A thousand times this.

    2. Re:Subjective. by angel'o'sphere · · Score: 1

      'which trick did the person who designed this test have in mind?' or even worse 'which niche within the language is the person who wrote this obsessed about?'.
      Exactly.

      But then again I had a phone interview, and as the real software was in C/C++ and the CI environment was in Java, they asked me: what are the byte sizes of char, short, int, long in C and in Java.

      So I answered. Got the job. And later I asked one present in the interview: what was that lame question about word sizes of primitive types? He answered: "A kind of joke if we don't know what to ask, but you where the only one from about 20 candidates who answered it correctly"

      Obviously neither the question nor my answer had anything to do with my job.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Subjective. by Solandri · · Score: 1

      Yeah, it's the "trick" questions which are inappropriate because they require a moment of inspiration. Questions like, "why does a mirror reverse left and right, but not up and down?" Although a brilliant applicant will take less time on average to figure it out, the random variance in time to solve is so large that the info you glean from a sample of one is virtually nil.

      I got a question about function pointers in one of my interviews, which I considered a legit question since I was a non-programmer applying for a programming job. The guy wanted to see how extensive my programming knowledge was, so asked a question which required knowledge of a rather obscure programming topic to solve. I'd never read up on them, much less used them. But I knew they existed and that they were called function pointers. That seemed to satisfy the guy (probably figured I could look it up if I knew what they were called).

      Testing what the candidate knows is fine. Testing if the candidate has claimed competency is fine. Testing with questions which require you to figure out a trick to answer correctly is stupid. As for the mirror question...













      A mirror doesn't reverse left and right. It reverses front and back. When you wave your right hand in a mirror, the hand on the right side of the mirror image waves back. You only perceive it as the mirror image's left hand because front and back are reversed.

  17. Reminds me of the phone book joke by gotan · · Score: 2

    A lecturer asks students to learn the phone book by heart.
    The physics students ask: "Why?"
    The medicine students ask: "Until when?"

    There's a longer version, but you get the point. Apparently some of these "hard interviews" are just testing how fast you can cram irrelevant knowledge into your head every sane person would look up when they need it. That someone knows how to write down a quick sort algorithm in c with every semicolon in the right place doesn't mean they know when best to use it.

    And now for something completely different:
    https://www.youtube.com/watch?...

    --
    "By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
    1. Re:Reminds me of the phone book joke by Anonymous Coward · · Score: 0

      Now THAT's the way I see it. There's NO way I am going to keep thousands of little tidbits of knowledge in my head. I type the thing into Google and BINGO there it is. I write programs like people make clay models. I start with an amorphous blob of clay and know I have to shape it into - a horse (say). With a program I start with the image of a horse and write prototypes - at first very crude and then refine them until I have Seabiscuit. At many points in this process I will find I need a particular type function and will not know the EXACT syntax in whatever language I am working in. That's where Google comes into play - a few minutes with google and I got the syntax and put it in the mix. There'll be little gotchas but I work through them. The result is something beautiful and getting there is a helluva lot of fun! You other people oughta try it some time.

  18. Er isn't stress testing part of the test?? by foxalopex · · Score: 1

    I would have thought that most employers might be interested in your ability to perform under stress as well or at least your ability to handle it? If you can't program at all when under stress, that's not going make you a very effective programmer in the real world.

    1. Re:Er isn't stress testing part of the test?? by angel'o'sphere · · Score: 1, Interesting

      If you can't program at all when under stress, that's not going make you a very effective programmer in the real world.
      In the real world programmers don't have stress.
      Most of us don't live in the United Retarded States of America.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Er isn't stress testing part of the test?? by Shotgun · · Score: 2

      WTF?! In the real world, when are you going to need to write a program to escape a burning building? If the place is such a dumpster fire that they are trying to push out critical, last minute fixes with the customer standing in the waiting room, then good God, get me away from there!!

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    3. Re: Er isn't stress testing part of the test?? by Anonymous Coward · · Score: 0

      Hmm. I've been in places where I programmed under a lot of stress. I was successful at it but do you know what I learned? That I was working for incompetent managers.

      Here's a question you should ask your next potential boss: can you explain the relationship between time, resources, and scope and what do you do when one or more of those needs to change after the project starts?

    4. Re:Er isn't stress testing part of the test?? by Anonymous Coward · · Score: 0

      Right. We don't program under stress here in Europe. We sometimes have to debug under stress though - when customers have discovered a bug and it is bad and had better be fixed today.

      So for realism, the interview problem should be a prewritten program with a subtle bug that needs fixing.

    5. Re:Er isn't stress testing part of the test?? by doktor-hladnjak · · Score: 1

      Because who hasn't been in a stressful interview? Interviews are already stressful enough for most people without interviewers pushing potential hires to the brink.

    6. Re:Er isn't stress testing part of the test?? by Major+Blud · · Score: 1

      In the real world programmers don't have stress. Most of us don't live in the United Retarded States of America.

      I can assure you that bad code written under stress isn't a problem unique to the USA. I saw plenty of bad code the last time I was in Europe. Maybe the organization you work for doesn't put undue pressure on you, and that's great.....but there are places in the USA that are like that as well.

      --
      If you post as Anonymous Coward, don't expect a reply.
    7. Re:Er isn't stress testing part of the test?? by angel'o'sphere · · Score: 1

      I only was sarcastic ... however bad code can simply be the result of incompetence and not only stress.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  19. P=NP? by Anonymous Coward · · Score: 1

    Please prove P=NP.

    1. Re:P=NP? by Anonymous Coward · · Score: 0

      Show all work.

    2. Re:P=NP? by Megane · · Score: 1

      That question very much indicates how good of a candidate you've got. The faster and louder they laugh, the better they are.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    3. Re:P=NP? by Anonymous Coward · · Score: 0

      Let N=1
      P,
      1P = NP
      P = NP
      QED

      capcha: fulfills

    4. Re:P=NP? by Anonymous Coward · · Score: 0

      The recruiter won't laugh. They literally googled "hardest programming problems" and then sent out 1000 spam letters offering "up to" 400k in compensation figuring he could fill an insane $$$ contract by quickly eliminating the majority of respondents that way.

    5. Re:P=NP? by Actually,+I+do+RTFA · · Score: 1

      I have a proof, but it's too long to fit int he margin of this post.

      --
      Your ad here. Ask me how!
  20. I've conducted many interviews by nightfire-unique · · Score: 4, Interesting

    I've conducted dozens of interviews over the past 10 years, and the best predictor I've found is simply to talk to candidates.

    I typically ask questions like:

    What's your favorite *nix OS / distribution, and why?
    What was your worst day, and how did you recover?
    What was your greatest success?
    What's your methodology when you're asked to start a new project from scratch?

    Key is to go into detail on each of the points, and listen for confidence, honesty, bullshit, and specific words. Test individual responses. Get down to syntax, command arguments, file locations, protocols... but try to keep focus on what they've done.

    So far out of the 8 people I've hired/recommended, only one didn't work out.

    --
    A government is a body of people notably ungoverned - AC
    1. Re:I've conducted many interviews by PhrostyMcByte · · Score: 4, Insightful

      Indeed. I find that within a few minutes of talking to a candidate, I usually have them nailed down pretty well.

      A good developer simply talks differently than a bad one. They talk about what matters rather than whatever rote thing they learned in school, they are excited to talk about cool projects they did, enjoy getting into the mud answering deeper questions, have opinions about things they've been using for a long time, and don't bullshit claiming they know things they don't.

      The ones I do give a longer coding exercise to are juniors -- these guys don't usually know how to chat just yet, and don't have any interesting projects under their belt. Enthusiasm can only go so far, so I like to send them home with something to spend an hour on, letting them send it back the next morning.

    2. Re:I've conducted many interviews by swillden · · Score: 1

      So far out of the 8 people I've hired/recommended, only one didn't work out.

      I think that's an unacceptably high false positive rate, though it correlates pretty well with what I saw when I used your approach.

      The problem with the approach is that there is a non-trivial percentage of people who can talk the talk, but can't actually do the job. They're good at understanding the successes of their peers in enough depth to be able to successfully claim them as their own, and even fool a competent interviewer in spite of not being able to do the work themselves.

      Coding interviews are more difficult for everyone involved, but they're much better predictors of success because they require the candidates to actually do something. They're not perfect, of course, because they favor people who can think and solve problems on their feet, which isn't necessarily a required ability in many companies. And they require that the problems to be solved be selected very carefully -- they have to be problems which any competent programmer can solve, that don't require the candidate to have any particular knowledge (unless you have reason to test for that knowledge, in which case I think you're doing it wrong), that don't require the candidate to have any particular brilliant flashes of insight and are something the candidate will not have seen before.

      I've tried both your way and the coding interview style, and I get much more information and much better results from the coding interview process. My experience: I did probably a hundred interviews by "just talking" at previous employers, and have done 58 coding interviews since joining my current employer, who trained me on how to do them. (There's an internal web site that provides stats; I haven't tracked it myself.) As for the overall success rate of my employer's process... In my eight years I've worked with probably three hundred other engineers and have encountered exactly one who I thought should not have been hired.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      I was coming here to type this very thing.

      Key is to go into detail on each of the points, and listen for confidence, honesty, bullshit, and specific words. Test individual responses. Get down to syntax, command arguments, file locations, protocols... but try to keep focus on what they've done.

      You, Mr. nightfire-unique, are actually earning your paycheck. This is what they pay us, as managers, to do. You solve for soft skills while simultaneously setting a baseline for aptitude.

      After setting a baseline of aptitude for 'The Problems We're Currently Solving' I check for further enthusiasm for CS concepts. I want the 'enthusiastic scientist' archetype. Extraversion and experience can vary greatly after I've established this.

    4. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      A good developer simply talks differently than a bad one.

      Exactly!

      --
      A government is a body of people notably ungoverned - AC
    5. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      I think that's an unacceptably high false positive rate

      I've tried the grilling method too.. but in my case it really fared no better. And, frankly, if you can do better, you're in the wrong business. :p You should be recruiting!

      --
      A government is a body of people notably ungoverned - AC
    6. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      This is what they pay us, as managers, to do.

      Hah! I'm actually just a lowly ops engineer who kinda fell into the role of hiring. I don't have the.. fortitude.. to actually manage people. :p

      --
      A government is a body of people notably ungoverned - AC
    7. Re:I've conducted many interviews by rolosworld · · Score: 1

      > I've conducted dozens of interviews over the past 10 years... So far out of the 8 people I've hired/recommended.

      So, in 10 years you recommended 8 :-|

    8. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      You're actually halfway there. Discernment of motives and aptitude from a mix of conversation and observation- you're assigning people to the right spots from the results you posited. That's half the battle in management. Shit, if you just did that, you'd be ahead of most folks.

      The rest is formulating and communicating a clear direction (both upwards and downwards) and discipline to be the first guy there, last guy to leave, etc.

      Throw in some servant leadership (removing obstacles for your charges) and congratulations. You're now leading a team.

    9. Re:I've conducted many interviews by Oligonicella · · Score: 1

      How is 7 out of 8 hires/recommendations that *worked out* an "unacceptably high false positive"?

    10. Re:I've conducted many interviews by serviscope_minor · · Score: 1

      Depending on the level you're hiring at, 5 to 10 to 1 on site you hire ratio is ok. It gets closer to 1 as candidates get more senior.

      --
      SJW n. One who posts facts.
    11. Re:I've conducted many interviews by Shotgun · · Score: 3, Insightful

      The problem with the approach is that there is a non-trivial percentage of people who can talk the talk, but can't actually do the job. They're good at understanding the successes of their peers in enough depth to be able to successfully claim them as their own, and even fool a competent interviewer in spite of not being able to do the work themselves.

      No. The problem with this approach is that it requires an interviewer that has been in the trenches long enough to have worked with enough of the moochers. Once you've worked with a few, they're easy enough to spot. Unfortunately, competence in interviewers closely tracks competence in the general population.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    12. Re:I've conducted many interviews by rolosworld · · Score: 1

      Interesting and kind of sad.

    13. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      Replacing workers is expensive. The goal is to get good workers, not any workers who "work out". Survivorship bias ensures a high false positive rate.

    14. Re:I've conducted many interviews by Solandri · · Score: 4, Insightful

      So far out of the 8 people I've hired/recommended, only one didn't work out.

      This is another problem with the modern interview process - you only get to see half the results. Your success rate among hires is 87.5%. But you have nothing to compare that against because you don't know what the success rate would've been for the people you didn't hire. Who knows, maybe 90% of the people your interview process filtered out would've made good employees too, and your interview process is actually picking worse candidates than random chance?

      The only method I've been able to think of to test this is for management to hire "perfect applicants" to apply for job listings at their company. People with a made-up history, skill set, and knowledge which makes them perfect for a job. See how far they get through the HR filtering and interview process. If HR or an interviewer rejects them, then that indicates a problem with HR or the interviewer.

    15. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      So far out of the 8 people I've hired/recommended, only one didn't work out.

      Is that good?

      Im ignorant on the subject, but a 13% failure rate doesn't seem too hot.

    16. Re:I've conducted many interviews by serviscope_minor · · Score: 1

      For people with little track record, there's not much to go on in a CV. You have to rely more on in person interviewa. Of course those are not great either, so you have to err in the side of caution.

      --
      SJW n. One who posts facts.
    17. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      I'm almost always on interviews for junior staff and/or new recruits right out of college, so can't really focus too much on experience or skills. I don't really care about experience and skills anyway. Those happen. I tend to talk to them about things we're working on and have worked on, and our customers, and see how they respond and react. Looking for two things: 1) bullshitting, and 2) fear. I won't recommend anyone who shows either.

    18. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      Problem is .. I have a bit of a guilt complex. I don't like assigning work to others, particularly if it's just shit work.

      The few times I've tried to lead a team, I just ended up doing most of project myself because I felt like it would take longer to explain and assign than to just do it myself.

      --
      A government is a body of people notably ungoverned - AC
    19. Re:I've conducted many interviews by Stinky+Cheese+Man · · Score: 1

      > What's your favorite *nix OS / distribution, and why?

      What? I'm a professional, not a hobbyist. My "favorite" is whatever I'm being paid to work on. If I'm working for a Fortune 500 company whose mission-critical app is running on a network of 15-year-old RHEL 3 boxes with ancient utilities (actual job situation), then that is what I work with to best of my ability. I don't spend my time whining to management about how they should be using Mint or Ubuntu instead.

    20. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      Interviewing candidates is just something I have to do on my team from time to time. I'm an ops/dev engineer first and foremost. :)

      --
      A government is a body of people notably ungoverned - AC
    21. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      No idea, tbh, haha.

      We're pretty critical on our team, and if someone's not contributing sufficiently (or worse, is a burden), then they don't last long.

      The one that didn't work out actually left on his own accord, as they just weren't able to keep up in the role, and knew it. They found a better fit elsewhere.

      The rest are/were excellent and a couple were superstars.

      --
      A government is a body of people notably ungoverned - AC
    22. Re:I've conducted many interviews by nightfire-unique · · Score: 1

      Looking for two things: 1) bullshitting, and 2) fear

      Totally. Another one is "bad" laziness, heh. Not the kind that causes one to automate shit, but the kind that causes one to take lazy shortcuts that make life more difficult for the next person.

      --
      A government is a body of people notably ungoverned - AC
    23. Re:I've conducted many interviews by swillden · · Score: 1

      The problem with the approach is that there is a non-trivial percentage of people who can talk the talk, but can't actually do the job. They're good at understanding the successes of their peers in enough depth to be able to successfully claim them as their own, and even fool a competent interviewer in spite of not being able to do the work themselves.

      No. The problem with this approach is that it requires an interviewer that has been in the trenches long enough to have worked with enough of the moochers. Once you've worked with a few, they're easy enough to spot. Unfortunately, competence in interviewers closely tracks competence in the general population.

      I've been working in the trenches -- and doing interviews -- for 30 years, and I've worked with plenty of moochers. Maybe you really can spot them without really testing them... but I doubt it.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    24. Re:I've conducted many interviews by swillden · · Score: 1

      How is 7 out of 8 hires/recommendations that *worked out* an "unacceptably high false positive"?

      The one that didn't work out is a false positive. One out of eight is too many.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    25. Re:I've conducted many interviews by swillden · · Score: 1

      I think that's an unacceptably high false positive rate

      I've tried the grilling method too.. but in my case it really fared no better. And, frankly, if you can do better, you're in the wrong business. :p You should be recruiting!

      The point isn't to grill them, it's to make them actually do something, and watch how they do it.

      And, no, I wouldn't want to work as a recruiter. <shudder/>

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    26. Re:I've conducted many interviews by NormalVisual · · Score: 1

      The problem with this approach is that it requires an interviewer that has been in the trenches long enough to have worked with enough of the moochers.

      This helps a great deal. At one place I used to work, about 3-4 of us would be tapped to talk to a candidate based on what our interview style was like so that the applicant would be evaluated under different criteria. I'd had a lot of experience with a lot of different systems/environments, so I focused more on verifying the experience on their resume, and it was usually pretty easy to suss out the posers. My favorite was this one lady that claimed years of experience dating back to the mid-80s. She'd gotten through a couple of our interviewers, but I was getting the sense that she didn't quite have the experience she claimed. So, since she'd mentioned it on her resume, I asked her about some of the C-64 (!) work she'd done. Her answer was that she loved doing C-64 development, and got a real sense of nostalgia every time she saw that "C prompt". Um, no - apparently she was banking on the fact that there aren't very many of us ancient 8-bit coders around. A couple more questions verified to me that her C-64 experience was non-existent (you REALLY don't know what a SID chip is?), and if you're going to misrepresent something like that, I can't trust anything else you've said.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    27. Re:I've conducted many interviews by Tony+Isaac · · Score: 1

      I've gone both ways on this. At first, I relied too heavily on testing. I soon realized that some people could ace a test but couldn't code.

      Then I relied too heavily on talk, like your questions above. I soon learned that some people could talk a good game, but couldn't deliver code.

      Now, I use a combination. I give a short, simple programming assignment, that I ask the candidate to complete within a couple of days, at home. Then I bring them in to talk about how they went about it, why they chose the methods they chose.

      The way a person writes code does tell me a lot about them.
      - How many lines of code? More is worse, few is better.
      - How neat and clean is the code?
      - How readable is the code?
      - How is the code structured?

      These are not always things that can be discovered by "just talking."

    28. Re: I've conducted many interviews by Anonymous Coward · · Score: 0

      Second this. Also technical talent matters but so does personality, ~"do you want to spend your days working with this person". It's more important to eliminate the bottom third on both than find some difficult genius (unless you actually need one)

    29. Re: I've conducted many interviews by Anonymous Coward · · Score: 0

      Says the guy who now works for Google. Where the quality of their software has been steadily, obviously declining for several years now.

      Coincidence?

    30. Re: I've conducted many interviews by Anonymous Coward · · Score: 0

      What job are you interviewing for?
      What question/s are you asking (and why)?
      What is a good answer/s for it?
      Post those (and job hours, salary, location) and you'll get feedback on why you are doing it wrong.

    31. Re:I've conducted many interviews by Anonymous Coward · · Score: 0

      I think it means the 1 recommendation out of 8 was a positive, but should not have been positive. Hence 12% false positive.

      The expectation preesented at the end is that there should be only 1 in 300, more like 0.3% false positive rate.

    32. Re: I've conducted many interviews by Anonymous Coward · · Score: 0

      Can you post here how YOU would answer each of your own questions?

  21. Programming test during the interview? by Anonymous Coward · · Score: 3, Interesting

    That just doesn't sound like it's going to bring out the best in candidates.

    The best approach that I've found to making programming questions part of the selection process was having qualified applicants do the test prior to the first interview. We selected a few standard programming algorithms (Quicksort, Dijkstra's Algorithm and Hash table create) that we either gave the candidate broken code or the prototype which needed the code. The candidates were given one week to submit the tests at which point they would be reviewed and we'd decide whether or not to grant the candidate an interview. The review was based on operational correctness (did the code produce what we expected from given inputs) and performance (generally speed).

    HR (this was at RIM, about ten years ago when they would hire anybody with a CS degree and was apparently breathing), raised holy hell as it eliminated at least three quarters of the applicants without us even talking to them. Well over two thirds of the candidates never submitted the tests with most of them saying "I graduated from ... and where do you come off seeing if I can program?" and others saying, "I'm too busy in my current job to do this." with HR supporting those arguments. About 10% came back and asked if we had any other tests - these 10% always did the test we gave them successfully (and sometimes brilliantly) and these were generally hired and we never had performance issues with them.

    The big problem we had was explaining to HR (sorry "Organizational Development", RIM speak) that just because you graduated with a CS degree, that did not mean you could program and that we wanted people who wanted to be challenged. When it came right down to it, they were getting hammered by their management because we were only interviewing 10-20% of their "qualified candidates" and felt that our approach made them look bad as other divisions within RIM wanted to follow our approach.

    My response was "tough shit" and lead to some interesting meetings with senior VPs at RIM.

    1. Re:Programming Test During the Interview? by Anonymous Coward · · Score: 0

      These perennial questions always seem to invite people to brag.

    2. Re:Programming Test During the Interview? by GhostBond · · Score: 1

      Most of our jobs nowadays is to just google stuff and put it in, I suppose that could work by testing their ability to google the algorithm.

    3. Re:Programming Test During the Interview? by mykepredko · · Score: 1

      I should have put that we have Googled the algorithm before we sent out the tests.

      There was a surprisingly low number of people who Googled and tried to copy the answer from somebody else. Again, we were looking for the people who were excited by the challenge.

    4. Re:Programming Test During the Interview? by Shotgun · · Score: 1

      If I find a developer that doesn't Google the answer, I say they aren't worth hiring.

      Nobody is as smart as all of us. Ten minutes after being hired, you will be moved off onto another project where last weeks specific knowledge will be nearly useless in anything but the abstract/general approach. And this in a profession where the details are everything. Even after having programmed a solution that will pass the integration tests, I will still go back and google for solutions to parts of the code that I think might be more compact. If someone thinks they are smart enough to know everything about everything, they are too smart to work with me by half.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    5. Re:Programming Test During the Interview? by mykepredko · · Score: 1

      I guess I should have been more explicit - if the candidate regurgitated what somebody else had put up on Google, we wouldn't have hired them.

      They should be able to understand, explain in their own words and recreate on their own what they learned from Google.

    6. Re:Programming test during the interview? by serviscope_minor · · Score: 4, Insightful

      I'm not surprised HR raised holy hell over that they were 100% right to do so. Only people in fairly narrow niches have time to do take finye coding tests. It skews heavily towards the young and especially those without dependents. Older candidates tend to have more in their lives outside work which preclude doing such tests.

      And older, more experienced candidates know you don't do work for free.

      They don't know you or your company. You're spending zero effort to ask them for a lot. They have no indication you'll put anything like a commensurate amount of effort into evaluating their work. We've all seen jobs where the winner was selected even before the advertisement. Who on earth but the naive or desperate wants to risk their work on that.

      There's no guarantee that you'll get a fair shake if you have an on site, but you know that the company is spending about as much time as you are, so there's a good chance they're not simply wasting it.

      --
      SJW n. One who posts facts.
    7. Re:Programming Test During the Interview? by GhostBond · · Score: 1

      I should have put that we have Googled the algorithm before we sent out the tests.

      There was a surprisingly low number of people who Googled and tried to copy the answer from somebody else. Again, we were looking for the people who were excited by the challenge.

      Like I said it might work...a lot of what we do nowadays is simply googling information then integrating it into the app. It's not as straightforward as simply copying, you need better skills and understanding of what's going on to be able to integrate.

      But the reason why you see so many skilled liars in programming nowadays is because candidates need to get past people doing stuff like you're describing - the best way to get the job is to look up other peoples answers, understand them, rewrite it look like it's someone else's. But for some reason you need to be told that they spent hours solving it on their own rather than taking 15 minutes to look up someone else's answer then modifying it enough to not look exactly the same?

      Come on...

    8. Re:Programming Test During the Interview? by Darinbob · · Score: 1

      Don't candidates just copy and paste from the web, or go to stackoverflow? You need to toss in something unusual in the question, such as "the hash table has proven to have bad performance in the field because everything is clustering to only 3 slots, please say why this happens and show how you can fix it."

    9. Re:Programming Test During the Interview? by mykepredko · · Score: 1

      That's basically what we did - with the difference being is that we wanted to see the code to fix the problem which we then executed in a test harness to make sure it worked along with how quickly. We found that better programmers wrote faster (more efficient) code.

    10. Re: Programming test during the interview? by Anonymous Coward · · Score: 0

      But RIM failed as a company, dumbass. Your stupid hiring test that repelled smart grads from good schools definitely played a role in RIM's downfall.

  22. Realistic stress part of job/Not arbitrary stress by Anonymous Coward · · Score: 0

    A realistic test would be changing/updating/fixing something that you are familiar with, not being given something you haven't seen before.

  23. Programming Test During the Interview? by mykepredko · · Score: 4, Interesting

    That just doesn't sound like it's going to bring out the best in candidates.

    The best approach that I've found to making programming questions part of the selection process was having qualified applicants do the test prior to the first interview. We selected a few standard programming algorithms (Quicksort, Dijkstra's Algorithm and Hash table create) that we either gave the candidate broken code or the prototype which needed the code. The candidates were given one week to submit the tests at which point they would be reviewed and we'd decide whether or not to grant the candidate an interview. The review was based on operational correctness (did the code produce what we expected from given inputs) and performance (generally speed).

    HR (this was at RIM, about ten years ago when they would hire anybody with a CS degree and was apparently breathing), raised holy hell as it eliminated at least three quarters of the applicants without us even talking to them. Well over two thirds of the candidates never submitted the tests with most of them saying "I graduated from ... and where do you come off seeing if I can program?" and others saying, "I'm too busy in my current job to do this." with HR supporting those arguments. About 10% came back and asked if we had any other tests - these 10% always did the test we gave them successfully (and sometimes brilliantly) and these were generally hired and we never had performance issues with them.

    The big problem we had was explaining to HR (sorry "Organizational Development", RIM speak) that just because you graduated with a CS degree, that did not mean you could program and that we wanted people who wanted to be challenged. When it came right down to it, they were getting hammered by their management because we were only interviewing 10-20% of their "qualified candidates" and felt that our approach made them look bad as other divisions within RIM wanted to follow our approach.

    My response was "tough shit" and lead to some interesting meetings with senior VPs at RIM.

    I just rebooted and forgot to login to /. so this is repeated AC post.

  24. Here in the Valley.... by BrendaEM · · Score: 1

    I've talked with several programmers here in Silicon Valley, who seem to state that HR and management wants you to code a whole project for nothing.

    ...and how would you code this?
    ...and then what should we--I mean--what would you do?

    --
    https://www.youtube.com/c/BrendaEM
    1. Re:Here in the Valley.... by Darinbob · · Score: 1

      You don't do the whole project in the interview. The questions are to see if you can think about something you're unfamiliar with and work your way through it logically. One coworker used to ask "here are the components to a microwave oven, show in pseudo code how you would design the program for it"; then it shows if the interviewee can decompose the problem into parts and lets you see how they go about figuring it out. The goal was not to even have working code or catch every corner case possible, and the pseudo code part means they don't even have to know programming language details.

      Trying to get project details out of a job candidate is a funny Dilbert joke, but it doesn't happen in real life. Building the project is what unpaid internships are for.

    2. Re: Here in the Valley.... by Anonymous Coward · · Score: 0

      Unpaid internships are generally illegal. Sorry your attempt at belittling other peoples humor fell flat.

  25. and too narrow by Anonymous Coward · · Score: 0

    I've seen it far too many times. "Engineers" calling themselves "full-stack" but they suck complete ass when it comes to writing production code. These are engineers are ex-Amazon, ex-Google, and one guy who went on to Facebook. I have ZERO trust in most engineer's ability to code.

    1. Re:and too narrow by Anonymous Coward · · Score: 0

      Lol, I just hate all these programmers calling themselves "engineers" when they aren't - a CS degree is not a software engineering degree.

      I'm even hesitant to call a software engineer an engineer. We traditionally use the word engineer for people who design and/or make physical objects, and only in the last few decades have programmers decided to upgrade their status by calling themselves engineers.

  26. Mixed bag, wait until later by Shaitan · · Score: 1

    In the interview process just determine if someone can talk to talk. Save the proof for the first 30-90 days so people can work under normal circumstances. Some people suck at interviews anyway. For myself, I always bomb the easy questions because they are usually nonsense the compiler will catch, minor syntax, minor implementation semantics.

    Unless you are hiring entry level these things are all minor noise and what separates talent from drones is higher level thinking. You are going to end up with someone who fits the old stereotype of an Indian firm that can only implement what you tell them verbatim but not think independently otherwise. At that point you might as well be outsourcing.

    1. Re:Mixed bag, wait until later by Darinbob · · Score: 1

      I wish there was a way to just have someone work for a 30 day trial period. That's long enough to realize you've screwed up the hiring and the person will never be a good match. Sometimes you learn this in the first week, sadly enough. It's not practical I know. But on the other hand it does work for when you know you want to get that good intern after he or she graduates but not the other three who turned out to be clueless.

    2. Re: Mixed bag, wait until later by Anonymous Coward · · Score: 0

      You can. Just offer a temp to perm contract, and pay enough to make it worth them burning four weeks accrued vacation for it.

    3. Re:Mixed bag, wait until later by Shaitan · · Score: 1

      30-90 day probation is pretty much standard when you hire a full time employee. Also you can do contract-to-hire to work around bureaucracy if needed.

      Start looking for people who average 3yrs in position and have a diverse background. Ignore degrees, certs, and other credentials except for a slight bump in salary. Try to avoid technical/engineering talent who've sat in one seat for more than 10 years unless they had the diverse background before that and be aware you are going to have to kickstart their motor after having been in a rut for a few minutes.

      The diverse and experienced background is the key. Avoid "specialists." The jack of all trades master of none phrase needs to die a painful death in technology. These are the people who learn and adapt, you get so many different perspectives for the price of one it is unbelievable. You can provide the information that fills in gaps and depth, unlike most who will regurgitate it back to you they'll actually value the new information and play with it.

      Always remember that despite reports to the contrary, experience that has sit on a shelf for six months is valuable. Yes, they may not look much different right away and bomb an interview but its still all in their brain somewhere and memory is associative. As the information is revealed it will start triggering more and more memory and their old experienced proficiency will come back. It's like re-reading a book you've already read. Sometimes just the summary triggers recall, sometimes a conversation about the plot, sometimes you need to read a few chapters, but at some point short of reading the whole thing it comes back.

    4. Re:Mixed bag, wait until later by Darinbob · · Score: 1

      Uh oh, I've been 10 years in my job. It keeps changing though. But times change, it used to be the job-hopper was someone to avoid.

      I lke specialists in some fields though, such as security. You really don't want a wannabe in that role but you do want a significant amount of direct and focused experience (which is why consultants and contractors in that area are highly paid). In most areas you don't want someone reinventing the wheel but would prefer that they can learn from past mistakes of others, and that is something I often see generalists failing at. I certainly can work in many different areas of programming and help out and gain experience, but I should not be the designer or lead for many areas because until I get that experience first.

      I think this is a mistake of many companies who assume that programmers are interchangeable cogs and can work on any topic as long as there's experience with programming. So I see fundamentally flawed network protocols that look like college projects, a complicated security structure that is easily bypassed, commercial RTOSs with novice mistakes and so forth.

    5. Re:Mixed bag, wait until later by Shaitan · · Score: 1

      "Uh oh, I've been 10 years in my job."

      10 years isn't job hopping, 6mo-1year is a job hopper. 10 years is just falling in a comfortable rut. The issue is that you are are changing it up minimally and the needs, requirements, and shop philosophy all stay the same and fall in the same trend of solutions in one spot. If you don't hop into different environments and shake it up you aren't forced out of your comfort zone enough and your comfort zone grows too narrow.

      "You really don't want a wannabe in that role but you do want a significant amount of direct and focused experience (which is why consultants and contractors in that area are highly paid)."

      Depends. Security is a pretty generic term but most of that area is about compliance. It's important to be aware that security is more about being able to show what great measures you take because beyond a handful of well known and rarely followed best practices security tends to be snake-oil. Where it isn't snake oil and everything is enforced people can't really get their jobs done so it's only a measure of time until something gives, we are currently in one of those cycles with security right now.

      "In most areas you don't want someone reinventing the wheel but would prefer that they can learn from past mistakes of others, and that is something I often see generalists failing at."

      That isn't my experience. That is something I see the inexperienced failing at without regard to generalists or specialists. Specialists sometimes do come out a little ahead, not because they know better but generally more because they tend to just go along with the trends in their specialty. They just follow whatever they are being told are best practices from vendors, recommendations, and so forth but if they can rarely learn new tricks or apply things in creative new ways. They fall into routines with technologies that are limited in scope. Technology intermixes so much that becomes a liability fast. I don't care what area of technology you are in, it's doubtful you can be truly competent if you don't understand how the full stack works. The network guy should be able to work competently after six months shifting into a programming role, the programmer should be able to work competently stepping into a network role after a few months. All of the above should be at least junior admin level proficient with at least Linux.

      "I think this is a mistake of many companies who assume that programmers are interchangeable cogs and can work on any topic as long as there's experience with programming. So I see fundamentally flawed network protocols that look like college projects, a complicated security structure that is easily bypassed, commercial RTOSs with novice mistakes and so forth."

      I think what you are describing is a lack of experience not a lack of specialization. If you stack your team with 20 year olds that is what you are going to get. When you get into more specialized subjects like programming security solutions and high end networking you should start with people who have advanced experience in those areas and throw them on a team with people who have more of their experience with coding with a couple people somewhere in the middle. At the enterprise scale you shouldn't even be touching something that hasn't baked for five years in large environments outside a lab but latest trend is unleashing things out of dev into production in a continuous cycle or after baking for weeks or maybe a month with nothing but canned tests serving as a barrier.

      You have clueless devs coding your environments with pseudo-code and automated frameworks. That is pretty much guaranteed to result in more holes than swiss cheese and instability. These realities and the ones you speak of are just the result of handing over control and listening to 20-25yr olds whispering into managers ears and selling them what amount to tech infomercials. They listen to because there is fast and easy money with all the other managers/execs listening.

      Yeah, security is booming but you can only toss so much duct tape on the holes in that rickety boat and bail for so long. More and more things are going to start sinking.

  27. not testing for the right thing by art123 · · Score: 2

    Problem solving is important but having a good work ethic is at least as important and most interviews do little to identify that.

    1. Re:not testing for the right thing by Anonymous Coward · · Score: 0

      That is what the resume is for. In general people who have shitty work ethic's will have a lot of jobs they were at for a year or less. Or they will have one long term position only. Hard to ask a question in an interview that can give you info on a person's work ethic when they are presumably smart enough to know what answer you are looking for.

  28. better questions. by Anonymous Coward · · Score: 1

    How about ask questions that don't have definite answers but need technical skill to answer. I find these very useful both for getting a feel of a candidates depth of knowledge as well as there ability to reason?

    I'm thinking things like: So you are a C# programmer. What characteristics of C# attack you to the language AND which ones do you find most annoying? What type of problems do you feel C# is best at solving and which would you recommend at least considering another language.

    ( just a hint, if you can't answer those type of questions about any language you program in , or at least come up with a descent opinion that you support with valid technical reason, you can't really claim you understand anything about the language.)

  29. True but 9 stayed by rsilvergun · · Score: 1

    it's a sign of how bad the job market is for programmers that they can pull this crap. Thing is, even if those 9 bail they can just go to Congress and get more H1-Bs ("But. But. But we can't find anyone qualified!").

    Heck, the current administration just added another 20,000 PHD candidates to the H1-B cap (they sold it as a benefit to workers because they'd require more PHDs ignoring that those PHDs are in addition to the existing 65k cap. Got away with it too...).

    I'm really disappointed. I didn't expect much from this current crop of politicians, but I thought at least they wouldn't increase the caps. Heck, the H2-B (low skill temp labor) caps are getting doubled.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:True but 9 stayed by Oligonicella · · Score: 1

      No. They've always pulled this crap. Even back in the day (I'm old) when programmers were neeeeeded they pulled this crap. It's nothing new at all and no indicator of the job market.

  30. I give simple coding problems. by 140Mandak262Jamuna · · Score: 1
    I dont give them coding problems to be solved on a computer. I give them a relatively simple problem. Filter out odd numbers from a vector of integers. Of find a path from the given sets of pairs of connected cities. Pseudo code on paper.

    I check to see if they spend enough time to understand the problem, do they ask questions to make sure the specs are, I like it if they ask, "do you want a fast algo or minimum memory algo?". I ask them think out aloud, and guide them towards the solution. Then the fun starts, I change the spec, I ask them to reimplement it optimizing for speed instead of memory or vice versa. Change it from "filter out odd numbers" to "filter out numbers divisible by another set of numbers", etc etc.

    Right at the beginning I tell them, the test is not on programming. The test is on "Am I able to communicate well with you, and are you able to communicate back with me?"

    I hire only PhDs and Masters from US universities, coding is necessary but not sufficient for my positions.

    So, yes, there are hiring managers who would happily go through the same hiring process themselves.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:I give simple coding problems. by Anonymous Coward · · Score: 0

      Oh yes, communication is vital. I've been at a place where the candidate was hired on a basis of a good resume but ultimately turned out to be incapable of communicating effectively with coworkers. Meetings to discuss an issue would be painful for everyone. Unable to clearly express concepts in English, while also being unable to draw a diagram on the whiteboard to explain it that way instead, never asking coworkers for help.

  31. Interviews should be a two way street by Larry+Lightbulb · · Score: 2

    During an interview I'd realised I didn't want the job, so when they sprang an unexpected programming test on me I asked them for the project plan and the business case behind it. They said it was to check how well I could program, I replied that I want to check how well they're organised and what their policies were. It went on like that for a few minutes until the interview ended.

  32. Asking hard questions is not just ineffective... by Anonymous Coward · · Score: 0

    ... it's idiotic.

    Asking obscenely hard questions during an interview only makes the candidate think you are unreasonable in your day to day demands. A difficult problem in program design requires a lot of thought time. An interview is not the place for that.

    In an interview I want to know that a candidate can plan their approach to solving a problem, so I generally ask, "hey, what's your approach to problem solving?" A person's answer will betray a lack of actual experience and ability every time.

  33. Best option: question with variable difficulty by swillden · · Score: 1

    My preferred approach is to use a question that has many different variations, and to start with the easiest variations and then ramp up the difficulty/complexity based the candidate's performance. I only have the candidate write code for one variation, usually the second-hardest one that we talked about, and then ask them how they would go about testing what they implemented. This approach has many advantages.

    First, it lets me see how mentally agile they are. Weaker candidates have a hard time adapting their approach as the problem changes, and have a tendency to get locked into early solutions. Better candidates can see how the later variations offer more/different options/tradeoffs and can adapt.

    Second, it lets me see how they think through easier variations, to get that strong "process" signal TFA mentions. This gives me good insight into how they approach problem-solving tasks. In some cases it also gives me a clue as to their honesty/integrity, because it's pretty clear when someone has already seen a simple variation of the problem and doesn't admit to it (during my intro I point out that if the candidate has seen the question before, they should let me know).

    Third, it gives all but the very weakest candidates some early success, which helps to lower their stress level. There's a limit to how much I can do in that regard, because interviews are inherently stressful situations, but I think it does help... and I think people perform better when they're less stressed.

    Fourth, it lets me tune the difficulty of the interview to the candidate's ability level. This is for the candidate's benefit, not to give me any information. Since I'm just one in a slate of interviews, unless I'm the last one the allotted time is fixed and there's no practical way to just cut the interview short (unless they're so bad that I feel I need to end the day entirely to avoid wasting everyone's time; this is very rare). This means that if the candidate is weak and I give them a hard problem, they end up spending the whole hour struggling vainly. This makes for an unpleasant hour for them, an unpleasant hour for me, and it increases their stress level for the next interview. If the candidate finds the first variations of the problem challenging, I just stay at the easy level.

    This difficulty-adaptation happens very naturally, because I don't move on to a harder variation until they've solved the previous, easier, one, with whatever hints/tips I need to provide. I watch the clock to decide when to have them change gears from discussing increasingly-harder variations to writing code. On occasion I underestimate the amount of time it will take them to write code and have to tell them to stop before they finish. This happens most often with PhDs, actually, who are often bright and good problem-solvers, but don't have much coding experience -- often even after years in industry. On those occasions, I apologize for not allowing enough time, though I know it's still pretty painful for them not to be able to finish. Whether or not they finish doesn't affect my evaluation much. I get most of what I want to know about their coding skills in the first few minutes of watching them.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  34. Easy questions by Kohath · · Score: 1

    Definitely agree about the easy questions. When candidates can't answer easy questions correctly, that provides a strong indication that the candidate is a bad hire.

    When candidates can't answer hard questions, what does that tell you? They need extra time to solve difficult problems? Who doesn’t?

  35. Solving problems isn't everything by redshirt · · Score: 1

    When I interview candidates, I usually give one problem that's designed to measure how much of their chosen language they know. While I don't test for knowing language trivia, I do look for signs if they prepared for the interview. I tell them upfront that if they can't remember the arguments to a function to please ask, but if a pattern of unpreparedness appears, that's a minus.

    I've had candidates that have outright refused to code. They'll sometimes even write pseudo code that describes a solution, but when I try to get them to translate it into their programming language, they refuse.

    Others try to show off their coding prowess and usually fuck it all up in the process by increasing the complexity. I tell the candidates upfront to KEEP IT SIMPLE.

    I don't require a complete solution for a hire recommendation, but there are a couple of key milestones they need to make.

    I want them to show they can program, and can put a little thought into different approaches. I try to give hints along the way if they get stuck, or head off into the weeds. Giving hints is important, because it doesn't do anyone any good if the candidate is just standing there. If the candidate can take a subtle hint and incorporate it, that's a plus, because I also want to see how they work in a group or team. I've actually had candidates who thought I was lying to them when I've tried to give hints.

    Anyway, the point is, in today's world of global collaborators, you can't just test for the candidate's knowledge of programming trivia, you've got to know if they can work as a group and learn from others. Being able to write working code is important, but so is teamwork.

    FWIW, I recommend Hire about 3% of the time.

  36. Succinct source of this nonsense by Anonymous Coward · · Score: 0

    - Use conflict and confrontation during the interview to test the candidate.

    Joel on software's interviewing guide https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guide-to-interviewing-version-30/

    It's unprofessional to argue with someone you are interviewing.
    It's unprofessional to use your position as interviewer to try to get someone to adopt a known false idea
    It's unprofessional to advocate others to do so
    It's unprofessional to group interview someone, abuse them and disrespect/mock them during an interview. It's not a court and you are net the district attorny
    It's unprofessional to ask language lawyer questions, follow up with "Wow, everyone knows that" comments to assert your superior knowledge of the interviewee during the process. One wouldn't ask an interviewee a question and then follow up with "Dang, you are stupid for not knowing that" for each missed question.

    Funny is I've seen these from programmers in their mid 20s which know 1 platform and are at near expert knowlege of that single platform.

  37. And horribly assessed and managed by CustomSolvers2 · · Score: 1

    I used to love the idea of programming-intensive interviews, as a way to objectively assess my most-relevant-to-the-job skills. After doing quite a few them, I realised about my mistake. A theoretically excellent proceeding becomes really bad when being terribly mismanaged, what is a surprisingly common scenario in the IT/programming world.

    I never had to solve a really difficult problem, but lots of them under unreasonably short time constraints (i.e., the holy grail of arbitrary, cheating-prone, useless-parrot filters). Now, I prefer to avoid these situations, unless when knowledgeable people and reasonable conditions are involved.

    --
    Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  38. Bad assumption by Anonymous Coward · · Score: 0

    I'd like to see data on this statement:
    "Because the cost of hiring a bad engineer is so much higher than the cost of rejecting a good engineer..."
    How is that even knowable?

  39. out of your environment by Anonymous Coward · · Score: 0

    never understood these pressure-question things - you don't have your computer, your browser, its history, your bookmarks, your printed books - basically you're taken out of your working environment where you code - imagine anyone else having to do that - a musician auditioning without sheet music, musical instruments, or anything - a doctor having to do surgery in a kitchen - no other professional I can think of is taken out of the normal working environment and asked to perform professional work

  40. Being a good programmer is not about smarts. by Anonymous Coward · · Score: 1

    Its about quality and consistency, same as any other engineering profession. It is were seldom about solving a tricky problem. Its about producing high and even quality that is predictable and stable. The algorithms you get from a mathematician, they are the best at it anyway,

  41. Coding Bias by Rastl · · Score: 1

    I've had my share of whiteboard interviews and in general I've found they fall into two categories.

    1 - A basic scenario to show you know the broad outlines of what needs to be done.

    2 - Some esoteric problem that requires knowledge of obscure functions and is a pet project of an interviewer.

    The first kind is useful. It lets them know how you think and that you know what's going on. The second one is a dumpster fire you're never going to answer to their satisfaction so you might as well thank them for their consideration and walk out the door.

    My personal favorite interview story about the second was actually a logic question. The problem itself was flawed in that they didn't give a critical piece of information necessary to solve it. There was an assumption that was quite literally wrong. When they smugly told me how I should have solved it I pointed out that error. Needless to say I didn't get the job. Also needless to say I told everyone I knew about their lack of proper requirements for problems and to avoid them as an employer.

  42. Junior Dev by Anonymous Coward · · Score: 0

    As a new developer I find these coding challenges particularly frustrating as I feel they don't demonstrate my ability to ship working code. That being said there's a wide gap between doing a fizzbuzz and reversing a binary search tree. How do I become better?

  43. +1 Insightful by mccrew · · Score: 1

    Wish I had some mod points for you today, AC.

    --
    Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
  44. No wonder so many programmers suck ... by cascadingstylesheet · · Score: 1

    ... if they are hired on the basis of their ability to memorize stuff that can be looked up in two seconds.

  45. I can teach programming, but not a good fit. by Anonymous Coward · · Score: 1

    A strong team can teach newcomers the right skills. It is more important to find the right personality/fit for the team.

    The fact that you made the interview, likely means you have the skill.

    I can teach you to code. I can't teach you to not be an *sshole.

  46. We Give Live Programming in Interviews by tungstencoil · · Score: 2
    We give live programming challenges in interviews. Interestingly, we quickly moved from a 'hard' model to an 'easy' one, for kind of the same reasons.

    What we do is provide a list of about 6 (depends upon skill set we're hiring) problems that equate to first or second year CS studies. They are all straightforward and require no fancy manipulations. The candidate picks one. We set them up with an environment, they can access Google (keep search history intact, no Googling the actual problem).

    They are given an hour to do the problem; anyone on the team can do it in fifteen minutes or less. If they're having trouble, we will give them another hour. There is a proctor present to help with non-programming issues (for example, for C++ folks we'll help them compile if they're rusty with command-line gcc).

    These types of simpler exercises provide insight into some of the fundamentals: can you write code? What methods do you use to solve problems? Can someone else easily understand your code?

    The number of C++ 'programmers' who can't compare two lists based upon criteria, or web programmers who (no joke) can't code a page that dynamically retrieves data using a (provided) web service, or database folks who can't join two tables is staggering. The exercise weeds out people who have spent years - decades - copy/paste/trial-error coding. Sorry kids, we have real work to do.

    1. Re:We Give Live Programming in Interviews by Tony+Isaac · · Score: 1

      Yes, this is precisely the kind of programming test I give candidates. I'm looking for clues to how they think, how they approach a problem, what assumptions they make, and how readable their code is. It shouldn't take more than an hour, and nothing fancy. It is amazingly effective at weeding out people who really don't know what they are doing!

    2. Re:We Give Live Programming in Interviews by Anonymous Coward · · Score: 0

      sounds absolutely miserable working for you. no thanks.

  47. Blockbuster Video - Ft. Lauderdale by Anonymous Coward · · Score: 1, Funny

    take this string, now reverse it, now convert it to pig latin, now reverse that.. How many internal threads are used to perform writes in a ConcurrentHashMap, now bark like a seal..

    When I interviewed with them in the early '90s, they gave a "programming" test that wasn't too far off from that. It was the most ridiculous thing I have ever dealt with. Converting from one pseudo language to another and then look up things on a chart and then convert back to a pseudo language.

    WTF?!

    I got fucking migraine about 2/3rds the way through and had to stop before I puked. It was just nonsense busy work. I got an interview afterwards by what would have been my direct report and he didn't look like he slept in a week.

    Get this, they were a goddamn Microsoft Visual Basic shop. And they later got hacked so bad that everything they had was taken. So don't tell me that those tests get you the best.

  48. When code monkeys get old by Anonymous Coward · · Score: 0

    As someone who has led offshore teams and teams of junior developers I disagree with the assertion that "bad" engineers are more costly than losing a qualified applicant. I work with less than perfectly qualified developers all the time and they rarely fail to deliver when given proper leadership. If anything, the hidebound senior developers who are unwilling to learn new things are far less productive. The technical debt incurred by those who just want to skate by is much more than those who are misfits trying to prove themselves.

  49. the real explaination... by Anonymous Coward · · Score: 0

    google has become a crutch, and you can't use it during the typical interview.

  50. Good Article but Need Thought Question by filesiteguy · · Score: 1

    Instead of a "programming" question, I often want to determine how they think. I can hire a code monkey anyday. Those positions are generally my college students and recent graduates. After I hear how they solved a particular issue and whether the candidate can relate to biological life forms, I ask a logic question. First to see how they handle the pressure and second to see what they come up with. I rarely get a "correct" answer but the process the candidate goes through is always telling. Here's one - "You just bought a hammer and a nail. Together, the hammer and nail cost $1.10. The hammer is one dollar more than the nail. How much was the nail?"

    Another, "why are manhole covers round?"

    1. Re:Good Article but Need Thought Question by Shotgun · · Score: 1

      Handle pressure?

      There is no such thing as a coding emergency outside of crappy movies. When is a developer EVER expected to deliver code while "under pressure".

      BTW, before I check code in, I will generally check StackOverflow to see if someone has a better way of doing it. I haven't had anything more than feature requests to come out of code reviews in years.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    2. Re:Good Article but Need Thought Question by filesiteguy · · Score: 1

      In our environment, we have 16 developers. Our main application suite is written using over 1M lines of C# with services running on over 40 servers and collects well over $200M per year in point-of-sale transactions distributed among about 250 users.

      When there is an issue, and my staff find a bug that slipped through testing, we need it fixed now. and there may be customers waiting. That's pressure. Also, when there's a testing deadline and regression testing discovered an issue

    3. Re:Good Article but Need Thought Question by MooseTick · · Score: 1

      The nail was a nickel.

      That's a great example of how not to interview people. Using "trick" questions to test someone is the worst method I can imagine to see if someone is a good employee.

  51. How I did it by iplayfast · · Score: 1

    The only time I've had to hire someone, I told the local college and universities that I was hiring. Got a boatload of applicants, and after the first couple of interviews it was obvious that these guys hadn't much programming experience at all. So in order to weed out candidates I made a test, of some terrible code. Basically pointer arithmetic and weirdness. Most recruits gave up after a minute. One guy worked through it. He got the wrong answer but I could tell by the way he was working on the problem, he understood how things worked, and was methodical.

    He got the job of course, and turned out to be a fantastic employee.

    So I would submit that the questions aren't being asked to show what you know, but how you work through the problem.

  52. Shortage of software developers? by Anonymous Coward · · Score: 0

    Maybe if your interview processes were sensible you wouldn't reject suitable candidates based on ridiculous non-essential criteria.

  53. Nope by Anonymous Coward · · Score: 0

    When I graduated years ago and was looking for a job, I would walk out of interviews that did this nonsense.

  54. Re:Realistic stress part of job/Not arbitrary stre by Anonymous Coward · · Score: 0

    Sometimes stress can be overwhelming. I took a test for a non-programming job using Quark Xpress back in the day (remember that app?) which I had known very well, but hadn't used in about 6 months.

    I sat down at the testing station to do some simple text/image insertion, flow, leading, etc.

    I literally could not remember a damned thing. I just sat there helplessly for 10 minutes trying to remember how to use the program.

    Eventually I gave up and told them I'd have to do some refresher study before I could meet the requirements. It was embarrassing as hell.

  55. This is useful - even if just an ad by ripvlan · · Score: 1

    It's easy to marry, difficult and expensive to divorce. Maybe we're solving the wrong problem :-)

    Hiring good people is a common problem that good answers are difficult to come by. I was trained once to (basically) ask "5 whys" whenever somebody said they could do something --- in order to determine how much THEY did vs they were present when somebody else did the work. Each level down was intended to determine whether this person what making crap up or had really worked on the task.

    I also knew a guy who gave logic/thought questions - he wanted to see if the person could think. He later recanted his line of attack as being useless as judging skill level. He'd ask "how many quarters stacked does it take to be as tall as the Empire State building?" To which he expected questions such as "on their side, end to end, how wide is a quarter, how tall is the building?" Did they seek requirements clarification and how did they solve the puzzle?! (its a problem in estimation, there is no exact answer--the goal was to understand how they arrived at it). But many people could solve it and still not write working code.

    But I've learned recently that asking somebody to write a program in the language they claim to know is important. Why? Because there are a lot of script people who cut/paste and ferry modifications/customization and have a cursory understanding of Coding, Logic, and Problem solving. Just because you can copy somebody else's code and make it compile does not mean you can code. You know Java? great, so do I. Write a simple program that solves something domain specific (don't worry - I'm not here to see if know J2E or ask trick questions). C#? even better, that's what we use here.. Write a simple program....

    If you have the skills - we'll train you and help you grow beyond where you're at today. No trick questions. You know Java and we need C#? Fine - want to learn C# --- we'll train you.

  56. What they don't know... by Shotgun · · Score: 1

    What they don't know is that I'm interviewing them, too.

    Does the manager know what he is asking when he reads a question and then has a conversation about it, or is she looking for me to parrot whatever is written down? (Heh! I don't know their gender)

    Are they trying me to get me to do the job as part of an interview? I have literally had the question, "Set up a framework to automate the testing of http://www.xyz.com/".

    Are they looking to show me how much they know and how insignificant I am? Usually, this takes the form of, "Can you answer this obscure comp sci question that you'll never actually ever use?" or "Do you know this goofy trick that uses an obscure language feature in a non-standard way to solve an even more obscure problem?"

    If I get a hint of any of that, I walk out and tell the interviewer that their hiring process is stupid. I've been around enough to know that working there will suck anyway. The interview should be a discussion about what is on my resume, to confirm that I did what I claimed. I wrote the damn resume so that they could decide if my experience matched up with what they need. If my experience doesn't fit the job, why did they call me in to test my "test taking" capabilities? Because, they're numb-nuts that don't know what they're doing, and I don't want to work with numb-nuts.

    The best interview question is the one you ask at the very beginning. "Which part of my resume makes you think that I am a good candidate for this job?"

    --
    Aah, change is good. -- Rafiki
    Yeah, but it ain't easy. -- Simba
  57. Coding on Mac is a dumpsterfire by Anonymous Coward · · Score: 0

    It was a mac shop. You have been warned!
    Idiot very much?

    It was a programming job. There is no better OS/computer for programming than a Mac. Linux is miles behind and MS Windows lightyears. Only some obscure Unixes are somewhere clustered around Linux, like HP-UX and AIX ... and Solaris.

    But I guess in your blinded mind you tried to make a lame joke ... you failed.

    I code on Mac, Windows and Linux. Coding on Mac is a dumpsterfire for anything non-trivial. Even Cygwin on Windows is a better user experience the the Mac.

    1. Re:Coding on Mac is a dumpsterfire by Anonymous Coward · · Score: 0

      I used to love coding on the Mac, up until about Xcode 4.

      Apple have turned Xcode into such a worthless piece of shit...I swear they don't test a new version at ALL anymore before shipping it. :-P

    2. Re:Coding on Mac is a dumpsterfire by Darinbob · · Score: 1

      But the Mac is Unix, whereas Cygwin is emulated Unix that runs noticeably slower than you want it to. Just don't bother with xcode or other built in tools since they've morphed into an iOS development system.

  58. I really like the SQL questions like... by Anonymous Coward · · Score: 0

    Hey Im going to say outloud a question about a database that doesnt exist, nothing else, and expect you to write, on a whiteboard, how to solve that question.

    How about instead, you give us the actual DB, and say I need the result set to encompass X, Y, and Z. Then let us connect via whatever tool we know (first signal we might be clueless) and actually use the actual tool you want us to show competence with.

    thank you for the captcha btw, the word was "idiotic". How ironic.

  59. HR would like it to be very simple by Micah+NC · · Score: 1

    HR understands this technical stuff is worthless, nerd talk.

    In their lofty awareness, they would like you to transcend hiring laws and just ask this single, simple question:

    Are you 40 or older?

    Elegant, free from leadership reproach, and so helpful.

    CS students please don't let this deter you from pursing this career path because their job is already so very hard.

    Next, HR would like to tell you about how force.com can make your job a lot easier.

  60. then again by Anonymous Coward · · Score: 0

    We gave applicants for my team a request to create a "Hello World" short application that spit out the text one character at a time using C#. Every applicant failed. They over engineered what was needed or didn't actually produce the output we requested.

    All we wanted to see was "Hello World" on the console printed one character at a time.

  61. Doesn't understand engineers by RogueWarrior65 · · Score: 1

    So, there's an old joke about how the trustees of a university want to find out if the professors know their stuff. They come up with the question "What's 2 plus 2?" as the test. First, they go to the math department and ask the question. The professors say, "Oh, that's easy. It's four." Then they go to the physics department. Those professors say, "Oh, it's 4.0000000 with an uncertainty of another decimal place." Then they go to the college of engineering and ask those professors. They say, "Just a minute, let me get my handbook."

    Point being, that trying to program from memory is a waste of time. Trying to write code quickly is also a waste of time. One should be thinking about the approach and the logic rather than regurgitating the details of some function call. It's entirely possible that there are multiple solutions to the same problem.

    The fourth part of the joke is when they go over to the business school's accounting professors and ask, "What's 2 plus 2?" The professor looks around to make sure nobody can hear and whispers, "What do you want it to be?"

  62. You boob! by Anonymous Coward · · Score: 0

    Were you expecting to be hired as a programmer without demonstrating that you can program?

    Ah, listen up PHB! (You've said MANY times that you're a manager at some Silly Valley dipshit company.)

    Your test is blabbed all over the place in the Asian "network". They copy it and memorize it. And even if "they" don't, someone who's studied and MEMORIZED algorithms and patterns and OTHER'S code could solve an employer's test easily - including yours.

    Wait, you say! You "change" it! Ahahahahaahah!

    Programming problems can be memorized - aka "Patterns" - and it doesn't require much creative or even intelligent thinking.

    How do I interview and get qualified people? That's my secret sauce. And it's amazing how many "rejects" I get (*cheap) that do quite well - thank you very much.

    *Sorry about the cheap part. But we employers pretty much control the market. We say we need purple pants wearing people eaters as recruits and many jump to train to eat people and buy purple pants.
    Are we right? Fuck no. Do we think we're right? Well, that ONE purple pants wearing people eater turned into a rock star developer and we made the logical error in thinking that purple pants wearing people eaters are the best!
    tl,dr; employers are idiots.

  63. Just had that this BS last week. by Qbertino · · Score: 1

    Feel through an assessment task because I couldn't come up with a viable Fibonacci generator and some services built around it fast enough and the one I finally managed to tape together was too clunky - which I was perfectly aware of. Having programmed for 34 years I felt quite silly and discovered that these questions are just as stupid as they were 20 years ago.

    The other interview was a sweepingly broad question about how I would build a Microservice architecture Webshop by some 28 year old nerdy IT lead douche. Of course my reply didn't satisfy him.

    These questions get asked by three types of people:

    1) frustrated nerds in lead positions trying to prove to their own camp how smart they are and how dumb all potential replacements are

    2) people who are seeking a performant and obedient fall-guy for a project about to blow up

    3) interviewers who have no idea what they are doing and probably have a general governance problem either already in place or slowly brewing

    The truth is this: Anyone who thinks they can assess a senior or even medium position with a few questions or a two hour progging assessment is on crack. I might be able to do that after 4 weeks. And I know a thing or two about tech team management.

    I'd walk out of an assessment should someone ask one of me again without warning.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Just had that this BS last week. by Areyoukiddingme · · Score: 1

      Let me guess. Amazon?

      template <int T>
      struct Fibonacci
      {
          enum { value = Fibonacci<T - 1>::value + Fibonacci<T - 2>::value };
      };

      template <>
      struct Fibonacci<0>
      {
          enum { value = 1 };
      };

      template <>
      struct Fibonacci<1>
      {
          enum { value = 1 };
      };

      Slap that up on the white board, then walk out.

  64. An entirely different, but successful approach. by MindPrison · · Score: 1

    Where I work, (and I got the job at 40+, now in my 50's) we have an entirely different hiring policy and different techniques from almost every post above here. I read almost ALL of the above input, and I was not going to give my opinion in here, but after reading it all - I was wondering where all of that experience came from.

    So this is what we do:

    We don't care about your age, gender, preferences, race, religion, political beliefs, school background, grades etc. We just care about a few simple principles.

    - Are you afraid of learning new things?

    - Are you entirely honest? (Our hiring staff is VERY skilled at spotting someone who's not entirely honest).

    - How do you fit in socially with others?

    - Can you jump into something that seem impossible to solve, and admit you just can't do it, but will be humble enough to ask for help from your colleagues?

    - Can you take responsibility and learn from your shortcomings and appreciate the talents of others? Admit your mistakes, and not be ashamed of it?

    We don't care for the worlds fanciest resumé, we don't care about HR companies and hiring staff, we're the ones you're going to work next to every day of your life, we simply want to know WHOM we're sitting next to. You - as a person, not what you know or whom you knew.

    We also use something called "mentoring technique", this means that someone in our team gets appointed to be your mentor during your hire here, our staff is you in the future, so we hope you adapt our mentality, not to point fingers at you and blame. We don't run the blame-culture here, we teach ourselves and learn from each other, very much self driven - and we're one of the biggest companies in the world.

    This approach is immensely successful, because it doesn't matter to us what you knew when you came in, what matters to us is your willingness to adapt, drive yourself, your endless curiosity, your genuine interest in making life better for others (our end users), and see your colleagues as assets rather than the competition. Everyone work at their own pace, no one is whipped into reaching certain goals, they set their OWN goals.

    This kind of freedom, makes people REALLY want to know what they're doing, because they take pride in having a team with this mentality, and no pressure from anyone encourages positivity and genuine interest in the craft they work with.

    When I got the job, I was literally thinking, they must be joking - I did tell them the truth, I'm not that knowledgeable, I know SO many that I can't even compare myself to 1% of their skills, and I make mistakes ALL the time, but I OWN my work and my mistakes, and I'm never afraid to admit I was wrong, neither does my colleagues. We're open minded, totally ready for change - because our everyday consist basically of improvements and total change in some areas anyway, so we're used to that by now. We literally EAT re-organization for breakfast. But my colleagues have ONE thing in common, their passion for the company and their awesome colleagues.

    I can't tell you where I work for obvious reasons, but right now - they're even expanding their staff of brand new coders, one of them is 55+ and have literally no coding experience. I came in too, knowing very little - years later, I've been told by my manager that I'm in the top 10 range, which I still find so hard to believe, but I take what I can get.

    What I'm trying to tell you out there, with this wall of text above - is to just go for it if you dream of it, it's not impossible. Sure - it'll be DAMN hard, but challenges are fun, and that's probably why you would be interested in coding anyway, right? Age means nothing, attitude and passion is everything.

    --
    What this world is coming to - is for you and me to decide.
    1. Re:An entirely different, but successful approach. by HornWumpus · · Score: 1

      You only hire good liars.

      Nobody is entirely honest. Those that are, can't 'fit in socially with others'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  65. Easy then harder by richieb · · Score: 1

    When I interview I start with a question that is relatively easy that anyone who can code could solve. Then follow that up with a question that is more difficult that builds on the previous answer.
    For example, I would ask a candidate to write recursive Fibonacci function (I would explain what Fibonacci numbers are). If they are able to do that, then I would ask them what would happen if their function was called like this: "fib(10000);".

    --
    ...richie - It is a good day to code.
    1. Re:Easy then harder by Anonymous Coward · · Score: 0

      Ok, that's basically around 5 minutes to implement a trivial function fib() and talk about process stack size.
      What's next after that?

  66. Cost of hiring an engineer by Anonymous Coward · · Score: 0

    "Because the cost of hiring a bad engineer is so much higher than the cost of rejecting a good engineer, companies are incentivized to set a high bar."

    Bullshit!

    Everyone in California is an at-will employee who can be terminated at any time for any reason or for no reason at all.

    The entire system is set up to favor termination.

    It is not the companies that are incentivized; it is the employees, and the management.

    They are not incentivized by a desire for excellence; they are incentivized by a fear that someone better will be hired.

  67. My simple test by Tony+Isaac · · Score: 1

    I give each of my candidates a simple test, something like:
    - Write a command line program to accept a list of items as arguments.
    - Divide the arguments into types (dates, words, numbers, etc.)
    - Sort each list in an order appropriate for its type.
    - Eliminate duplicates from each list.
    - Display the results on the console.

    I give them 2 days to complete and turn in their answers.

    I'm looking for:
    - Are all requirements met?
    - Does it actually run?
    - What approach was used?
    - How simple is the code? (I'm looking for simple solutions, few lines of code.)
    - How readable is the code?
    - How well-structured is the code?
    - Are there good unit tests included?

    This eliminates about 75% of candidates. Those who pass, I bring them in and discuss how they chose their approach, among other things.

    I've been shocked how few candidates can complete the test!

  68. Impossible questions by Anonymous Coward · · Score: 0

    When I interview, I don't grill; I aim to recreate the normal working conditions as closely as possible because I want the candidate to acts normally.

    Skills are never spot on, but can be taught, providing the candidate has a reasonable normal outlook.

    I will ask an impossible question towards the end, because I want to see if the candidate is prepared to call out bullshit and how they do it, constructively.

  69. Simple code test FTW! by Bitbeard · · Score: 1

    The key to finding qualified people is asking simple questions about tasks developers do every day such as conditional statements, code check-in, and HTML/CSS. Who writes a sort every day? This has worked perfectly for me all but one time. Ironically, that person had a double Masters degree. They couldn't get the simplest tasks done.

    But attitude is far more important than coding prowess. Flawed personalities kill teams.