Ask HN: Review our startup for testing developer skills

8 points by ZeljkoS ↗ HN
TestDome.com is a job candidate screening service for companies. We test using small samples of actual work (build a form, fix a bug, etc.). Our aim is to bring work sample testing to the masses but as we had to start somewhere, we decided to start from screening software developers.

Initially we focused on recruiters and HR people but quickly realised that our early adopters are technical directors or owners of small/medium companies. So now we are pivoting a bit - we are redesigning the UI to provide more control to the users.

As such, it felt only natural to ask HN audience on what do you dislike in our service and what would you like to see.

Link: http://TestDome.com

7 comments

[ 5.7 ms ] story [ 29.1 ms ] thread
Interesting in that I've not seen something like this before. Personally I hate dev tests, but a lot of employers seem to like them, so I can see there potentially being demand.

My first thought is that the tests are too easy, I'm a Ruby dev with only fairly decent JavaScript knowledge, yet I was able to complete your hard, 10 minute, javascript test in one attempt.

My other concern is you'll need a LOT of tests, that expire quickly, to stop people posting solutions online.

Best of luck :)

One of the co-founders here. I must say, you are the first one to say that the tests are too easy. A significant number of our customers said just the opposite, that tests were on the hard side. That's not to say that you are wrong but since we're aiming for the mass market, I'll add your vote to the too-easy side and see what the stats will say at the end.

Thanks for the feedback.

To be fair, I only did that one test, maybe it just happened to be something I already knew well :) I'll be interested to see how it goes when you have some Ruby (or even PHP) tests on there.
A few UX small remarks.

I don't understand why clicking on a selected criteria on the 'Create Your Perfect Programming Test' doesn't deselect it. It made my first interaction weird since Javascript is always selected.

The close button made me close the tab a few times. I was expecting a back behaviour. Not that it matters since I see your site opens its own links in a new tab which is also something I do not like.

I commend you for improving the screening process of hiring people. I really hate answering questions to recruiters like "What is the name of technology used in Java to load classes?".

What frusted me in the given tests, is unrealistic situation. I need to fix a bug through making tests pass, but not seeing the output program does, nor the expected output.

As a result I find it a test for previous experience, rather than a test for actual productivity and competence on real tasks.

That's exactly the point I'm working on right now. We realised that just the information that "something" is not working well is not good enough. Hopefully in a week or two, feedback from the execution of the test cases will be much more descriptive than it is now.
One approach is quite simple:

Ask the user to translate a piece of code (such as a function/method/class) from [language A] to [language B], where language A and B are listed in his list of "known" languages.

With proper language-agnostic unit tests, and an environment that can execute most of the popular languages, you can easily test if the code is valid or not.

For example, you could manually provide the source code for FizzBuzz in Javascript. Then, someone that knows Javascript and C# would translate the FizzBuzz to C# (where the definition of the FizzBuzz problem doesn't have to be written in word, as it's already there in code). Then, if the tests pass, the service now has FizzBuzz in 2 languages. Any of these 2 can be used as input for translation/porting for other users, until the algorithm/code is covered by most major programming languages.

You could easily expand on this by either providing new algorithms/code, asking users to tweak the code a little to generate a new unique algorithm, or even generate random algorithm.

This is not a replacement for proper tests and interviews, but would probably be much better than anything out there to quickly test if someone is making false claims on their resume or not.

TL;DR: Ask people to translate an algorithm from a language they can read to a language they can write. Use their answer as input for other users, for minimal manual content creation, and covering any language your service can run and unit-test.