133 comments

[ 3.7 ms ] story [ 187 ms ] thread
I love the idea, running into a bug though. I'm getting a "Compilation Error" message on my submission, but it compiles fine locally, and clicking "Compile Message" to see the error just brings up a blank window. (Username: andrewbadr, using Chrome 13 on OSX)
Checking it up right away.
(comment deleted)
What's there to stop blogs with problem solutions or how-to's from popping up?
Very little. However, if companies are making their own problems and the same set aren't used for every job posting, it would be harder to make a general how-to for every problem on the site. It also would probably not be that hard to determine which problems have publicly available solutions, or if the solution an applicant uses is publicly available - for that matter, if I were an employee of this company I might advocate for creating fake solution websites (with flawed solutions), so that applicants who were simply copying code could be easily detected.
Then the company can hire the guy who posted a solution on his blog if the problem is hard, or not care anyway if the problem is simple.
I'm not sure that this effectively replaces any part of the traditional process (resume--phone interview(s)--onsite interview(s)). I guess it comes closest to replacing the phone screen, but my understanding is that the goal of the phone screen is to establish "can this person actually write code" which I don't really think this does given how easy it would likely be to cheat--either by finding a solution online or by getting someone else to do it for you.
This helps for campus placements where you can't Realky get others to code for you.
How is this different from Codility?
I get frustrated because I am pretty horrible (in my mind) at these kind of math puzzles ("Given N numbers , [N<=10^5] we need to count the total pairs of numbers that have a difference of K. [K>0 and K<1e9]..."). My frustration is compounded when I know that I won't really need to write this kind of Project Euler-style programs in 90% of jobs.

Your company is a web app, I can write web apps; why am I solving problem sets from undergrad Discrete Math to demonstrate competence? Why not have the tasks be like "Use AJAX to pull down a users last 10 tweets and display them on a web page"?

Maybe it's because the only samples are generic and not submitted by the companies, but I was hoping for a bit more relevance to the intended job duties than yet-another-interview-puzzle.

Hi Swanson, totally agree to your comment. We're going live in a week's time where hackers can solve real-world problems. Mind dropping an e-mail to team@interviewstreet.com ? Would get back to you once it's live.
Thanks, I didn't actually read the TC post all the way though (I just went to your site directly) so I missed the part where you addressed this in the article. Glad to see you understand my perspective.
Yes, thanks swanson
that would be really cool. that part of the skill sets is rather needed to actually get something to work. great job.
That is not necessarily a math puzzle. Sounds more like a programming task formalization using math notation if you take the brute force search approach. Using math concepts helps too phrase interview questions in a non-ambiguous way, like "write a function printing all prime numbers in the range 2 <= n <= 1000".
Agreed. But more, is there any evidence that these types of technical tests actually select for better employees?
Well, circumstantially, there are companies like Google and Microsoft who spend a lot of time on these types of tests. It's not an original suggestion that they aren't effective, so I have to assume that Google et al have considered this...and yet they're still using them.
At least it is better than getting asked questions about the O-notation of the solution you've just whiteboarded. There has to be a better way...
What's wrong with that? Big-O notation is fairly universally relevant so it seems not unreasonable to expect a programmer to be able to talk about it a little. I've seen exactly that be a strong indicator in the past - a candidate not being able to recognise that the code he'd written ran in O(n^2) was a significant negative sign.
I'm not sure how relevant it is to the work that many web application programmers do every day, which fairly rarely involves algorithm optimization. I understand that there are lots of optimization heavy jobs out there, but I'm not really sure that it is important for many of us (esp. since there are lots of great developers out there without a Comp Sci training).

To the downvoters: Do you disagree? If so please tell me why.

Support for solving programming challenges in Bash? Killer feature!
The guy in the live chat said they look negatively on large numbers of submits. I think this is a poor idea for two reasons.

1) This will simply encourage people to develop offsite and submit when they have working code. On their site they allow recruiters to see what applicants are typing in real time, and pushing people off site will render this function useless.

2) In interpreted languages like python my work flow usually is incremental change and test, so very high numbers of submissions will not be unlikely. I don't think that kind of programming should be discouraged.

There should be a Test button as well as a Submit button. The employee understood my concerns, so hopefully they get that worked out soon.

Another criticism: The problem desctriptions seemed poorly worded to me.

It is a good looking site either way. I'll be keeping my eye on it.

They could also put a live REPL next to the editor and record the interaction with that.
That's really interesting. If there is criteria beyond the solution you produce, they should really list that clearly on the site. If I don't know that and I'm applying, I might be only half-focusing while doing other things and take a long time and maybe not come up with the perfect solution right away.

I think this kind of extra testing could be detrimental because it's going to stress people out. Give a hacker a fun challenge and set him to work, he'll probably do it better and faster than if you set him in an empty room with a big timer and people scowling at him.

Codility has a great test feature. You can load test data and see if the output is what you expect it to be.
I hope the system recognizes C and C++ as two different languages. That would be one hipster feature.
Of course it does !
This looks really cool! A bit of design/copy feedback, none of it terribly urgent of course. Using Chrome 13 on OS X.

- Copy problem on the main challenges page: "Solve challenging programming questions and land -on- your dream job."

- On the challenges page "Solve This" buttons, the text is too high within the button, isn't centered.

- "Are you a great company for hackers?" box on the challenges page has weird stray space at the bottom of the box. Either vertically center the contents of the box or cut off the bottom.

- Typing error in the FAQ: "No worries, the remaining invites automatically get-s- added for the next month." Sort of awkward anyway, maybe "automatically roll over to the next month" is better?

- On my laptop, the live chat tab covers up the "All Rights Reserved" line, which doesn't matter but is a little visually annoying.

- The check marks and X's on the pricing page aren't aligned correctly with the row labels. They're aligned by the bottom of the text to the bottom of the icon, but the icons are bigger so it looks off. You should align the center of the text to the center of the icon.

- "Buy Now" buttons on the pricing page aren't centered correctly within the columns

- This is a small one, but maybe "Recruit" and "Challenges" don't match very well as the two halves of your site. They aren't the same part of speech and don't perfectly convey the two areas. Maybe something like "Get Hired" vs. "Recruit" would more clearly convey the split?

- The "About" page could do with being re-worked in a lot of ways. The spacing is pretty messed up (for example, YC branding has tons of space above, none below), and the paragraph format makes no sense for the information you're conveying. If you want to include companies you've worked for, why not make them a list. Overall, this page doesn't seem to serve any effective purpose beyond being a placeholder for some eventual page. There are also a ton of copy errors:

"At Interviewstreet[Isn't the 'S' capitalized in your brand?], we are looking to change the way the recruitment industry works. We are a team of five hardcore hackers and our Hall of Fame reads as[This is really unclear and awkward language. A Hall of Fame is usually comprised of people, not their accomplishments. If you want to keep it, change "reads as" to "includes," but it might be better to say something like "with experience at companies like"] MediaWiki, GNOME, Firefox, Libreoffice and Hadoop hackers, multiple Google Summer of Code participants, ex-Yahoo!, ex-Amazon and ex-IBM . Having worked in top Silicon Valley firms, we understand what hackers look for in their perfect job and[New sentence here?] with InterviewStreet, we hope to match programmers with the best jobs out there[Needs punctuation]"

and

"We are always online - just hit an e-mail["hit an e-mail" is a strange phrase; maybe it's lingo I don't know or something but I've never heard it. What's the advantage over "send?"] to team@interviewstreet.com (or) call us at 512-800-3815,[New sentence?] we will get back to you! save[Capitalize] the precious time of your employees[Maybe "Save your employees' precious time" is better, but I'm not sure what you even mean by this, or why it's here.] :-) Hiring is fun from now on!"

- "Contact Us" page is also a little weird. If I'm in "Challenges" and click on the link in the footer, it takes me to the "Recruit" tab for some reason. The spacing is strange: there's a ton of vertical space in between "Recruit" and "Contact Us," but the fields and field labels and submit button are all jammed together. My eye loses track of which field labels apply to which fields unless I start at the top and move down.

Wow! Thanks a ton :) Fixing all of them. Please check up the site in 20-30 mins, everything would be up
Button text is still broken for Windows Chrome 13.0.782.107
What? No Lisp option?
The question would be, which LISP? We have too many to choose from :)

Clojure, however, is coming soon.

> which LISP?

Arc. Obviously. :-)

I submitted the same Java code 3 times. Compiled ok only on the third time since I poked around a bit and found I have to call my class "Solution" in order to pass compilation! The guy in the live chat said he'll change my # of submissions to 1 instead of 3, since the challenge didn't say that the class be called "Solution". Hasn't done so yet. My score is 52.5 when it should really be 57.5. Hopefully they fix that. Am on to my next challenge.
Interesting, but as a (potential) candidate I wouldn't be very happy if each company had its own coding challenge, since it would make getting a job much more time consuming than it already is.
Might want to tell your co-founder that pictures of hot chicks on his blog might not give the most professional impression:

http://sp2hari.com/

Code is sexy :)

Edit: No offense intended.

Disagree.

Oh, and, by the way, if you think that it's unprofessional to be funny, then I'm sorry, but you just don't have a sense of humor. (Don't deny it. People without senses of humors always deny it. You can't fool me.) And if you work in a company where people will respect you less because your specs are breezy, funny, and enjoyable to read, then go find another company to work for, because life is just too damn short to spend your daylight hours in such a stern and miserable place.

http://www.joelonsoftware.com/articles/fog0000000033.html

Oh purleez. There's only one, and it's in context.
Competitor Codility (funded by Seedcamp) who launched a couple of years ago was discussed quite extensively at the time:

http://news.ycombinator.com/item?id=1039140

I had great fun doing the codility tests. Their site is great, allowing you to do the tests in the language of your choice.
Neither of these sites allows you to do the tests in the language of your choice =/
From their demo test:

Your test consists of 1 programming problem to be solved in Java, C++, C#, C, Javascript, Pascal, Perl, PHP, Python, Ruby or VB.NET,

That's correct. On both of these sites, I may use C, C++, C#, Java, Python, PHP, Ruby, or Perl. On Interviewstreet I may also use Haskell. On Codility I may also use Javascript, Pascal, or VB.NET. "The language of your choice" would probably include Algol-68, Lua, more than zero Lisps, D, and Brainfuck.
(comment deleted)
There's also an interesting tool that's open source in case you don't want to pay for Interview Street called WebCat used by some universities to run automated test cases. Not all software can be automatically tested (and in the case of WebCat, I think there are only plugins for C++ and Java at the moment).

http://web-cat.cs.vt.edu/

The only thing a site like this can "streamline" is the weeding out of the truly incompetent people, pretending to be programmers. But I'd argue that it's not a very hard task anyway. So, while solving the challenges will be fun for the applicants, it doesn't seem like the service would be of much help to the companies.
Weeding out the truly incompetent people may not be hard but it's time consuming nonetheless. A phone screening may take anywhere from 30 to 60 minutes of the interviewer's time, regardless of the interviewee's competence. Multiply this with the number of candidate a company has to wade through for a single opening and it gets significant real soon.

They're probably not the new LinkedIn but I think they're into something.

In case people didn't know this, this is based all out of India. And we have Yuvi Panda (HN:yuvipanda), one of the younger hackers around here, joining them. Can't wait to see how they do.
We just moved to valley :)
Nice. We should meet up :)

Also, another tidbit for folks here - Yuvi is following the startup lifestyle by taking a break from college and joining this startup. Which is a big, big deal in India. I'm very impressed

It's a big decision for anyone to make, in my opinion.
A feature suggestion from me: - Allow the recruiter to decide what he's looking for in the code. e.g. Complexity / Efficiency / Clean maintainable code / OO Principles, etc.

The biggest problem I have with job interview style 'coding puzzles' - is that the code that is optimum to solving the solution is actually not code I would want to write day to day and wouldn't be code I would want to work with day to day.

The reason is because in my line of work, we are working with good clean, maintainable code, using good OO principles. This includes naming of variables, naming of functions and accounting for extendibility and maintainability from the ground up.

However, most of these coding puzzles, will be looking for people to write the 'simplest' / 'most elegant' solution to the problem, often leaning towards efficiency or using the least number of lines / characters.

For example, the variables will be 'x', 'y', 'a', 'b', everything will be manipulated through integer 'index' and complex reg exp's may often feature as short cuts to longer code.

- Now there's nothing wrong with the solution this produces. However, overall coding style I prefer is maintainable and easily readable. Variable names have meaning, we work with concrete objects and each piece of complexity is broken into separate functions / classes.

Neither solution is wrong, but the approach to either is completely different and for a interviewee it's often hard to know which path I should be treading when writing the sample code.

On the one hand, the interviewer may think I lack any forethought of maintainability / readability, if I just hack together something quickly using single character variables.

On the other hand, the interviewer may think I'm adding too much bloat / taking too long by using full naming and creating my objects to handle what I want to achieve.

Maybe it's just me, but when I look for great programmers, their ability to solve coding challenges is really the least of my problems.

In my experience, the ability to leverage those skills into delivering mature, stable, maintainable and generally high quality software is considerably rarer than the skill to solve puzzles. And don't even get me started on non-technical skills, like being able to organize and plan the work, communicate with non-technical people etcetera.

Basically, I don't see this kind of testing covering more than 5% of the screening effort.

You're not the only one. The more experience I get developing software with other people, the more I value stuff that isn't really captured by coding interviews:

  * do you thoroughly document your code without nagging?
  * do you value simplicity over cleverness?
  * do you think communication is a chore?
  * do you enjoy human interaction?
  * do you have empathy?
  * are you creative?
  * do you have good taste?
Googrosoft-style interviews are great for selecting people with raw intelligence, a competitive streak and some level of arrogance. They're not quite as hot at selecting reasonably smart people who are personable, creative and tasteful. And that's a huge portion of the job when you're writing software in a group. Very little day-to-day software work requires raw brilliance, but nearly all of it requires communication, empathy, creativity and taste.
Well stated man totally well stated.
And how do you test for all of these things that you listed during an interview? I've been in charge of technical interviews for a large corporation for a year and a half, and there have been many truly shitty developers who couldn't solve even simple programming problems, but they knew how to bullshit, and they would totally ace your questions.
"I've been in charge of technical interviews for a large corporation for a year and a half, and there have been many truly shitty developers who couldn't solve even simple programming problems, but they knew how to bullshit, and they would totally ace your questions."

Well, first, it's not like I just ask someone if they enjoy documenting code, and expect them not to lie. That would be stupid. It's much easier to just ask coding questions than to figure out if someone is creative. That's why the problem is hard.

Second, how do you focus on the other important factors, and still manage to test for coding ability? You ask coding questions -- you just don't devote the entire interview process to them.

A computer program automatically torturing applicants with endless puzzle tests is not a way to find talented qualified people with experience delivering working results that delight the user. It's a good way to find people that have a lot of free time to play games because they are unemployed.

In the years following my first job out of school (decades ago) I can't recall any work that I have gotten by going to these sites, or dealing with monkey tests. Work comes because of my reputation and experience which speaks for itself. At conferences people give me their card and tell me to call them if I am looking to 'move up', which generally means "pay more than the last guy". Any time one contract or job ends, I look through these cards. Most of the time I get several phone calls from people I have met of the sort: "Hey Bugsy, I heard rumors of ABC Corp having layoffs. You looking to get out? We have a position..."

It's bad enough when the interviewer wastes more than 10 minutes of time with puzzles. Having it be automated so it can waste hours and hours without any human feedback is extremely offensive. Whoever designed this system knows nothing about acquiring talent.

The note in the article that in the future the site is going to be augmented with "real world tests" that force the user to design entire sites or otherwise labor for free borders on criminal since they are forcing you to do real work and you're not getting paid for it, in violation of state and federal labor laws.

If you haven't already seen examples of someone's work before you contact them, maybe you shouldn't be hiring them. Or maybe you need recruiters who know what they are doing.

Again, I have no doubt that desperate people who are unemployed because of their incompetence or lack of skill will not have any problem devoting the hours needed to google answers, or to hire third parties to help them complete these tests. I am sure complementary businesses will now open up that sell test answers to desperate applicants for a fee.

Not every developer has a brand. This service appears to target companies hiring developers that don't. Fortunately that is 99.99% of the market.
I think OPs complaint is that the service purports to find "great" programmers where they really mean "adequately competent to perform most tasks and able to learn". Another case of marketing speak annoying the nerds.
I dont think so. He said it would provide puzzles to annoy people and be solved by the time rich. No "great" programmers involved...
Programmers in the category "adequately competent" tend to self-identify as "great", so it is at least a consistent use of language.

And is it any wonder? Threads like this are filled with comments saying things like "80% of programmers can't code their way out of a paper bag", so is it any wonder that the folks who can program adequately get big heads about it?

No wonder at all, although tech is far from the only field with big heads.
I don't think there are any comments saying things like that :)
You may have misunderstood my comment. It's not about having a brand. It's about having a professional reputation. Professionals who are of the "excellent" caliber that this service purports to represent usually develop a professional reputation naturally without even trying.

This happens even if one is fairly isolated doing "heads down coding" for much of the year. There are times when you meet with clients in meetings, or talk to customers, and talk to competitors at industry conferences, standards meetings and the like.

People who are competent recognize other people who are also competent just by talking to them. People either know what you are talking about and can respond intelligently, or they don't. When people don't know what you are talking about, you downgrade the conversation and talk about gardening, the weather, sports. This is just normal everyday human interaction. It's strange reading some of the replies here, it sounds like some of the people on this discussion board don't know about how that is done. They seem to not have face to face interactions with other people in their field.

In the cases where you connect with someone who is likewise competent, you both remember the encounter. You trade business cards. And if you have an opening at your job for the sort of work the person does, when the position is mentioned, you pull out his card and say "What about this guy? I met him at the XYZ conference. He invented the ABC protocol that is used in GHI devices, just like the thing we are looking to get into."

Connections made don't have to be with management. Typically it is another engineer, a peer relationship. If you know what you are doing, then you get recommended when there is an opening. That is how most jobs at good companies get filled. It's not "nepotism" as someone below claims (apparently he is lacking a dictionary.) I have never worked for a relative. If I do in the future, they will have tried to hired me not because I am related, but because I am the best. And should that happen I would turn them down since I wouldn't want to mix up family relationships with work, that can be a disaster. In any case, if you are good, even the most reclusive and introverted developer/designer/inventor is going to have some people he talks to. And if he is good some of those people are going to talk to others about his work. If that is not happening for someone, the likely reason is they are not all that great. There is no shame in being incompetent nowadays, but the article under discussion is about hiring "excellent" people, not incompetent ones, so it is relevant for the specific topic at hand.

I strongly, strongly agree with everything you're saying and second it wholeheartedly, but I want to add that there is a class of people in our field that can talk brilliantly about what they've worked on, who have resumes with key roles on shipping products on them, and who will absolutely flatline if called upon to code. There is a logic to some level of programming quiz. You really want to verify that the person you're hiring is capable of sitting down, focusing on a problem, and turning out some reasonable facsimile of good code.

That said: this site clearly doesn't look like the right way to do it.

Here's our hiring process (we're hiring!):

http://www.matasano.com/careers/

I think we're extraordinarily careful to be respectful of people's time. We've learned through difficult experience to put practical problems in front of candidates, but to avoid Aspie-type alpha-geekery in those problems, and to be appreciative of the time people give us to go through those problems.

Running the puzzle gauntlet doesn't sound respectful to me. There are great programmers who get off on solving puzzles and this process may not weed them out, but there are lots of other great devs who will walk if they see something like this. Caveat emptor.

+1 to both. Like you've put up on your careers page about candidates doing a web-app challenge, we're going to launch real-world challenges pretty soon!
Thomas, this is really an excellent page (and a sharp design). Describing up front what the process is definitely respectful of the candidates time!

We've found some success by trying to make the problems really interesting; perhaps some people jettisoned but others came back and said they had a really great time trying to solve them.

Maybe for software you could ask a question like: describe a little piece of software you'd like to build, you could build in an evening and would be useful/entertaining for you or someone else. describe how you'd do it.

and then...

show us, one week from now. :-)

There's also the opposite.. there are a huge number of programmers who are great at what they do, but asked to be social, come off as awkward and incompetent. Unfortunately it is these talented individuals who often get passed over because they aren't good at "networking", as the grandparent suggests should simply come "naturally." Unfortunately he doesn't seem to understand that something that comes naturally for some--talking to other people--is difficult and hellish for others. And it doesn't mean they wouldn't be a good choice for the job. The world is heavily biased towards people who know how to "network," and maybe this company is trying to expose individuals who don't, but happen to be really good problem solvers.
> he doesn't seem to understand that something that comes naturally for some

I think that is an excuse. Speaking as the person you are claiming doesn't understand, I am highly introverted and awkward. I hate interacting with people in public, it is exhausting. I throw up after having to do public speaking. Yet, I do talk enthusiastically about my work and the field with other people, and I have learned over the years, as introverts do, to be sociable, just as I have learned over the years how to write compilers, design microchips, do web design, etc. (Little of which was covered in depth at all in the university classes I took at a pretty good engineering school.)

The vast majority of candidates I've personally rejected did manage to sound like they knew what they were talking about … until I asked for simple pseudocode. Most every coworker who's done interviewing has said the same, as have many commenters here. It's just too easy to talk a good game, so I can't see a basis for recommending anyone I haven't actually worked with.

> They seem to not have face to face interactions with other people in their field.

That has very much been my experience, and the whole meeting-strangers-at-trade-shows thing seems similarly atypical to me. I've never known anyone who does that who wasn't dedicated to sales or marketing or biz dev full-time. I've been looped into maybe a dozen phone conferences and three in-person meetings with customers and partners in the last four years, and there's one guy (from our first API integration) who I could reasonably expect remembers my name without a CRM search. Dunbar's number doesn't leave room for very many of the semi-celebrities you're describing, and they're all going to be extroverts anyway, so I just get recruited by former coworkers (and the obligatory headhunters).

All of the companies I have applied to have asked that I spend several hours solving programming problems before giving me an offer. And why shouldn't they? My experience as an interviewer has been that such great things as "decades of industry experience designing and implementing very complex systems", or a Ph.D, or a 4.0 GPA from a top school are only very loosely correlated with whether or not a candidate can code his way out of a paper bag. As such, it is reasonable to think that there is a profit to be made filtering out the >80% of candidates who cannot code their way out of paper bags.

I've never been particularly desperate or unemployed (though I did not have a job while I was in university), and I think that the few minutes necessary to solve any of these problems is a reasonable use of time if it can signal a potential employer that you are more likely to be competent than a huge majority of their applicants. You are correct to say that nepotism is a better way of getting places, but I don't think it is reasonable to expect everyone to do it.

How is it possible that someone with "decades of industry experience designing and implementing very complex systems" can't code their way out of a paper bag?

Also, if > 80% of the programmers can't code, who the hack has been employing them all these years?

I don't know how people manage to get "decades of industry experience designing and implementing very complex systems" without being able to program. I have only run into a couple such people, but I suspect that is because we get very few applicants with that kind of employment history.

I don't think >80% of programmers can't code. I think that programmers who can't code are much more likely to be applying for jobs than programmers who can code, which makes the pool of applicants look much worse than the pool of all programmers would look.

The 80% who can't code are hired by companies that don't test their skills, and there are lots of companies like that. Then they realize how much they suck, and lay them off whenever they get a chance. Most of these "bad" programmers write crappy (often insane) code that then good programmers have to deal with. Many of them delegate. I've even seen one guy outsource his work.

Most of the programmers looking for a job suck. If you're truly good and have a reputation, you don't need to interview (unless you want to work for a very specific niche where you don't have connections).

If you haven't already seen examples of someone's work before you contact them, maybe you shouldn't be hiring them.

Because obviously all great programmers are expected to have built their online cred before applying for a job, right? I'm sure candidates with background in, say, HFT love sharing their work on their blog, or enjoy hacking on their pet projects after toiling away at their 60+ hour work weeks.

Generally there are contractual obligations precluding sharing work. No need to risk a lawsuit
I could not agree more. I think initial product was developed with focus on Indian IT market where filtering right candidates is big pain. Hereafter whatever I am saying applies to India. In India For 10 jobs you might get 1000-2000 applications, and you can not interview them all, scanning all those CVs is just impossible. This kind of system can work when you are dealing with large number of raw talent. But then chances are majority of candidates are just good for solving puzzles as they prepare months and months just solving sample puzzles. Plus so many exploitable loopholes as you suggested. Regarding complementary businesses, that's already there. As matter of fact there are large number of institutes to help anyone to crack each and every aspect of IT job interview. End results, I often meet people with 5-10 years of experience who can not write a functional block of code without ctrl-c+v which makes me feel sad.
There are some people who do these kinds of problems for fun. As a recruiter, I know plenty of companies who would be interested in interviewing people like that, and this is one way to reach those people.
Absolutely! It's totally insulting to be asked to do busy-work just to prove your worthiness before even being interviewed.

A month or so ago I met some people from a company at a networking event. They were looking for people with my kind of skill set and seemed quite enthusiastic. I made it clear that I was only interested in freelancing but he said they were out to "get the best, whatever it takes, so freelancing is fine". So the guy I'm speaking to gives me his card and I email a few days later.

I get an email back, not from him but from HR so not a good start! And the email basically says "build us this trivial demo application just to prove you can program before we interview you" and to make it even more insulting links to tutorials in case I don't know what I'm doing.

I couldn't think of anything nice to say so I never replied :)

Yes, exactly so. And the company's HR department will interpret the lack of response as: "The screening worked, yet another incompetent guy never replied since obviously the only reason someone wouldn't beg and do tricks is because they are dumb! Wow we are really saving a lot of time with this screening!" What they fail to realize is that the "beg and do tricks" method screens out those of us who are competent.
Any ideas about how the scoring mechanism works on the site?
I have so much open source to demonstrate my ability, I promise you I'll never use this site or complete any code exercise for an interview. If you don't want to look at my github profile, fine, I don't want to work at your company

I also happen to hire and if the candidate does not have an open source project I give them a meaningful challenge (add value to the community) and tell them to create a github acct and share a link to the repo. At least by the end of the process they have something to walk away with

You are insulted by the idea of programming puzzles in an interview situation. That's fair enough by me. But then you go on to say this:

> I also happen to hire and if the candidate does not have an open source project I give them a meaningful challenge (add value to the community) and tell them to create a github acct and share a link to the repo. At least by the end of the process they have something to walk away with

Could you be any more silly and condescending? Right back at you: Unless your nickname is a literal and accurate description of your programming abilities, I will take a bet of dollars to donuts that every programmer in my office has more raw coding acumen than you. But guess what? None of them has a GitHub account and that is unlikely to change. Neither do most of the other top-tier programmers I know. One of my coworkers has put out numerous public domain libraries (http://nothings.org), most of them developed on RAD's dime, but he'd probably be appalled to be considered a member of your "community".

I actually have an old, effectively defunct GitHub account that I continue paying $8/month for because I like what those guys are doing. The problem isn't GitHub. GitHub is great. The problem is you, and people like you.

Don't be a GitHub Douche.

First off, I don't understand where your rage is coming from. My point is that if you contribute to open source then your coding ability is clearly demonstrated in those projects. I'd rather spend my mental powers on coding something that others could use afterwards then a stupid code challenge that will just be rm -rf after the interviewer reviews it.

None of them has a GitHub account and that is unlikely to change

I'm surprised your so proud that your team will never have a free account on the largest repository of open source. Regardless if you contribute, why wouldn't you take advantage of FOSS instead of re-creating the wheel.

I will take a bet of dollars to donuts that every programmer in my office has more raw coding acumen than you

Thats a rather baseless statement. What would you know about my ability to code or not to code. On the other hand, your team's apparent anti-open-source position (based on above comment) seems to indicate they are not as awesome as you describe.

The problem is you, and people like you

You mean people that are passionate enough about programming to voluntarily write code on evenings and weekend and share it for the broader community of developers for the sole purpose of being proud of something you create and sharing it so others can benefit? I'd be happy if there were more problems like me

dont be a github douce

Honestly I don't care if you use github, bitbucket, codeplex, or your blog

You think I'm enraged? I'm sitting here chuckling and shaking my head in bemusement at you.

> I'm surprised your so proud that your team will never have a free account on the largest repository of open source.

I'm not proud of it. When I say it's unlikely to change, I'm making a considered prediction. Don't confuse 'is' and ought'.

> Thats a rather baseless statement. What would you know about my ability to code or not to code.

It's not baseless. It's Bayesian statistics. They are enough sigmas above the mean that I feel comfortable making that bet. If you were to reveal your identity and it turned out you were, say, Guido van Rossom, I might lose the bet and have to update my prior.

> You mean people that are passionate enough about programming to voluntarily write code on evenings and weekend and share it for the broader community of developers

Nah, I mean people who assume anyone who isn't exactly like them must be a second-rate human being or at least a second-rate member of their profession. This is the same personality flaw that turns enthusiastic, inveterate puzzle solvers into the kind of puzzle-mad interviewers you seem to hate with a vengeance. Isn't it nice to find out you have something in common?

Looks cool, maybe i'll go solve a few of these.

Please log in with google.

Never mind.