Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Gnarly Programming Challenges Help Recruit Coders

timothy posted more than 2 years ago | from the what-is-your-favorite-algorithm dept.

Facebook 177

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

cancel ×

177 comments

Missed a category (1)

Baloroth (2370816) | more than 2 years ago | (#37783624)

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

Simple test to detect liars in a fourm (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37783628)

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;

 

Re:Simple test to detect liars in a fourm (1)

Daniel Dvorkin (106857) | more than 2 years ago | (#37783770)

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.

Re:Simple test to detect liars in a fourm (1)

MagicM (85041) | more than 2 years ago | (#37783898)

LIES!

Re:Simple test to detect liars in a fourm (4, Funny)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37783918)

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

Re:Simple test to detect liars in a fourm (2)

Kjella (173770) | more than 2 years ago | (#37784220)

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

Re:Simple test to detect liars in a fourm (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37784658)

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

Re:Simple test to detect liars in a fourm (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37784698)

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

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37786094)

neither does ruby, and it drives me equally nuts.

it **does** support '+=' though. better than nothing.

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37786604)

python supports "Variable += 1", which is slightly better (although not as short as ++)

Re:Simple test to detect liars in a fourm (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37786766)

Thank you!

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37784980)

So is it a bad sign when I want to nitpick and say you could just use "User.LonlinessScore += 1"? ;p

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37784664)

There's no ++ operator in Python. Not sure if this was intended to be Python, but it looks like it parses. Of course, those ugly semi-colons aren't necessary, and the variable names don't follow PEP 8... So who knows. =)

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37784314)

if User.NitpickeryScore > 10:

          User.LonelinessScore++;

FTFY. I'd put parenthesis around your if-statement but this is just pseudocode.

Re:Simple test to detect liars in a fourm (1)

maxwell demon (590494) | more than 2 years ago | (#37784560)

if User.NitpickeryScore > 10:

          User.LonelinessScore++;

FTFY. I'd put parenthesis around your if-statement but this is just pseudocode.

You mean this?

(if User.NitpickeryScore > 10:
          User.LonelinessScore++);

Most people would make the parentheses around the condition instead (except Lisp programmers: They would do both). :-)

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37784994)

User.LonelinessScore += 1

FTFY. There's no need to put parenthesis around your one-expression, one-line if-condition. This is Python!

FTFY. Python doesn't have a ++ operator.

Re:Simple test to detect liars in a fourm (2)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37785088)

Well, no, it's not psuedocode. But I will concede that Python is basically jusy psuedocode that works after you've properly indented it.

Re:Simple test to detect liars in a fourm (1)

Dunbal (464142) | more than 2 years ago | (#37783998)

Or just keep track of the cumulative, and divide the member.LiarProbability by it, then multiply by 100 to give you a percentage...

Re:Simple test to detect liars in a fourm (1)

Synerg1y (2169962) | more than 2 years ago | (#37783884)

Your not gonna work for fb anytime soon sorry I can't be any nicer about it

http://homepage.psy.utexas.edu/homepage/faculty/pennebaker/reprints/Deception.pdf [utexas.edu]

I think part of the challenge is thinking outside the box towards stuff like this link.

I'd start by writing a dictionary table of lying words and query off that and I'd also try and research other things in the realm of psychology that indicate when somebody is lying in their phrasing or not.

If you think the only part to coding is the code itself, then at least you know where you now stand.

Re:Simple test to detect liars in a fourm (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37784060)

I'd start by writing a dictionary table of lying words...

Well, one way you could have been nicer about it was to clickie the linkie before spouting off this nonsense:

http://www.facebook.com/careers/puzzles.php?puzzle_id=20 [facebook.com]

Most places would prefer you stay inside the box and start by reading the requirements. ;)

It's a math problem, not an attempt at AI.

Re:Simple test to detect liars in a fourm (1)

maxwell demon (590494) | more than 2 years ago | (#37784682)

I'd start by writing a dictionary table of lying words...

Well, one way you could have been nicer about it was to clickie the linkie before spouting off this nonsense:

http://www.facebook.com/careers/puzzles.php?puzzle_id=20 [facebook.com]

Most places would prefer you stay inside the box and start by reading the requirements. ;)

It's a math problem, not an attempt at AI.

Actually, unless I'm missing (or misunderstanding) something, this is actually a quite simple problem. Maybe the difficulty is in making it efficient?

Re:Simple test to detect liars in a fourm (1)

mooingyak (720677) | more than 2 years ago | (#37784100)

According to the summary, it's asking you to determine "which members have the same attitude toward telling the truth", which is similar but not exactly the same as determining whether a given person is telling the truth or not. I would assume the following:

You have to do this in a purely reactive way, meaning you're not allowed to ask questions, you can only look at what others have asked and how people have responded.
You do not have enough knowledge about the topic being discussed to determine truth/falsehood based on the accuracy of their answers.

So the problem boils down to recognizing what questions are identical, or at least similar enough to be useful (i.e "How many cows are in farmer Brown's herd?" vs "How many cows does farmer Brown have?" vs "Does farmer Brown own more than 50 cows?")

And then looking for answers that match up (matching the questions above, "about 40", "37", "no").

You may also have to contend with the possibility the honest and accuracy are not the same thing, and that a perfectly honest person can still be wrong.

Re:Simple test to detect liars in a fourm (1)

Synerg1y (2169962) | more than 2 years ago | (#37784294)

Your assuming any question would be identical or have a similar answer, I would add your logic on top of mine though to get that extra 1% that it may or may not catch. Your assumption is quite great though, I wouldn't apply it in a real world scenario.

The question might also be personal or even abstract, ex. "what color are your eyes", there's just too many variables to factor in, you need a concrete base (in my case psychology), and then expand on it to improve your project over others.

I am assuming too that the person will answer in a manner which indicates a lie based on what we know of liars psychologically, there may be better approaches yet, but I don't think it's possible to nail 100%, closest algorithm wins.

Re:Simple test to detect liars in a fourm (1)

Synerg1y (2169962) | more than 2 years ago | (#37784310)

This kind of problem reminds me of advanced placement java in highschool :)

Real world coding is far more repetitive tedious, and fuckin boring.

Re:Simple test to detect liars in a fourm (1)

mooingyak (720677) | more than 2 years ago | (#37784434)

This kind of problem reminds me of advanced placement java in highschool :)

Youngin. Java didn't exist when I took AP comp sci. :)

As to your other post, we already know it's not real world applicable, given that very few people are either unfailingly honest or compulsive liars.

Re:Simple test to detect liars in a fourm (1, Interesting)

Anonymous Coward | more than 2 years ago | (#37783940)

Well if you're one of those crazy people who DOES RTFA, then turns around and posts a comment that includes 20+ correct things and you get ONE SINGLE THING wrong, everyone on /. will immediately tell you to RTFA anyway, so this won't work. Which is why I only RTFA about half the time...I don't care THAT much, and someone is going to tell me to RTFA even if I already did.

Second...JavaScript man? I mean, am I wrong? Is this Python or something (I mainly use JavaSccript and PHP, but at least I realize when to use what, and I lean towards PHP whenever possible), or did you seriously just write code that would OBVIOUSLY be server-side in JavaScript? I must be very unaware of the syntax of some other language because I know you didn't just post potential JS code for something that would be server-side like this.

More on topic...I applaud FB for this. As someone who sunk 5 years into a CS degree (which involved exactly 4 computing classes, and 31 other, non-computing classes, including "intro to computing" and "microcomputer applications" i.e. MS Office) I can tell you that I learned more about writing actual code in 2 hours with an online tutorial than I did in 5 years at a major institution. (Before anyone asks, me and Public Speaking class didn't get along too well. Would've been out a full year sooner...) I've been writing "code" of some sort since I was 4 and I'm 24 now (yes it was a batch script in DOS, but at 4 that's not half bad) and I'm not even the best programmer I know. Yet, if I had to list the top 10 programmers I know, I'd say 3 have even been to college, and only 2 have a degree. It may not apply to every field, but I'm sorry, for computing, hiring someone with a college degree means one thing and one thing only - they can be forced to do bitchwork for 4 (or 5) years for no logical reason. If you go to college and get an education in computing so that you can get a job in a field that makes more money, you're NOT going to really give a damn about the code you write. When it's what you do for "fun" then you'll always do a better job at it than someone who doesn't enjoy it and is only in it for the money. I find that it's exceptionally rare that someone gets a degree in CS because they enjoy CS. they get the CS degree because they think it's more hire-able. And that's really sad.

Re:Simple test to detect liars in a fourm (0)

Anonymous Coward | more than 2 years ago | (#37785560)

I find that it's exceptionally rare that someone gets a degree in CS because they enjoy CS. they get the CS degree because they think it's more hire-able. And that's really sad.

I hope you're wrong and speaking for myself, I didn't get my CS degree because of the money.

BTW: Not all CS degrees sucks as much as yours. I had a lot more than 4 computing classes and none of them was Microsoft crap.

First Comment: WOOT! (0)

Anonymous Coward | more than 2 years ago | (#37783678)

Well maybe. And of course no one ever lies, exaggerates, or provides missleading titles on Slashdot ;-)

Real world. (4, Insightful)

clinko (232501) | more than 2 years ago | (#37783704)

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

Re:Real world. (1)

Bucky24 (1943328) | more than 2 years ago | (#37785448)

"The novice programmer stares in wonder at the bird, for he understands it not. The average programmer dreads the coming of the bird, for he fears its message. The master programmer continues to work at his terminal, for he does not know that the bird has come and gone." http://www.canonical.org/~kragen/tao-of-programming.html#book7 [canonical.org]

Re:Real world. (2)

znerk (1162519) | more than 2 years ago | (#37785476)

Your truthfulness factor is too high, you have been discluded from the pool of valid users.

Old-fashioned hiring channels (2, Funny)

Anonymous Coward | more than 2 years ago | (#37783714)

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 conservative you are while you demonstrate a certain level of knowledge on a topic. From lowest amount of hoops to most, you are progressively demonstrating as an employer how desperate you are to find "authentic" applicants that fit your corporate culture.

Whether these are effective or not I leave up to your metrics. I don't play games, I get shit done.

Re:Old-fashioned hiring channels (0)

Anonymous Coward | more than 2 years ago | (#37785044)

This story reminds me of the scene in The Social Network where Zuckerberg sets up a drunken network hacking challenge to select the interns he's going to take with him to Silicon Valley. And I thought to myself, "seriously, a challenge to find out who can break through network security the fastest while drinking is considered a reasonable approach to hiring someone to help write a simple PHP/MySQL web app? For fucks sake!"

Companies that use these kinds of metrics are companies that think way too highly of themselves. I have no interest in jumping through hoops like that, and no interest in working for some assclown who wants me to jump through hoops like that.

Re:Old-fashioned hiring channels (0)

Anonymous Coward | more than 2 years ago | (#37786654)

I don't play games, I get shit done.

great, but while you're sitting on the toilet and everyone else is goofing off in solitaire, who's doing the actual work?

did anyone else... (1)

Moheeheeko (1682914) | more than 2 years ago | (#37783732)

read "Yishan Wong" as Yuuzhan Vong?

An this way they again get non-engineer coders (3, Insightful)

gweihir (88907) | more than 2 years ago | (#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...

Re:An this way they again get non-engineer coders (1)

Baloroth (2370816) | more than 2 years ago | (#37783908)

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.

Re:An this way they again get non-engineer coders (1)

ackthpt (218170) | more than 2 years ago | (#37783974)

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

Re:An this way they again get non-engineer coders (1)

gweihir (88907) | more than 2 years ago | (#37784118)

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.

Re:An this way they again get non-engineer coders (1)

petes_PoV (912422) | more than 2 years ago | (#37783934)

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.

Re:An this way they again get non-engineer coders (2)

Vellmont (569020) | more than 2 years ago | (#37784064)

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.

Re:An this way they again get non-engineer coders (3, Interesting)

gweihir (88907) | more than 2 years ago | (#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.

Re:An this way they again get non-engineer coders (2)

JonySuede (1908576) | more than 2 years ago | (#37784172)

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 solver writer is... is... is well innate.

Re:An this way they again get non-engineer coders (-1)

Anonymous Coward | more than 2 years ago | (#37785124)

The bigger problem with this, from what we've experienced, is that higher-IQ people write code that the lower-IQ people can't understand and, therefore, can't maintain. We have a couple of, what I believe to be, Asberger's programmers in my current job. They end up writing code where there are so many moving pieces to keep track of that other engineers spend days wading through their code trying to figure out what it does. The rest of the coders rely more on simple design patterns and other crutches that allow normal people to build large, scalable systems.

Why would we want to go out of our way to hire more of the coders that write code only they can understand?

Re:An this way they again get non-engineer coders (1)

AwesomeMcgee (2437070) | more than 2 years ago | (#37786328)

Sorry but I picked up the knr when I was 11, it spoke to me. So I installed looplinux and started learning. I was kicked out of high school at 16 for lack of attendance because I wrote asp 3 days a week at a web design shop and only went to school 2. Never went to college but I have 10 years professional experience now and do my proper design by contract, write my unit tests, and follow SOLID. Education isn't necessary, far more valuable is the experience and skill needed to analyze a solution and identify it's strengths and weaknesses and know if the ratio can be changed. I have worked with people who had masters in cs but couldn't code, and those who could write a garbage collector offhand from their classes. The point here is the classes don't teach, rather the student learns. So the education you say is required for good code is not accurate, a learned person is required. The mechanism of their learning is irrelevant.

Same type of stuff needs to be done with IT work (1)

Joe_Dragon (2206452) | more than 2 years ago | (#37783800)

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.

Re:Same type of stuff needs to be done with IT wor (1)

geekoid (135745) | more than 2 years ago | (#37783906)

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.

Re:Same type of stuff needs to be done with IT wor (1)

TheRealMindChild (743925) | more than 2 years ago | (#37783982)

"bets" huh? You just proved the point for the wrong side, friend

Re:Same type of stuff needs to be done with IT wor (1)

I Read Good (2348294) | more than 2 years ago | (#37784206)

I thought the same thing at "ti" and "where"...

Re:Same type of stuff needs to be done with IT wor (1)

mjwalshe (1680392) | more than 2 years ago | (#37784976)

Cant see the average tech company committing to a 4/5 year apprenticeship program.

Re:Same type of stuff needs to be done with IT wor (1)

Joe_Dragon (2206452) | more than 2 years ago | (#37785360)

it needs to be 6mo to 1-2 years apprenticeship.

xkcd (1)

MagicM (85041) | more than 2 years ago | (#37783870)

obligatory xkcd [xkcd.com]

Re:xkcd (1)

Baloroth (2370816) | more than 2 years ago | (#37783946)

Also this [xkcd.com] . And the one I posted above. Maybe Slashdot should just start putting these in the summary.

Re:xkcd (0)

jspenguin1 (883588) | more than 2 years ago | (#37784030)

And this [xkcd.com] . That's 4 relevant XKCD comics for one article. Is that a new record?

Really? (3, Funny)

PCM2 (4486) | more than 2 years ago | (#37783902)

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.

Re:Really? (1)

blair1q (305137) | more than 2 years ago | (#37784196)

+1 Disgruntled.

found my way to Silicon Valley? (0)

Anonymous Coward | more than 2 years ago | (#37783926)

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

Seriously? This guy is an a$$. I left the valley 10 years ago and never looked back

Silicone Valley Centric (1)

Kagato (116051) | more than 2 years ago | (#37783944)

"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 could leave other places in the US that have lower costs of living that more than make up for the slightly lower pay.

(facepalm time) (5, Insightful)

Quiet_Desperation (858215) | more than 2 years ago | (#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?

Re:(facepalm time) (0)

Anonymous Coward | more than 2 years ago | (#37784300)

If you don't live on one of the coasts in the US, you might as well not exist as far as technology companies are concerned.

Re:(facepalm time) (1)

spiritgreywolf (683532) | more than 2 years ago | (#37784378)

Well, he's also working for Zuckerberg, right? That's worth cutting your own throat right there. I trust that guy as far as I could throw him and his stock options. I wouldn't piss in that guys mouth if his teeth were on fire.

Re:(facepalm time) (2)

moderatorrater (1095745) | more than 2 years ago | (#37784606)

What if they weren't?

Re:(facepalm time) (1)

Myopic (18616) | more than 2 years ago | (#37786734)

lulz

Re:(facepalm time) (2)

sco08y (615665) | more than 2 years ago | (#37784564)

'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) (1)

Orestesx (629343) | more than 2 years ago | (#37784696)

Seemed kind of tongue-in-cheek to me.

Re:(facepalm time) (1)

St.Creed (853824) | more than 2 years ago | (#37785318)

I've seen a bit too many of his type and I fear it was a completely serious remark.

Re:(facepalm time) (0)

Anonymous Coward | more than 2 years ago | (#37786738)

No kidding. What a stupid comment by this Wong dude (chick?). I would rather hire someone smart enough to live somewhere less lame than SV.

I found my way to Silicon Valley (2)

blair1q (305137) | more than 2 years ago | (#37784114)

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.

Code challenges for code monkeys? (0)

Anonymous Coward | more than 2 years ago | (#37784124)

A real code challenge would be one where the programmer had to develop, debug, document, maintain and scale a large app. For obvious reasons it doesn't make sense for a company to issue such a code challenge.

Re:Code challenges for code monkeys? (2)

znerk (1162519) | more than 2 years ago | (#37785614)

"For the rights to view my solution to your programming challenge, you will be required to purchase a license to view the code, at $300 per viewing eyeball. For the rights to implement and/or execute the solution, you will need to purchase a separate license, with a purchase price of $10,000 per cpu core expected to run it, and $5,000 per cpu core that has the potential to run it (ie, a separate device on the same network). I look forward to our future business relationship, and will assume a breach of contract if I have not heard from you within 14 business days."

The liar/truth teller problem is well known. (1)

John.P.Jones (601028) | more than 2 years ago | (#37784168)

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 algorithm is less gimicky, but probably a greedy algorithm will work.

Re:The liar/truth teller problem is well known. (1)

Krishnoid (984597) | more than 2 years ago | (#37785220)

Of course, there's always this approach [giantitp.com] .

Re:The liar/truth teller problem is well known. (0)

Anonymous Coward | more than 2 years ago | (#37785748)

Your example doesn't work all the time, e.g. A says B would say "red", while B in fact would have said "green".
Both of them are liars, but according to your algorithm, one of them is telling the truth.

Help recruit coder? (1)

Tanuki64 (989726) | more than 2 years ago | (#37784410)

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

Re:Help recruit coder? (0)

Anonymous Coward | more than 2 years ago | (#37784830)

I'd give them half the solution up front, and the other half when the check clears.

Re:Help recruit coder? (1)

MobileTatsu-NJG (946591) | more than 2 years ago | (#37785174)

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

Re:Help recruit coder? (1)

Tanuki64 (989726) | more than 2 years ago | (#37785228)

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" (3, Informative)

Animats (122034) | more than 2 years ago | (#37784642)

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.

Re:No, not "gnarly" (1)

mjwalshe (1680392) | more than 2 years ago | (#37785032)

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

Re:No, not "gnarly" (1)

smellsofbikes (890263) | more than 2 years ago | (#37785074)

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 an interview and got a surprisingly positive reception when I gave my "this is a stupid question and here's why" response, so keep it in your bag of interview tricks.

Re:No, not "gnarly" (0)

Anonymous Coward | more than 2 years ago | (#37785168)

the cover is round for no other reason than the hole is round

Re:No, not "gnarly" (1)

CODiNE (27417) | more than 2 years ago | (#37785538)

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

Re:No, not "gnarly" (0)

Anonymous Coward | more than 2 years ago | (#37786646)

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

Mod parent up.

Clever coders are the ones you want to slap when you're maintaining their code years later.

If you're being clever, you're probably writing crap code. Code should be written in the simplest way it can. A 100 line function that is clear, readable, and simple is better than a 20 line function that requires you to think about what it's trying to do.

Re:No, not "gnarly" (0)

Anonymous Coward | more than 2 years ago | (#37786764)

Not all manhole covers are round, only those that cover round manholes are round. I am yet to see a round manhole cover over a sqaure manhole. Improving on the mythical "MS interviews Feynman"

what I hate about interviews (4, Insightful)

TheGratefulNet (143330) | more than 2 years ago | (#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.

Re:what I hate about interviews (0)

Anonymous Coward | more than 2 years ago | (#37785152)

Agreed. Most interview questions are trivia. You've heard the problem before and can solve it, or not. The "game" is to pretend that you've not heard the question before.

That's Not What I'm Looking For (4, Insightful)

Greyfox (87712) | more than 2 years ago | (#37785938)

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.

Don't be too clever! :) (3, Insightful)

Danny Rathjens (8471) | more than 2 years ago | (#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

execution (1)

codepunk (167897) | more than 2 years ago | (#37784846)

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.

Recent and Related (2)

Jodka (520060) | more than 2 years ago | (#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]

 

Re:Recent and Related (1)

Anonymous Coward | more than 2 years ago | (#37785952)

How is it illegal when police departments have used IQ tests during the hiring process and even denied a man for having an IQ that was 'too high': http://www.nytimes.com/1999/09/09/nyregion/metro-news-briefs-connecticut-judge-rules-that-police-can-bar-high-iq-scores.html

Question about their theory (1)

Anonymous Coward | more than 2 years ago | (#37785064)

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

"Hadn't found their way to Silicon Valley" or "wouldn't want to live in the US"?

indicate the trend facebook wants to take (0)

Anonymous Coward | more than 2 years ago | (#37785312)

I can't help but think that Facebook has similar things in mind to the test it is proposing. They recently allowed your friends to fill in parts of your profile that you left blank (like hometown, employment etc). You may decline to accept those, but now Facebook knows, especially if two or more people try to set the same value.

Facebook is in the business of collecting as much information about you as they can. Since you obviously can/will only give away so much directly to them and (if you're a slashdot user) are even considering poisoning your profile with wrong info, their next step is to look at your conversations with your friends as well as compelling your friends to give more info away on you. This involves assigning degrees of trust to data acquired through these methods as well as to the parties who are participating in these conversations. Hence, some algo needs to be developed to extract and validate the most probable information from the mountains of posts and even replace your poisoned fields with corrected data inferred from the posts.

Ooh! I'm One of the Liars! (2)

Greyfox (87712) | more than 2 years ago | (#37785406)

I always lie in my Slashdot posts! In fact, I'm lying RIGHT NOW!

Re:Ooh! I'm One of the Liars! (1)

Anthony Mouse (1927662) | more than 2 years ago | (#37785890)

This statement is false.

Re:Ooh! I'm One of the Liars! (1)

Greyfox (87712) | more than 2 years ago | (#37786150)

Bah! You've heard this one before!

Problem tester doesn't even work. (2)

Old Wolf (56093) | more than 2 years ago | (#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' ?

mod parent up (1)

gumpish (682245) | more than 2 years ago | (#37785870)

Here's hoping a ton of hits might convince facebook to get off their ass and bring it back up.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...