
Interview Street (YC S11) streamlines the search for great programmers - canistr
http://techcrunch.com/2011/08/06/yc-funded-interview-street-streamlines-the-search-for-great-programmers/
======
bugsy
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.

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

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

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

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

~~~
bugsy
> 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.)

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

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

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

~~~
rvivek
Yes, thanks swanson

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

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

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

~~~
timr
_"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.

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

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

------
micrypt
“Programmers should not be puzzle-minded… We would be much better served by
clean, systematic minds, with a sense of elegance.” - Edsger W. Dijkstra

([http://portal.acm.org/ft_gateway.cfm?id=1787249&type=htm](http://portal.acm.org/ft_gateway.cfm?id=1787249&type=htm))

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

~~~
keeptrying
This helps for campus placements where you can't Realky get others to code for
you.

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

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

~~~
almightygod
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

~~~
psykotic
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?

------
sakopov
This is a perfect example of cargo cult thinking. Just because you're a tech
start-up doesn't automatically put you on the same level with Google and
Microsoft. Both of those companies have products which require a team of
developers with understanding of computational complexities of algorithms,
data structures and etc (think of Windows, Visual Studio IDE, Google
Chrome/OS, Bing/Google search engines). I'm yet to find out how this applies
to your featured list of companies such as Disqus, DropBox or Weebly and i am
more than 100% sure that it doesn't.

~~~
palish
Working at Dropbox would almost certainly require "advanced knowledge of
computational complexities of algorithms, data structures and etc".

~~~
sakopov
I hope you didn't mean scalability when you wrote that.

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

~~~
rvivek
We just moved to valley :)

~~~
sriramk
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

~~~
Skywing
It's a big decision for anyone to make, in my opinion.

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

~~~
suren
Done now!

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

------
pnathan
I looked at the demo site.

I _know_ there are domains which call for Project Euler solutions.

Really. I do.

But I only run into "CS" problems about once a month right now. The rest of it
is code cranking, talking with people, and working on deadlines.

I'm not saying that this is drek in the stream. It's not. It's just... not
even close to a demonstration of what I can do for the company I work for.

Yes, I could work out these solutions. But (these days) I'd rather work on
writing software rather than developing one-off algorithms.

(And of _course_ this sort of thing tempts me to submit in Haskell or Lisp,
because hey, more mathematical notation. And you probably don't want to read
>>= or ))))), do you? ;-) )

I'd rather share my open-source code (it's on github and bitbucket!), talk
about my prior projects, and present my ability to work with other human
beings to get the task at hand done.

Yet- all that said - Best of luck, Interview Street. Anything that helps
people connect with jobs they are suited for is a good thing in my book.

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

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

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

~~~
niels
I had great fun doing the codility tests. Their site is great, allowing you to
do the tests in the language of your choice.

~~~
anonymoushn
Neither of these sites allows you to do the tests in the language of your
choice =/

~~~
mtogo
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,_

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

~~~
federicof
and on Coderloop you can also use Fortran, Erlang, Objective-C, Lua,
Javascript, Scala, OCaml, Clojure and Common-Lisp :)

<http://www.coderloop.com/home/guidelines>

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

------
Maro
How is this different from Codility?

------
jeremylichtman
Nuts. On challenge #1 my code passed 14/15 of their test cases, and failed on
the final one. Only, I don't get sufficient feedback to determine where the
bug is.

Ok - I only spent 15 minutes on this, and I'm not particularly interested in
finding a job with any of the companies that are listed. Still annoying
though.

------
Eliezer
Another potentially good idea trying to solve an open problem with lots of
room for improvement...

...ruined by the ever-spreading concept that everything should be solved using
web apps. I mean, heaven forbid that they actually have a physical center with
employees testing people.

~~~
mattdeboard
Who the hell would go to that? The internet exists, therefore use it to make
"physical testing centers for hackers" totally irrelevant.

~~~
Eliezer
By this logic, companies should never interview in person.

------
bdr
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)

~~~
rvivek
Checking it up right away.

------
cHalgan
What kind of companies require this kind of service to screen the engineers?
Maybe when hiring via odesk? Hiring remotely for short coding gigs?

I'm genuinely interested since I'm not sure if startups or big corporations
will use something like this.

------
ikarous
For the sake of comparison, there is a site with a similar aim that was
mentioned here earlier. <http://www.codeeval.com/>

~~~
baltcode
Also, there is <http://www.coderloop.com/>

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

 _Please log in with google._

Never mind.

------
jasonjei
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/>

------
robot
I hope the system recognizes C and C++ as two different languages. That would
be one hipster feature.

~~~
suren
Of course it does !

------
coolsteve
If I may add my 2 cents - the design interface of this site is all over the
place ... honestly it's such an eyesore seeing they can't even make the footer
stick to the bottom of the page. Then there is the Terms of Service page --
such an embarrassment!

------
quizbiz
The unemployed should be spending every minute trying to learn programming.

I'm surprised we haven't seen any sort of public awareness campaign geared
towards learning computer science. Only recently is it starting to be "cool"
and equivalent to lawyers/doctors.

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

~~~
rvivek
Wow! Thanks a ton :) Fixing all of them. Please check up the site in 20-30
mins, everything would be up

~~~
dlss
Button text is still broken for Windows Chrome 13.0.782.107

------
dadads
I thought that this was a cool service, but then I opened the Pricing page and
I went "Holy Shit"!

------
alexandros
What's there to stop blogs with problem solutions or how-to's from popping up?

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

------
thurn
Support for solving programming challenges in Bash? Killer feature!

------
dbieber
Any ideas about how the scoring mechanism works on the site?

------
pizzamagic
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/>

~~~
mbesto
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>

------
lisper
What? No Lisp option?

~~~
yuvipanda
The question would be, which LISP? We have too many to choose from :)

Clojure, however, is coming soon.

~~~
lisper
> which LISP?

Arc. Obviously. :-)

------
zackattack
Have you ever met an elite programmer who was not an alpha male or alpha
female. I would simply test for signs of dominance.

Edit: downvoted. Two possibilities spring to mind:

1) Downvoted by a feeble mind not capable of constructing an intelligent
retort.

2) Downvoted by a relatively strong, yet ultimately scarce mind that wants to
prevent access to the truth.

------
NY_Entrepreneur
The writing for the statements of the three problems has some severe errors at
the level of eighth grade English and Algebra I. No one very good at solving
those problems should spend their time on problems so poorly written.

E.g., for the first, really serious, substantive error, in the first problem,
the largest possible size or absolute value of each of the "N numbers" was not
specified. Without any such specification, it is not possible to write solid
code to solve the problem.

The problems look like rotten bait on rusty hooks. I'm not biting.

The third problem does have some cute contact with convexity that can be
exploited to give a relatively fast algorithm.

Will I write out the code? I will not! The problems suggest that writing the
code is the main challenge, that if I could write the code then I would, and
if I don't write the code then I can't and am shown to be unable and should be
embarrassed. This suggestion is nonsense and an incompetent insult, and I'm
not falling for that insult.

My work in computing and computer science has passed reviews with competence
far, far, FAR above that of what the problems show for Interview Street. Net,
Interview Street is promising that its really bad house painters are the ones
to pick someone to paint the ceiling of the Sistine Chapel which is insulting
nonsense.

Besides, more important than the code would be the documentation that
explained why the code is correct, but the problems are not seeking such
explanations. So, the problems are a bad example of how to work in computing
and a 'bummer'.

Today I'm writing code to get a use of Windows Communications Foundation (WCF)
working for the asynchronous 'remote procedure call' communications I need for
the server farm for the Web site for my project.

Yes, the third problem has some math, but my startup has at its core much more
math, much more advanced, powerful, and valuable, and some nicely original.
Besides, I have all such math for my startup in code ready for production so
that at this point I just need to get code using WCF to connect together the
asynchronous parts of my server farm and write a few more, simple Web pages to
have code ready to go live. That is, WCF will so help me go live assuming,
still open to question, that WCF is the 'right stuff' for my project; else
I'll just write a TCP/IP sockets application. So, I have no time for puzzles
with convexity with no business connection.

Besides, who at Interview Street would actually understand the convexity
exploitation? From the writing of the math in the questions, likely no one
would! That is, people who write math as badly as in the problem statements
have little chance of understanding the convexity math of the third problem.
That is, the writing of the math indicates solidly that the writers know far
too little math to understand the role of convexity in the third problem.

Instead, it looks like Interview Street got the third problem from a textbook
on, maybe, facility location and, then, made a mess of copying over the
problem.

So, the third problem is in facility location: Maybe I should call up one of
my old facility location profs, J. Cohon, now President at CMU, or just get
out my class notes! Or, with convexity, maybe I should get out my old notes on
optimization. Besides, what employer would appreciate the role of convexity?
Likely none.

So, writing the code is a fool's errand. Life is awash in fools' errands to be
avoided.

No, to solve the third problem well, the main issue is actually not writing
the code but exploiting the convexity; that I have noted this is likely a
better 'solution' than most of what will be submitted.

Indeed, any good solution will have to address the math of the convexity
carefully and otherwise be just a lot of gibberish with no reason to believe
in its value. Net, the third problem is not in computer science but in applied
math; once again, computing, out'a gas, is looking to applied math for
'content' and is making a mess.

My background is in applied math, especially for business problems. Given the
math, the computing is routine! The coding ain't the main challenge, guys!

Interview Street is illustrating a serious, fundamental problem with current
computing: It doesn't know the difference between applied math and software.
In particular, a good solution should not be in C, etc. but in TeX and is not
'code' but theorems and proof. Sorry 'bout that!

~~~
lutorm
Dude, you need to get off your high horse. What you are saying might be true,
but you offered no better way of sorting through 1000 candidates. Besides,
making applicants solve problems does _not_ imply that writing code is the
_main_ skill, it only implies that it is a _required_ skill. (Given all your
math talk I wouldn't expect you to make that fallacy.) If the object is to
sort out scores of unqualified applicants, then any simple criterion that
weeds out a significant fraction is useful. Unless you can make a convincing
argument that the tests will _decrease_ the fraction of qualified applicants,
your post just smacks of arrogance and entitlement.

~~~
NY_Entrepreneur
You are jumping to misunderstand:

I didn't say that your "making applicants solve problems" was bad, just that
the problems, especially the third, in this thread are bad.

"Unless you can make a convincing argument that the tests will decrease the
fraction of qualified applicants, your post just smacks of arrogance and
entitlement."

I believe that others on this thread have made such an argument. Again, I'm
considering just the three problems on just this thread.

For how to sort through "1000 candidates", I do have an improvement: Don't use
the test of this thread!

So, that takes us back to what we had last week.

You want to move forward from there? For that, I'm lost; I don't see the
severe problem. I've been in computing for a long time and have interviewed
and been interviewed, done projects and supervised projects. Once I had made
some progress in my career, I never thought that recruiting or interviewing
was very difficult.

Here is a way to improve the situation: Return to the early days of Java, when
it first came out. Then the job ads were awash in requests for persons with
"two years of Java experience". So, why not just call up Gosling since he was
the only one who was qualified! That example is from a very general pattern:
Pick some highly specific, improbable combination of 'skills' and demand that
an employee have all those 'skills'. Nonsense. So, the first step forward is
to quit recruiting for specific 'skills'. Just STOP it. Don't do it anymore.
Drop it. Give it up.

Next, mostly what recruit for is general technical talent. A BS, MS, or more
in math, physics, or computer science (in that order!) from a good university
should do fine. If there is more evidence that the person is 'bright', then
fine.

Next, recruit for some basic computer 'skills'. We're talking declare and
allocate variables, assignment statements, if-then-else, do-while, and call-
return. How difficult is that?

Next, recruit for interest in the work.

Next, recruit for general presentation of self.

Then, hired, expect that the person will get 'trained' on the job. The person
will need a few months to become useful to the organization. The training can
be self-taught, mentoring, routine supervising, some video materials, some
presentations within the group, some training programs, maybe even with tests
and grades, etc.

I've seen plenty of just routinely well qualified people dive into a new
computer with a new operating system with new hardware devices with new
programming languages, etc. and do just fine. E.g., when I was Chair of a
college computing committee, I led an effort to get some new computing for the
college. When it arrived, the existing staff jumped right in. One project was
an application to contact, track, send mail, and get responses back from
alumni. The guys just did it! Soon the college was sending boxes of mail daily
to alumni. The software project quickly, uh, 'paid for itself'! Soon the
university took over the project, rewrote it from just the high level
description, and rolled it out to all the colleges on campus. Likely it again
'paid for itself'!

Where's the really big problem?

The main guy who did the alumni system? He worked for the college, but he
didn't have a college degree and had had no courses in computer science. Not a
problem.

I'm in the Mid Hudson Valley and hope to hire. I will be able to pick from
people from community colleges, four year colleges, various development labs,
and, of course, maybe Yorktown Heights. I don't see a problem.

If you see a problem, make sure you are not looking in a mirror.

