Forgot your password?
typodupeerror
Facebook Programming

Gnarly Programming Challenges Help Recruit Coders 177

Posted by timothy
from the what-is-your-favorite-algorithm dept.
Hugh Pickens writes "George Anders writes that companies like Facebook are finding that old-fashioned hiring channels aren't paying off fast enough and are publishing gnarly programming challenges and inviting engineers anywhere to solve them. 'We developed this theory that occasionally there were these brilliant people out there who hadn't found their way to Silicon Valley,' says Facebook engineer Yishan Wong who volunteered to draft puzzles so hard that he couldn't solve them. The problems aren't the superficial brainteasers that some companies use, like estimating the number of basketballs sold every year or why are manhole covers round, but developing sophisticated algorithms — like ways of automatically seating a clique of people in a movie theater, given that best friends want to be side by side and rivals need to be far apart. David Eisenstat has compiled an unofficial guide to the Facebook Engineering Puzzles. Our favorite: 'Liar, Lair,' seems particularly applicable to slashdot: 'As a newbie on a particular internet discussion board, you notice a distinct trend among its veteran members; everyone seems to be either unfailingly honest or compulsively deceptive,' says the description of the problem. 'You must write a program to determine, given all the information you've collected from the discussion board members, which members have the same attitude toward telling the truth.'"
This discussion has been archived. No new comments can be posted.

Gnarly Programming Challenges Help Recruit Coders

Comments Filter:
  • Should be: all the board members are either unfailingly honest, compulsively deceptive, or massive trolls. Might actually have real world applications.

    Also, oblig xkcd [xkcd.com].

  • MemberClass = GetCurrentMember();
    for Post in MemberClass.GetAllPosts():
              for Reply in Post.GetAllReplies():
                        if "rtfa" in Reply.lower() and Reply.Poster != Member:
                                  Member.LiarProbability = Member.LiarProbabilty + 1;

     

    • Using that code, you end up with probabilities far greater than 1, which are meaningless. It would be better to call the variable "LiarScore" or something like that.

      • by MagicM (85041)

        LIES!

      • by MobileTatsu-NJG (946591) on Thursday October 20, 2011 @05:47PM (#37783918)

        if User.NitpickeryScore > 10:
                  User.LonlinessScore = User.LonlinessScore + 1;

        • by Kjella (173770)

          Is it a bad sign when I want to nitpick and say you could just use "User.LonlinessScore++;"?

          • Yes it is. That's Python code. ;)

            • Sorry to reply to my own post, but like a dumb-butt I didn't hit preview. Python doesn't support ++. Drives me nuts.

              • by b4dc0d3r (1268512)

                In what alternate universe is Python a typo for something that does support ++? And somehow, you reading your own post after typing it all out, would have realized duh, Python doesn't support ++, I meant a completely different language?

                Seriously just curious.

                • The code I wrote was in Python. It wasn't understood that I wrote it in Python, so I clarified that and submitted my post. After I hit submit, I realized that not everybody may know that Python doesn't do ++.

                  I really don't get what you meant by 'typo' in this context.

        • by s_p_oneil (795792)

          You should get a +5 funny for all the problems you managed to embed into two lines of code that keep programmers from resisting the urge to nit-pick. My first thoughts were the mis-spelling of loneliness, the non-standard indentation for Python (which requires you to be anal about indentation), the avoidance of +=, and the unnecessary semi-colon at the end of the line.

          So what does that make my nit-pickery score?

          • The nitpick about the indentation on a site that won't let me put in the tab whitespace landed you neatly between "never touched a woman" and "Babylon 5 is playing on his TV right now".

            • by s_p_oneil (795792)

              Good one. ;-)

              From what I hear, you're not supposed to use tab whitespace in Python anyway:
              s_p_oneil.NitpickeryScore += 1 ;#) Add another for a syntactically valid smiley icon

              Actually, when I hit preview, it converted my 2 spaces into 4 for some reason, so I'll have to give you that one. Someone should give the /. devs a hard time for not making posts Python-safe. I think I just pushed myself into the "owning my own bat-leth" category, or perhaps even a storm-trooper costume. ;-)

      • by Dunbal (464142) *
        Or just keep track of the cumulative, and divide the member.LiarProbability by it, then multiply by 100 to give you a percentage...
  • Real world. (Score:5, Insightful)

    by clinko (232501) on Thursday October 20, 2011 @05:34PM (#37783704) Homepage Journal

    Given the number of comments take each post and divide by....

    Got an email Hold on...

    Management has now changed the comments to votes...

    Given the number of votes FOR a post...

    Email again, 1 sec...

    We're now on a new project making a "facebook for insurance policies"?

  • by Anonymous Coward

    Well, let's see here. We have the standard interview format, where they find out what you know and how you've used it (after HR subjects your resume to the most stupid and rigorous pigeonholing known to man), there's the audition format, where they give you a task and judge your results, and then there's what I like to call the goofy-as-fuck-Google-format, where they subject you to bizarre questions that don't have any particular bearing on your actual job and instead attempt to figure out how creative or c

    • by FooAtWFU (699187)
      Most goofy interview questions... the answer itself is irrelevant. The questions are about seeing how the interviewee reacts and reasons about a problem. Some of these are more concrete exercises than others. Besides seeing how a candidate reasons about code, it may be useful to see how they reason about the task itself - do they ask why they're doing it and try to understand the goals and constraints? Do they try to understand the resources at their disposal? Are they able to provide any vision into what t
  • by gweihir (88907) on Thursday October 20, 2011 @05:36PM (#37783740)

    Quite frankly, solving these problems today should not be hard. At most a literature search should bring you the algorithmics. But what is hard is doing good, maintainable interfaces, writing high quality code, having a good design and a good architecture, having working defense-in-depth against attacks, etc. None of which a brilliant person without in-depth CS education and significant experience can do. This just keeps up the atrocious code quality responsible for so many data leaks and successful attacks. It also explains the high cost of software.

    This is the wrong approach on so many levels...

    • by Baloroth (2370816)

      Quite frankly, solving these problems today should not be hard. At most a literature search should bring you the algorithmics. But what is hard is doing good, maintainable interfaces, writing high quality code, having a good design and a good architecture, having working defense-in-depth against attacks, etc. None of which a brilliant person without in-depth CS education and significant experience can do. This just keeps up the atrocious code quality responsible for so many data leaks and successful attacks. It also explains the high cost of software.

      This is the wrong approach on so many levels...

      It does, however, go very far in explaining Facebook's current state.

      • by ackthpt (218170)

        Quite frankly, solving these problems today should not be hard. At most a literature search should bring you the algorithmics. But what is hard is doing good, maintainable interfaces, writing high quality code, having a good design and a good architecture, having working defense-in-depth against attacks, etc. None of which a brilliant person without in-depth CS education and significant experience can do. This just keeps up the atrocious code quality responsible for so many data leaks and successful attacks. It also explains the high cost of software.

        This is the wrong approach on so many levels...

        It does, however, go very far in explaining Facebook's current state.

        I'm curious how eBay recruits coders...

        "Do you follower orders to the letter, even if they are bloody stupid and will cause anger and frustration among the user base."

        "Yes. I hate people. It would give me great joy."

        "When can you start?"

      • by gweihir (88907)

        Quite frankly, solving these problems today should not be hard. At most a literature search should bring you the algorithmics. But what is hard is doing good, maintainable interfaces, writing high quality code, having a good design and a good architecture, having working defense-in-depth against attacks, etc. None of which a brilliant person without in-depth CS education and significant experience can do. This just keeps up the atrocious code quality responsible for so many data leaks and successful attacks. It also explains the high cost of software.

        This is the wrong approach on so many levels...

        It does, however, go very far in explaining Facebook's current state.

        It does indeed.

    • by petes_PoV (912422)
      Yes, while this sort of screening can identify some incredibly bright individuals, that's a secondary quality. Much more important for a company is the knowledge that its employees can be relied upon: both to deliver (and not flit, butterfly-like, from once interesting looking idea to another - without ever finishing anything) what they've been told to do and act with the maturity needed to do stuff that they don't find interesting, but is needed for the company to flourish.
    • by Vellmont (569020)

      I agree that there's many, many poor interfaces, unmaintainable code, and security nightmares. But what makes you think this has anything to do with "engineer coders"? I've been in this industry for 15 years, and I have no idea what a "engineer coder" means. Fools come in many shapes and forms, and I've never found any simple way to distinguish between them.

      Much of the problem is that quality code isn't valued in academic programs. So it's no surprise that people come out without having these skills.

      • by gweihir (88907) on Thursday October 20, 2011 @06:23PM (#37784442)

        To define: An engineer is somebody that understands the state-of-the-art in a technological field really well and can use the tools it provides to create technological artifacts (here: software) that solve concrete problems in a reliable, efficient and secure way.

        I agree that many academically educated "coders" are not engineers either. Quite frankly, about 75% of my graduation year in my CS master's program does not qualify. However that is only partially the fault of the university, as the important subjects were being taught. You just had to much choice and could avoid them all. I also have to admit that the Software Engineering lecture was a bad joke, taught by an US-educated professor with the main qualification of having an over-sized ego. For example, this guy failed to define aliveness of petri-nets correctly in 5 consecutive weeks and then once more in the written exam. Pathetic.

        Still, engineers always have to be pragmatists, have to understand the long-term perspective and at least a part of the business-perspective. They can be brilliant but do not need to be. In software, a good engineer can specify, architect, design, implement and maintain a software system, all steps with reasonable quality. All steps need significant education, insight and experience. For example, it is very difficult to be a good architect without real coding experience. At the same time, you cannot be a good coder without architecture, design and maintenance experience.

        While brilliance is great, it can never replace experience and education. It can however lead to "brilliant" solutions that work well in the short term, but are a maintenance, scalability, security and reliability nightmare. For example, one thing brilliant people in coding regularly miss is that simplicity, consistency and clarity are absolutely essential for maintainable code. Another thing they typically do not know is that it is actually harder to come up with simple solutions than with complex ones and that simple solutions are worth much, much more than complex ones. This comes IMO from both lack of experience and the personal experience that they can master complex solutions (in the short-term that is). It quite frankly often also has a component of arrogance and disregard for others that have that experience and are perceived as "holding them back". I have seen quite a few people like that fail when presented with a real-world longer-term problem.

        That said, a truly great coder has education, experience _and_ brilliance. These people are really, really rare but cannot be replaced by anything else. If you need one of those, best hold the project until you have found one.

        • by Vellmont (569020)

          What you call brilliance, I call "cleverness". Brilliance is seeing things in a flash, or seeing what others can't. Cleverness is just a narrow minded view of making this fast, or cool, or "efficient", or whatever, without regard to maintainability, readability, or the entire larger picture of software development. There's plenty of people tat are brilliant, and see beyond what others can and also value simplicty, maintainability, etc. The underlying problem (one of many) is the narrow focus and tunnel

          • by gweihir (88907)

            I understand what you are saying. I used to think along similar lines. But by now I have had the opportunity to add quite a bit of experience to the mix and looking back, I was just kidding myself back then.

            So I stand by my statement: Experience cannot be replaced by anything else, no matter how brilliant, clever, etc. a person is. And experience is essential for the long-term view. There are so many factors that you simply cannot anticipate or even understand until you actually have seen them at work. The

    • You are almost correct, solving most of these problems using an O(2^x) algorithm or worst is trivial, but solving it on a large dataset before the universe heat death is not. But the challenge you mentioned (maintainable interfaces, writing high quality code, having a good design and a good architecture, having working defense-in-depth against attacks) are hard, nonetheless they can be solved at the workplace by establishing a well crafted mentorship and learning program; being an innate NP-hard problem sol

    • by Weezul (52464)

      Facebook builds their software using PHP which ties VB for being the language of course for when you need as many cheap dumb programmers as possible.

      You don't think they simply needed some new blood?

  • To many HR people are focusing inordinately on candidates’ education, grade-point averages, what school they went to HR does not like tech schools.

    So they end up turning away a lot of talented people whose true abilities surpassed their academic credentials.

    Now for IT an apprenticeship system will be a good fit and let people work though real work place challenges and other stuff you do not get in the books.

    • by geekoid (135745)

      Which is why it's critical for IT people ti participate in user groups.

      Very few jobs I ever got where through HR. HR had always been told to hire me, and that ended their involvement with the hiring process.
      I have found this to be true with everyone I ever talked to about it.; however that's an anecdote, so grain of salt and all that.

      The bets Process I ever went through was for a government position. I was valued on my experience, and they actually asked relevant questions.

    • by mjwalshe (1680392)
      Cant see the average tech company committing to a 4/5 year apprenticeship program.
      • it needs to be 6mo to 1-2 years apprenticeship.

        • by Greyfox (87712)
          6 months to 1-2 years is hardly enough time to whack you with a bamboo stick, much less time for you to become enlightened in the ways of pointers in C. You might argue that for programming a bamboo stick ought not to figure into it at all, but I assure you it does. It's at least as effective a teaching tool as what they used when I was in school.
        • by mjwalshe (1680392)
          you know that the traditional apprenticeships are 4/5 years (first year spent filing and making the tea)
  • Really? (Score:4, Funny)

    by PCM2 (4486) on Thursday October 20, 2011 @05:47PM (#37783902) Homepage

    So that's what programmers at software companies do all day? Write novel algorithms?

    Coulda fooled me, last software job I had I spent all day in meetings.

    • by blair1q (305137)

      +1 Disgruntled.

    • by petes_PoV (912422)
      Quite right. A more reliable interview technique would be to fill you up with coffee and see how long you hold out before needing a break. That's the best way to get agreements in meeting: out-bladder everyone else there. By the end, they'll agree to anything just to get to the bathroom.
  • "We developed this theory that occasionally there were these brilliant people out there who hadn't found their way to Silicon Valley"

    A lot of folks don't make it to the SV. The chances of making it huge are pretty slim. Even if you work for a company like Facebook, but the time the majority of people have joined cheap stock options are claimed. So that leaves you with long days, astronomical costs of living, and the opertunity to get stuck with over priced property every time a bubble bursts. Or you cou

  • (facepalm time) (Score:5, Insightful)

    by Quiet_Desperation (858215) on Thursday October 20, 2011 @05:54PM (#37784022)

    'We developed this theory that occasionally there were these brilliant people out there who hadn't found their way to Silicon Valley/

    Douche comment of the week right there. And I want to work with someone who has *that* limited of a horizon why, exactly?

    • by sco08y (615665)

      'We developed this theory that occasionally there were these brilliant people out there who hadn't found their way to Silicon Valley/

      Douche comment of the week right there. And I want to work with someone who has *that* limited of a horizon why, exactly?

      It's got a tough contender: "Our favorite: 'Liar, Lair,' seems particularly applicable to slashdot..."

      Oh my God, people on a discussion site disagree strongly about things, stop the fucking presses.

    • Re:(facepalm time) (Score:5, Informative)

      by ywong137 (2490226) on Friday October 21, 2011 @12:21AM (#37787554)
      Hi, I'm Yishan Wong. First, has anyone else here ever been quoted in a book or online publication and had it end up making you look like a douche when that's not at all what you meant? Especially when you spent like hours talking to your interviewer and they paraphrase it down into words you didn't actually say? Well, please don't hate until it's happened to you. Secondly, I should obviously clarify. The quote makes it sound like we were thinking, "By Jove, what if it's possible that there's intelligent life outside of Silicon Valley!" That's not what we were thinking! C'mon! Rather, the situation is more like this: it's pretty obvious that there are great engineers everywhere. The problem is, if you're a startup in the Valley, your recruiters don't go looking outside the Valley for you. It's just this insular thing where everyone is trying to recruit (poach) from everyone else. It becomes a zero-sum game of talent competition for a limited pool. We were this tiny startup that no one took seriously so we couldn't compete against the other players in the Valley (e.g. Google, who was crushing everyone else at the time at recruiting). So instead, we're like, "Okay, we should figure out a way to get all the talented people *outside* the Valley to join us, because we can't win the in-Valley echo-chamber local recruiting game." The problem is, as I noted above, recruiters aren't really going to work very hard trying to find some random guy in Portland, Maine, they just try to hand you resumes of local people at other Silicon Valley companies (especially the kinda-crappy contingency recruiters we were working with back then - we were small, we didn't have uber-headhunters with a global reach or anything). So we needed a way to reach these "brilliant people" "languishing in ordinary tech jobs who hadn't made it to Silicon Valley." The recruiters don't even know to look there. If you're brilliant and you're in the Valley, the recruiting machine is so strong that you'll inevitably get swept up into some company or other. But if you're in some podunk town and you're brilliant, that's not likely to happen. You just get a regular tech job where you end up being unusually productive. No recruiter is going to come looking for you, because recruiters look for big-name experience keywords (e.g. "did he work at Microsoft/Google/Apple" etc) or sexy technology keywords on your resume. If you're brilliant but in an ordinary tech job, you might have not have the Hadoop keyword on your resume (you might not have an online resume at all because hey, you have a fucking job already) because your crappy ISP job doesn't need to crunch terabytes of data. But you're still smart enough to do it. I know this because I'm from Minnesota, and before I happened to move to Silicon Valley because a girl I liked said that I should, I worked at an ordinary tech job just like Evan Priestley (the guy they mention in the article), where I was just an unusually productive guy. So we needed to find people like that, because the current system wasn't doing it, even though it was obvious to all of us from the Midwest or wherever that smart people are hidden in little pockets everywhere. So yeah, we "developed this theory that occasionally there were these brilliant people out there who hadn't found their way to Silicon Valley." Unfortunately I guess it came out sounding like the opposite of what we meant. :-/ ---- PS: if you're reading this while procrastinating your crappy job at a small-time firm where all your work is too easy for you and you're like the smartest guy there, you're basically who I'm talking about. ;-)
      • by Raenex (947668)

        First, has anyone else here ever been quoted in a book or online publication and had it end up making you look like a douche when that's not at all what you meant? Especially when you spent like hours talking to your interviewer and they paraphrase it down into words you didn't actually say? Well, please don't hate until it's happened to you.

        It's never happened to me personally, but I've seen and heard about several examples where this has happened. You're absolutely right, dealing with the press is a minefield.

        So instead, we're like, "Okay, we should figure out a way to get all the talented people *outside* the Valley to join us, because we can't win the in-Valley echo-chamber local recruiting game."

        What I've seen Google do is have their engineers actively recruit people who write tech blogs that sound like they know their shit. You can also scour forums like Stack Overflow or look at open source projects. Also, the whole idea that you need to actually be in Silicon Valley to work instead of telecommuting is silly in 2011.

      • It almost makes me glad I'm closer to early retirement than not- I knew the tech industry had wet dreams about being like Hollywood, but I didn't realize that extended even to recruiting. Sorry, it still sounds bad, like your valley is some sort of El Dorado or Holy Land.

        Also: http://en.wikipedia.org/wiki/Paragraph [wikipedia.org]

        Anyway, I design hardware. [podunk voice="applejack"]That seems to baffle most "tech" types from that there valley of yours, sugarcube. Why, shucks, them rascals seem to reckon hardware appears fu

  • by blair1q (305137) on Thursday October 20, 2011 @06:00PM (#37784114) Journal

    I found my way to Silicon Valley.

    And discovered it's a crowded, underbuilt swordfest.

    No girls, no sunshine, no warmth, crappy food.

    And all the computer stuff can be done from somewhere else (which is why much of Silicon Valley moved back to India).

    Seriously. Plow it under and put the fruit trees back. Silicon Valley is done.

  • The discussion board problem is a basic twist on a puzzle from Lewis Carroll, to determine if person x and person y are in the same group you ask one what the other would say to a simple well known fact ('what color is the sky?) if both are truth tellers or both are liars they will answer correctly ('blue') so they are in the same group (but you can't determine which) if they answer badly ('red') than one is a truth teller and one is a liar, and you can't tell which.

    The development of a seat selection algor

  • I would just leave. I don't jump through hoops to be allowed to work someone.

    • What, you just fill out an application and hope Burger King calls you back?

      • by Tanuki64 (989726)

        Up to now the usual job interviews were totally sufficient. No fancy guessing games. And with each successful project in my cv the interviews get shorter and easier. When I get called back, it is a former customer who wants to know whether I am free or not. I am freelancer and usually booked out.

  • No, not "gnarly" (Score:4, Informative)

    by Animats (122034) on Thursday October 20, 2011 @06:40PM (#37784642) Homepage

    Actually, you want programmers who are good at design and reliably competent, but not overly clever, at code. "Cute" code is very '70s.

    Incidentally, the "why are manhole covers round", which appeared on the 1971 Comprehensive Examination in Computer Science at Stanford and was widely copied from there, is almost always misunderstood. While it's nice to have a lid you can't drop through the hole, that's not the reason. Many modern covers are rectangular. [syrcast.com] It's because manhole covers and their matching rings are 19th century technology, from the day when casting, planing, drilling, and turning were the main metalworking operations. Those limit the shapes you can make cheaply. Look at a steam locomotive built prior to 1920. Every machined surface is circular or flat. Manhole covers were made by casting with a single clamping on a lathe to clean up the outside edge. Similarly, the matching rings were cast and got a quick trim on a lathe to true them up. This gives you a matched pair that won't rattle or clang.

    Cleaning up an inside rectangular edge requires a milling machine, which was an exotic precision device until about 1930 or so.

    So that's why manhole covers are round. Low manufacturing cost.

    • by mjwalshe (1680392)
      And from my dim a distant mech eng technical course its much easier to cast (using Victorian era sand casting) a circle than a square shape..
    • Totally agree with your reasoning, and add: square is nearly the only shape that, given a lip so it can't drop into the hole, can be turned such that it will. If "can't drop into the hole" were the only reason, you could go with triangles or anything with more than about 5 sides, and the major diameter - minor diameter width would be exceeded by the lip so they wouldn't either. In other words, not only does history roll its eyes at this question, so does basic geometry. I've been asked this question in a

    • by CODiNE (27417)

      Not to mention it's much easier to drop a pipe in the ground and cement it in place than building a square shaft.

    • by Krater76 (810350)

      Funny but when I clicked on your link only 1 of the manhole frames/covers on that page were rectangular. And while it's quite anecdotal, I can surely say that I have never seen a rectangular manhole cover. I live in a very large city as well so it's not like I have a sample bias against me.

  • by TheGratefulNet (143330) on Thursday October 20, 2011 @06:49PM (#37784742)

    is that they expect 'real time' answers to problems that sometimes need a bit of thought. its also ageist, as younger people can think faster (I sure did 30 yrs ago when I was fresh out of school) and are more familiar with classic compsci algorithms and problems. the more time you are away from those 'classic' problems and their cute solutions, the more time it will take you to re-invent them on their on. asking for that real-time while you watch is just too much to ask, for many of us.

    this does NOT mean we can't solve the problem. but it does mean that realtime 'solve whilst I watch' is pure bullshit and a really stupid way to judge programming talent and problem solving ability.

    • by Greyfox (87712) on Thursday October 20, 2011 @08:42PM (#37785938) Homepage Journal
      When I'm interviewing people, I'm looking for someone who will gather requirements before he starts trying to crap code out and a person who will get along well in my team. I'm looking for someone who's enthusiastic to talk to me as a potential future team mate and doesn't view me as an impediment to a fat paycheck. The questions aren't about whether or not you know the answer to every question. They're to determine if you meet the technical competence level to perform at the job and to see how you respond to being asked to perform under pressure.

      In interviews I've conducted, I've had VERY few people who didn't view me as an impediment to a fat paycheck, who didn't think the questions I was asking them were bullshit and who actually tried to find out more about what I wanted when I asked them to design a function for me. Those people got hired. Some of the others did too, but always against my advice.

      You want to do well in an interview? Try ENJOYING yourself there. If you're excited to be there and excited to talk to future team mates, they will sense that. If you don't want to be there and hate everything about the process, they'll sense that too. You can refine your technique all you want after that, but you'll always get more job offers just enjoying an interview than you will if you hate it.

      • Which reminds me of the best skill I ever learned regarding interviews.

        "Don't Panic!"

        If you walk in and treat it as nothing special, don't over stress yourself, put no pressure on yourself to perform like a trained monkey, you'll be able to weed out jobs where they expect you to be a human robot & other such nasty situations you wouldn't see if you were so focused on "getting this job"

        If you aren't prepared to walk out, don't walk in!

    • by vlueboy (1799360)

      Academia is just as bad with how it forces math down CS people's unknowing mouths. Your comment sums up exactly what I disliked about Math theory courses starting with Pre-Calculus. Every single class stopped being old material, and was riding on "cute" solutions that had to be learned by watching someone solve a boring proof. It couldn't just be figured out by looking at the book in advance because all advanced math is made through centuries worth of geniouses who worked bits out at the leisure of several

  • by Danny Rathjens (8471) <(slashdot2) (at) (rathjens.org)> on Thursday October 20, 2011 @06:54PM (#37784802)
    "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." -- Brian W. Kernighan
  • I hire programmers with a proven track record of actually "shipping" product. I could care less what mind bending interview problems you can solve or what school you may have attended.

  • by Jodka (520060) on Thursday October 20, 2011 @06:58PM (#37784854)

    A couple of interesting and related things on the subject of hiring strategies appeared this week in the Wall Street Journal.

    First, a fascinating review [wsj.com] of the book "The Rare Find [amazon.com]" by George Anders. The review beings with this interesting anecdote and gets better after that:

    When Joanne Rowling, an unemployed single mother, showed her first fanciful manuscript to a dozen British publishing houses, all quickly passed on it. Eventually a single bid emerged—for about $2,500—from Bloomsbury, then a small London publisher. Wise move: Ms. Rowling's "Harry Potter" franchise is now worth billions.

    Next, James Taranto theorizes [wsj.com] that college degrees are proxy for IQ Tests, which it is illegal to use in hiring. It raises the question of whether FaceBook's Programming Challenges will not become the target of lawsuits on the basis of "differential impact" as in Griggs V. Duke Power Co. [wikipedia.org]

     

    • Not wanting to argue against the success of Ms. Rowling, but it would appear that the rare find in this instance is the individual at Bloomsbury that felt the author had an interesting story and was willing to go against the grain and take a chance.
    • by FooAtWFU (699187)
      Here is a passage from Griggs. I think that most companies like Facebook will be able to make a very, very good case that programming challenges are directly related to job performance at a programming job.

      The touchstone is business necessity. If an employment practice which operates to exclude Negroes cannot be shown to be related to job performance, the practice is prohibited.

      Notice also that employment law in this area has changed and that subsequent cases are also relevant, e.g. Wards Cove Packing Co

  • by Greyfox (87712) on Thursday October 20, 2011 @07:45PM (#37785406) Homepage Journal
    I always lie in my Slashdot posts! In fact, I'm lying RIGHT NOW!
  • by Old Wolf (56093) on Thursday October 20, 2011 @07:49PM (#37785462)

    The facebook page linked in TFA has a set of problems that's meant to have an auto-grading robot (which I presume then suggests to FB that it might want to hire you). However the robot has been down for months with no word on when it is coming back.

    So, how do we 'apply' ?

  • Everything I've ever posted on /. is a lie.

    (How should the program classify this post? ;-)

  • by Cragen (697038) on Friday October 21, 2011 @07:28AM (#37789314)
    To not want to work for Facebook.
    • by lophophore (4087)

      Hell! You've got that right. Didja ever wonder why the producers of "The Social Network" did not get sued for libel? I didn't either.

  • Finally it could be a way to extract myself from such pedestrian IT work as a highly educated but poorly certified person.

  • I recently read the IEEE paper "How to be a Star Engineer" (Google it, it's a great read). The researcher conducted a study on common traits shared among the industry's top performers. Turns out that being extremely intelligent was not really a significant factor. In fact, the star engineers failed to demonstrate a commonality in any of the traditionally emphasized areas of cognitive, psychological, social, or organizational superiority. It essentially boils down to how they used their existing skills in a
  • I said "I don't think it is appropriate for you to be asking about my sexuality."

Stupidity, like virtue, is its own reward.

Working...