Hacker News new | comments | show | ask | jobs | submit login
CoderPad (coderpad.io)
67 points by Ashuu on July 1, 2013 | hide | past | web | favorite | 42 comments

Cool, it's nice to see one of my projects make the rounds again. CoderPad has gone from frustrating "I can't believe no one's built this yet, interviews are so annoying" to a thing actual people are paying me for, and I have HN to thank for a lot of that early traffic.

If anyone here has any questions about CoderPad, please feel to ask here, or if it looks like this topic's dropping off the frontpage, I'm always available at me@vincentwoo.com.

Just as some hopefully useful feedback, I found "If CoderPad prevents you from bringing in even one on-site candidate that you wouldn’t hire, it pays for itself immediately in time saved" difficult to parse. Is it trying to highlight that you don't have to physically bring someone in, or that it's better for evaluating people, or both? The double-negative along with the 'even one' seems to contribute to the issue. Also, saying "If CoderPad prevents you" sounds a bit too negative to me.

this. I came here to point that out. How about something like:

CoderPad allows you to instantly evaluate a candidate's abilities without paying for an expensive on-site interview.

I actually like that he _tells_ you why paying for CoderPad is a smart investment, rather than trying to _sell me_ that it's a good investment.

It seems like he's just stating a fact.

This value prop sentence is crystal clear.

good points all around here guys, thanks.

So glad someone built this! Well done.

Cool stuff, I have been looking for something similar for quite some time.

Very cool idea! nice work!

Your front page is scant on details, and I really don't like providing both email and a password just to figure out if I should send money to somebody. You don't have a published privacy policy, which reinforces that feeling.

Okay, so you say you do C++. What does that mean? Can you compile and see error messages? The editor in the demo has no line numbers - is there any hope in actually deciphering the errors and fixing the problem? Can I, the interviewer, provide or run unit tests against the code? Does the editor have things like auto-complete, code formatting, etc?

Okay, I gave up, I signed up. It's pretty cool, no, strike that, very cool. I had no idea from your front page. It wasn't clear at first that I could experiment endlessly without using my 2 pad quota, which was another thing to add friction for me to try it out. I can see that I can easily paste in some unit tests for the user to use. But, do you have boost, gtest, etc? What version of Python (and all other languages) do you support? What C++ compiler and version are you using? I tried some C++11 code, and it compiled, which is nice, but should I really need to type in test code to figure out what is supported?

Site seems very hacked together. Now that I am signed in, I have no way to get back to the start page, the FAQ, and whatever links you had on that front page. The code of my pads seems to somewhat overlay the ad links (select your plans) below. One I start editing code, there is no back button. If I use the browser's back button, sure I end up where I was - at the profile, with the new pad I just created not listed as one of my pads until I hit refresh on the browser. If I create a bunch of pads, it just creates them in a never ending expanding list - will I have ways to sort through for different candidates, times, etc? I kind of wonder what happens when you get to 50-60, as you don't seem to be storing them in a container - am I going to end up with a huge unmanageable page? Can I delete pads?

I also am not crazy about your tiers, though I recognize it is a common strategy. Small shops hire in bursts - a few months go by with few to no interviews, you get funding or a new contract, and suddenly you have 100 people to interview. Do I need to pay for a high tier so I can deal with the bursts? What if I buy the 20/month, and need 21 pads? Can I change my subscription level on a monthly basis? Is it really safe for me to just type my credit card number into your site? Why doesn't this just scale to my needs - why do I have to subscribe to tiers? Amazon doesn't make me pay for computer services I am not using, why do you?

I'm not looking for the answers to any of the above in this thread - I'm not going to recommend that my company pays for a service that cannot describe itself on it's webpage but eagerly provides me with fields with my credit card info, and whose only contact information is "me". There's not even an address - what recourse do I have if you take my data, or I have billing issues? Are you in the US, the UK, Argentina? Finally, I don't believe you can actually provide 24/7 support. I'm emailing "me@vincentwoo.com" - I doubt one person can service enterprise scale use 24/7. I don't even know what your infrastructure is - are you using AWS such that you can easily add nodes as needed, or is this run on a box in your basement that dies when the power goes out?

Awesome app, bad site.

You're right, frankly, a lot of the web-facing stuff isn't quite there yet. I would say that this is because I have been working on improving the technical offering for my current customers, and that this HN posting has caught me in the middle of a frontpage redesign. I'm sorry about that.

As for the language versions, privacy policy, etc - those will be coming soon, but you can be assured I'm not NSA'ing you guys.

The tiering is because most shops favor cost predictability over scale-to-your-needs billing, which smooths out acccounting. I understand your concern here, though, and the pricing is still definitely very new (like the rest of this site).

My site is in fact on top of AWS (heroku), and I have 0 doubt about my ability to scale to enterprise usage. I've invested a fair amount in the architecture thinking up front, and I eagerly await a reason to pull the switch on my dyno counts. Unfortunately, I need an excuse to do it, but I might just spin up 20 nodes and do a load test for fun one of these days.

Anyhow, I'm glad that you at least like the product. Hopefully improvements to the landing page will be present soon. Sorry that your experience with it was so unfavorable.

Going out on a limb here, but I'll assume this is for Ruby only? Nothing in the landing page suggests this works for other languages.

I like the implementation, but if folks didn't like the NSA spying on them, they might not like this. This is wiretapping on steroids. I'm assuming the interviewer watches every keystroke. Creepy. I'm sure authors, well spoken and in full command of the English language, would get annoyed at someone staring at them to see if they can write a novel.

Tech interviewing is broken, but all solutions historically point to trying to watch a person code. I don't think that's the solution. When folks realistically work on multiple tech stacks with multiple frameworks and multiple languages, what is to be gained by zeroing in (deeply) on only one aspect of it.

This explains the need for a tech interview "study guide" posted earlier in the day. You're working on stuff contextually needed for your current job, but you'll be tested on stuff you don't use daily/monthly/yearly? That's insane.

Sorry if it isn't super highlighted, but if you scroll down a bit, you'll see that I support most languages you'd want to use this for (current notable exceptions are Go and Obj-C, the former of which is coming soon). Here's the list:

c, c#, c++, clojure, coffeescript, haskell, java, javascript, lua, php, python, ruby, scala, scheme

As for your philosophical objection, I think the true value prop of CoderPad is a bit more nuanced than you make it seem, respectfully. The primary benefits as I see them are twofold:

1. The right kind of candidate is wowed. It is a real fish landing back in the ocean moment. "Finally, this works like I've always dreamed it should." You look really sexy administering that interview.

2. It can help you see candidates who have a firm grasp of programming but not quite a great hold on syntax do better. I would argue the former is more important, and CoderPad let's you see them experiment with syntax without having to rack their brains over whether the parameter goes before "do" in ruby.

I do think it could be highlighted better that other languages are supported. I almost didn't sign up because I thought it was Ruby only after the tutorial.

It would obviously be ideal to have a demo for each language you support, but even if you simply highlight a bit clearer which languages you support right in the top part of the page rather than as a bullet point further down, that should really help your conversion rate.

I'm in the middle of a reworking of the landing page. I almost wish this got posted a few days later :)

Neat website! One quick thing - the Ruby 1.8.7 REPL on the homepage was a bit of a turn-off because that Ruby version was recently discontinued. I'm not sure if any newer versions of Ruby have been compiled down to Javascript yet though.

"Note that we are not using Ruby 1.9.x due to its reliance on threads, which cannot be ported directly using Emscripten." - https://github.com/replit/emscripted-ruby

Hey, I made CoderPad. I'm looking at replacements for emscripted-ruby currently. Interesting candidates currently include doing it all server side, and using mruby compiled via emscripten. Unfortunately mruby's greatest current shortfall is lack of `require` support, which may or may not be a dealbreaker. What do you think?

I think the emscripten threads problem will eventually get fixed. In the mean time, I don't think there's a huge problem with using 1.8.7, but you might be able to improve it using the backports gem [1].

[1] https://github.com/marcandre/backports

mruby is a completely different beast from Ruby. Consider it a different language, not a different version.

What about using JRuby on the server-side?

I've thought about it. The daunting bits are the trickiness around how long the session should live. You'd like the repl's variables to persist between commands, etc, but at the same time letting an arbitrary code session live for a long time on your server is probably not the safest thing. If you have any resources on the topic, I would love to look at them.

This is awesome. Thank you.

Looks wonderful, and far better than just copying the code from a hackpad into ideone. Unfortunately, the real thief of time here is the phone screen itself - although what would have gone on an online collaborative editor now goes in a REPL, the interviewer still has to shepherd the 8 of 10 candidates who can't write Fibonacci. And out of generosity or fear of giving offense, they'll likely sit through it all.

(Which is the beginning of a fascinating discussion about choosing between the Scylla of wasted eng time and the Charybdis of a rigid, non-adaptive auto-screening, but that's for another comment.)

As far as the env itself goes, though, props++.

I do appreciate Greek myth. Allow me to respond in kind.

Athena is said to have emerged fully formed and fully armored from her interviewer's head, but what her peer reviewers did not see at the time was the struggle she faced in Zeus' ego. Though newly born, she yearned to wrest the tools of code to her will, yet no matter how she strained at the yoke of her keyboard, she could never quite overcome the compiler.

One day, she happened upon a memento that belonged to Metis. It was CoderPad, and it allowed her to more fully bring her will into reality. Using it, she forged herself a suit of armor - not her best work, but much better than the patchwork stuff she was making before. She banged and clamored with her shield, and eventually, the hiring manager Hephaestus was finally brought around to overrule's the stubborn Zeus' "no hire."

I was wondering how all this could work in a browser, and to my surprise it appears there's a pretty well-developed project that has a bunch of language interpreters working in the browser via Emscripten (discovered via viewing coderpad.io's source): http://replit.github.io/jsrepl/

It appears to have been developed by/for http://repl.it/, which is education- rather than interview-oriented.

Repl.it is really quite great. Unfortunately it is beginning to feel its age (2 years, now). I'm looking to get off of it for some of the core languages I support, and I already rely on other services for the other, trickier languages (C++, java et al).

I recently used http://thereq.com/ for a similar purpose. Features I liked:

  * I can set interview questions in various languages
  * Candidate can write code right away, I can see everything he/she writes
  * Code can be executed to see the result right away
  * This even works for SQL, they have a sample schema the candidate can manipulate
  * They have a fairly large library of questions you can just add to your interviews
  * It's completely free as far as I can tell
No affiliation with the site, but it was very useful for me.

Nice site, but please capitalize the first word of each bullet point. It looks unprofessional.


Good point. I'll do it now.

This is really great. A friend and I were going to start building something like this, mostly because we were like "why the hell does something like this not exist already"?

Those words are almost literally the gripe to my coworkers that spawned this whole thing.

For further discussion, check this previous posting: https://news.ycombinator.com/item?id=5707525

Glad to see you took some of my copy write advice from last time :)

If you don't mind me asking, how many users do you have?

Not very many by internet startup standards, but the ones I do have are very engaged. Thank you for your advice from last time, it was very helpful.

Awesome what you can pull off in SaaS. $200 Bucks a month and still no unlimited use.

It's likely a bargain if you end up using a lot of support hours.

Very cool and immediately useful.

Might want to go over the "flow" of how the application will be used?

I'm guessing the interviewer will set up the "pad" and just send a URL to the interviewee?

Yup! Updated copy for the landing page is coming down the pipe. I should really make that bit explicit.

This seems great and something like I would use but the only problem is that it doesn't work on my ipad and I use my ipad, allot.

I'm going to take some time this week or the next to flesh out tablet functionality. If you drop me a line via email, I can let you know when it's ready.

Would be nice if I could try out all the languages in the local session, just to drop any remaining objections.

This is coming - I've been swamped. Hear you loud and clear though.

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