Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: CodePair - etherpad + codechecker + analytics for interviews (interviewstreet.com)
82 points by rvivek on Nov 20, 2013 | hide | past | favorite | 51 comments


For the nay-sayers out there: You have clearly not been anywhere near the hiring funnel of a tech company. The sheer number of people with impressive academic credentials, even with industry experience, that can't code a for-loop and reason about it is staggering. Anything that facilitates actual, hands-on coding early in the process and on an actual computer (as opposed to whiteboards or paper) is a very welcome addition.


> The sheer number of people with impressive academic credentials, even with industry experience, that can't code a for-loop and reason about it is staggering.

I read this a lot on HN, and I've been doing a lot of hiring. Still, not only I've never encountered this case, but I have a lot of trouble imagining how one could get "impressive academic credentials" in CS without being able to write simple algorithms. Not that I don't trust you, but this is honestly beyond me.

Or maybe people lie more often than I expected on their resumes.


I'm in India, still a student, and I can only speak for the situation in my university, but in my class, a 80%+ student once asked me how to disable the antivirus. Another 80%+ student thinks cryptography and email spoofing are the same thing. This is from last year CS graduates in one of the better private colleges in the state.

A student in IT uses google to search for google, then uses that to search for facebook. Another good student couldn't write a "separate the digits in a number" program. Another top student couldn't write a "selection sort and then select alternate elements" program. The top nerds use drag and drop programming. A friend who runs an IT outsourcing company told me about all the candidates with fake experience certificates who can't code a Hello World program.

All these people have impressive academic records - Good GPA, graduation from a reputed university, research papers, internships.

That's not to say everyone's like that, I've seen great programmers too in my college, but the majority of people I've come across fall in that category.


I've had coding interviews via phone/Skype + browser since I started applying a couple of years ago. I'm not sure why anyone would be depressed.

It seems like a lot of posters here just don't like being interviewed on any terms except their own. It's a very snooty position to take, but I suppose there's enough room for those types of people as well.

I prefer this over some companies who (seriously) have a great phone-only interview with me, only to reject me after looking at my GitHub. I also don't blame them for not dropping a lot of money to fly me out to meet them when they wouldn't even know if I'm qualified or not. This is a pretty good medium, I think. This is only second to my preference for being given a project and a few days to do it, but I wouldn't fault a company for whatever method they chose, unless it was downright asinine.


This is really cool! A few things though:

* You probably have your reasons, but requiring an email to simply test it out is too much IMO. I don't want to go through the email invitation dance, I don't want spam in the future, and I don't want to wait; so, I practically always refuse.

* In general, the ratio of marketing info to specifics is too high; in other words, more details would be nice, such as: I see it supports 16 languages; ok, great! So, what are they...? (mind you, I wouldn't be asking if there was a public demo)


I'd also have to add the URLs are too long. With Collabedit I'm often telling the candidate the URL over the phone. The unique IDs for a Codepair page are just too much to read over the phone.


Could you check now? You don't need an e-mail to use.


Perfect! Thank you, I'll actually go and kick the tires now :)


One anectdote, for whateever it's worth - Our company adopted online code testing, in which the screening interviewer (as opposed to the entire interview team) tossed out sample coding questions, and had the candidate write code real-time with feedback from the interviewer - it COMPLETELY revolutionized the quality of candidates that started coming in for in-person interviews, and increased the percentage of candidates interviewed in person being hired from around 20-30% up to 70-80%.

The single greatest advantage of "pre-testing" candidates is that the amount of time engineers had to spend interviewing candidates was reduced dramatically. A secondary advantage for the candidates, is that they didn't have to waste their time coming in for interviews for jobs that they were really not qualified for - win all around.

I don't understand how anyone can't see that it would be useful to determine whether a developer can code prior to coming into an interview.

All of the top engineering managers (by that, I mean the ones who are really effective at hiring and retaining great engineers) have always told me, that part of the interview for a developer who is expected to code, is that they should demonstrate their ability to code, during the interview.

I'm not sure why being asked to demonstrated this ability online is considered an issue.


I had an opposite experience - years ago, I drove 8 hours for an interview. Got there, was asked some basic perfunctory stuff that could have been done over the phone (they knew I lived in a different state). I'd brought a printed portfolio (laptops weren't too common, wasn't sure if I would have wifi access, etc). I had printed code samples ready to discuss, and offered them, but was told "no, that wouldn't be fair to the other candidates who can't bring example code".

I was slightly flabbergasted to say the least. That said, I was offered a job (after a second 8 hour drive to meet the owner the following week), and I took it, and it was a pretty darn good gig for the first year. But... "not fair to the others" is just odd reasoning.

Like you, I think understanding if someone can do at least basic programming ('basic' relative to the skill level you're hiring for) should be a non-issue. How it's done - automated tests, screen sharing, etc - may be up for debate.


This is true and a lot of people relate to automated testing as something to ask about hard competitive style programming challenges. It can be fun too. Eg: http://www.itasoftware.com/careers/puzzle_archive.html


We have modified it so that you don't need to signup or provide your e-mail: https://www.interviewstreet.com/recruit2/codepair

Check it out! Thanks for the feedback


Naysayers: This product is not for you. It is for the interviewer's benefit. You are not the one paying for it so your "depression" due to tools such as this is almost a non issue.

If you don't want to do a technical interview such as codepair, then don't. I'm sure there will be other candidates who wouldn't mind.

Now the question as to whether or not this is effective in gauging the actual resourcefulness of a potential employee - that is a little less certain. I'm sure their are other factors beside one's ability to answer coding problems that play into the overall ability of a potential employee.


I guess I should be impressed with this product but it's actually just depressing.

Obviously this is just a tool and it's up to the companies how to use it, but I think we all know how that will work out.


Hey bretthopper, thanks for the feedback. I didn't quite get your comment of being depressing. Could you explain? or feel free to e-mail me: vivek [at] interviewstreet


I was referring to long standing problem of tech interviewers of getting caught up in academic style programming questions as if they're representative of the work that's actually done in a company.

While the product looks awesome, I'm assuming it will be used to cargo cult bad coding questions instead of companies really trying to do something different with their interview process.


I'm curious what you consider to be "cargo cult bad coding questions."

When I do phone screens, I generally do two coding questions, plus several other technical questions. The coding questions are a fizz-buzz level warmup question (not fizz-buzz itself, but something fairly trivial that any programmer should be able to do in 5 minutes), plus a more real-world question that requires walking over the filesystem, looking for particular things in particular files.

Beyond that, I do non-coding technical questions that are based on actual problems I've had to solve on the job, and actual technologies that we use every day like standard networking protocols (HTTP, TCP, DNS).

This seems like it would be fairly useful for my coding questions. So far I've done them in Etherpad or Google Docs, and told people not to worry about the precise syntax since that can be hard to do in such a different environment and without being able to run and test your code; then I inspect it manually and look for obvious logic errors. However, something like this would be fairly helpful in letting people write real code and run it.


I don't want to think about how many of the folks I've hired I wouldn't have had I watched over their shoulder as they were pressured to solve problems on my terms. I have a feeling that for many of them I'd have left such an exercise with the impression that they were complete idiots.

Many of my best team members weren't people that were so effective at solving computer science problems or even very effective in their editor (I'd actually cringe to watch some of them edit code) but knew when to ask questions of our client or have a theory of mind of our customer in order to know what to build and be able to self-direct.

Conversely, some of my least favorite colleagues would probably fare well in this, but they would tend to rabbit hole creating complex solutions to simple problems or the wrong problem.

Maybe the projects I work on aren't technical enough and overlap with politics too much, but I've never found a gig that wasn't like that.


Shameless plug for my sideproject I'm currently working on, http://hiresync.io which is aiming to do much of the same thing.


Hey Kaizhi,

Small world, eh? Hiresync looks awesome! I wish you the best of luck with it. Really love the simplified interface.


[deleted]


And the alternative being what? The companies spend time and resources to craft their own technical interview platforms?


I'm not sure how I'd feel about doing some coding before I even went through other parts of the interview process or meeting the team I'd be working with. This sends me the message that I'm going to be a COG in some system.

Sending a potential candidate something like this might be a turn-off to a lot of candidates (especially in this marketplace).


I've done interviews like this before, with the interviewer asking me questions through Skype or phone with an Etherpad or similar document open in a browser where we can share code, and I haven't been bothered. The key point is that (from what I can tell) this is supposed to be used live, as part of an interview, not as a pre-screening process.


Yes, that's correct.


This is for a phone interview when you have passed the stage of evaluating the company, interest, etc.


This is awesome. I always ask people to code in phone interviews and I use Googe Docs.

You will be surprised at the number of people who have good resumes but cannot code at all. Watching someone code even a simple Fizz Buzz problem will help you understand the person's programming abilities better.


At my last gig we used Stypi or Google Docs plus a phone to do live code exercises, and CodePair likes like a step up from that.

But what we're running at my current gig is sending a trivial problem ahead (after an initial phone screen) and then asking for extensions over a Google Hangout with the candidate doing a screen share. This lets people work their way in their own environment with the language of their choice, and do any boilerplate or other overhead up front.

It's not perfect - I'd prefer not to require someone use or make a Google+ account, but it's the best I've seen so far.


I can't help but feel nervous every time the mouse moves to the top right of the screen, narrowly missing the "End Interview" button in the animation...

I'm sure there's the a confirmation dialog or something, but I'd be afraid of accidentally hanging up on the person the whole time.


Yes, there's a confirmation dialog :)


For anyone looking for a similar take with a larger focus on real-time REPL experimentation during the coding interview, check out: https://coderpad.io/


Suspiciously similar. Which came first, CoderPad or CodePair?


https://www.evernote.com/shard/s74/sh/93884663-eb5f-4926-8d1... CoderPad checker is actually powered by interviewstreet.


I hate code interviews and hope that they won't exist in the future.


I'm curious to know the reasoning behind this reaction. How else do you suggest doing a technical interview?


I agree, I don't quite follow either.

We had a candidate who spoke the jargon so fluently and naturally, that we totally bypassed the coding exercises so as not to potentially insult them. They were able to go into the ins & outs of all manner of software, from OOP to design patterns to "big O", so we thought we had a winner... well, come to find out, being able to regurgitate class notes in no way translates to actual ability. The hire was so poor as a programmer that he was relegated to HTML/CSS duty for the longest time, and eventually let go at the first convenient chance. Yes, we tried on-the-job training, but you can't make a software engineer overnight, and when deadlines are looming you don't really have the luxury to tutor someone at the remedial level.


[deleted]


Well, a technical interview that's lacking in actual hands-on coding perhaps. The reason we do actual whiteboarding now is to weed out those types (and it's done wonders in that aspect).


This is still a better alternative to code interviews by whiteboard though. (or worse, code interviews by phone).


> code interviews by phone you're joking right? would you speak the code out loud like so:

a equals list open bracket range open bracket ten close bracket close bracket new line

or is it more abstract, like:

create a list from 0 to 9 and store it in a variable called a


This, nothing beats standing in front of a whiteboard trying to code when it comes to "depressing"...


Why isn't there more information like a list of languages/compilers etc? The site needs to say more than "contact us" or try an interview to figure out what you can do with it.


Yes. Adding them. As far as the languages and timelimits, here you go: https://www.interviewstreet.com/recruit/challenges/faq/view


Are all the tests canned? Wouldn't people be able to figure them out ahead of time and prepare the right answers?


You can create challenges on your own.


Impressive. But this product also makes me depressed. It dehumanizes the interview process. My question is why don't you just have a challenge server, like facebook?


We do. The challenge server at facebook is also powered by us. This is for phone interviews.


This is pretty cool but part of the interface is confusing me. What do I put into the input field? Or is it just using the input defined in the question?


You will have to enter the input for your code there. Example: For the sample code given (which is for finding the largest element of an array), the input would be something like: 5 1 5 10 0 3

which represents an array of length 5 with elements 1,5,10,0 and 3


This is pretty cool for phone interviews, but I certainly do hope that people refrain from using this as their only method of interviewing candidates.


Hey I'm the guy behind the Etherpad Foundation, wanted to just say thanks for the Etherlove :)


Fixed the CSS issues. Can you check?


Some CSS issue. Fixing it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: