Show HN: Recruit web developers by having them build a web app
cull.io
cull.io
If you look at filtering mechanisms themselves, there are companies that try to have puzzles that they ask you to solve before joining (eg: ITA software). But they are really challenging puzzles that I would solve just for fun anyway, (which is what I did for months till I one day decided to apply for a job there). The fact that these puzzles are also made by the company (and not a third party website) makes a difference. It tells me about the people that work there and potentially about their culture. On the other hand, building a random web app to prove basic skills is not something I would imagine most talented web developers would like to do anyway.
If you look at it from the perspective of a company that is hiring, tools like this solve merely one part of the puzzle. It takes the subset of developers who are already in the market for a new job and filters them. As a startup though, what I want to do is lure the great engineers who are content at their regular jobs and not looking at all because of inertia. It sounds like there is more of a "search for developers" problem that will expand the breadth of all the developers available to me, instead of focusing on the ones who are already out there (and are most likely not the cream of the crop by definition).
In short, I don't mean to be negative, and am not saying that there might not be a market for a tool like this. But I am pretty certain that if you are a great developer, you don't have an incentive to make a web app on this.
I think a few companies (Google, Facebook, Twitter, etc) have more applicants than open job reqs, so for them these types of products have value.
Great idea if you want to hire suckers.
You are uncomfortable in demonstrating your knowledge in a practical way? I don't understand. You are looking for a role doing web development, which requires up-to-date knowledge not just of techniques, but of understanding. These code exercises make an excellent starting ground for a technical interview, and has the advantage of being built in your preferred choice of environment, entirely in your style. It's a time where you can show off your real skills. Which is what hiring companies want to know about.
There's very little room to hide in these coding challenges / exercise.
I've been on both sides of web developer tests / challenges, and the one I enjoyed the most was interviewing for Global Radio in London. I had a weekend to build a web app. So I built something I wanted to build anyway, gave it to them.
The next step was to go in with their web development team who then code reviewed it.
Still use that web app today.
The concern is potential employers trying to bilk free work out of developers. The small project strategy is hardly fool-proof either. If it becomes widespread, we'll just see phony developer put their assignments up on rent-a-coder and ask for a crib sheet to study so they can withstand a technical interview on what they've created.
Anecdotally, the 2 developers I know who were hired via the "do a small project for us first" method both ended up in companies with high dev turn-over, shitty tools (slow, single monitor computers), and were surrounded by lots of "green" co-workers who required significant hand-holding despite the fact that they too completed their small projects to get hired.
This is why the "assignment" that I request takes less than two hours and is a greenfield project that is not going to be used by the company -- and I tell candidates this up-front. Think something like a blog, recipe manager or to-do list app. It is trivial, but you may be surprised at the range of outputs that you get.
What is interesting to me is how the resume isn't the best indicator for how well they will do on the coding project. Also, to avoid wasting people's time, I give the coding project as late in the interview process as possible, assuming the other filters have been passed.
If the coding exercise looks like something that is of this sort, then I guess consider whether you want to work with that employer. From an employer perspective, this is the worst source of getting something built.
A candidate should be researching the companies submits his resume/CV too anyway.
"If it becomes widespread, we'll just see phony developer put their assignments up on rent-a-coder and ask for a crib sheet to study so they can withstand a technical interview on what they've created."
If that were feasible, I'd suggest the employer would much rather hire the rent-a-coder instead of the one paying him. That's a win for the employer there too, since they'll be able to offer the rent-a-coder guy far more than the scratchings he gets as a rent-a-coder. The ability to predict in advance a sufficient range of questions as to forearm a candidate will border on the mystic.
Coding exercises aren't a mouse in a maze puzzle, they are a starting point for gauging web development ability.
The companies that use coding challenges as a way of creating production ready material are going to be amply supplied by the rent-a-coder approach you outline. And the technical interview part of the test is probably geared with a formulaic approach that can be guessed. In that case, this candidate and that employer are well matched.
But not every candidate needs a rent-a-coder to pass a technical test, and not every company uses those tests to create production ready websites and applications.
A good candidate can sniff a bad employer just as well as vice versa. If a company seems to be asking for production ready material, then walk away. If the test seems on the up, you'd better have a very good reason for refusing.
When I hear talk like this coming from devs in a given startup, it only confirms that their work culture is terrible. It doesn't make me think their devs are bad. It's more of the "rock star" and "ninja" wishlist stuff. No company-- not even Google, Apple, or Facebook-- is going to employ only developers who are all at the top of their field. If you're a startup, you must have a pathway to get your average programmers to greatness.
When I hear stuff like "hand-holding" it makes me think of companies that hire based on keyword matching. They don't want to put anything at all into their employees, they just want the best output right away. No wonder these firms are always complaining about not being able to hire talent. They could develop talent, but they don't-- it's either getting the creme of the crop engineers (which they're not going to be able to get anyway since they can't compete with the above-mentioned companies on salary and benefits) or nothing!
The really creative startups I'm seeing now are those that train. They know there's a war for talent, so they're willing to invest in somebody who isn't a rock star today, but has potential and very well may be tomorrow.
Like you said, a small project is a little bit of a red herring. No small test project done in a short amount of time (like a few days) is really going to be complex enough to test if a developer is actually proficient enough to work on a large project.
Isn't that what his past projects and employment demonstrate?
That's why I give references, they can comment/confirm what I did. If they're bad (but professional) references, they'll just confirm that I worked with them.
Also, I wasn't clear, but I meant personal projects (with commit records) as a separate consideration from employment.
thanks for the review.
a) You could survive in big enough company without coding (You survive by tinkering xml files, db records, monitoring the servers.. stuff like that)
b) Most interviews don't require you to code. They rely on stuffs like puzzles, knowledge of complex algorithms and asking you explain things about your previous work. So a candidates keeps getting good at that since that's what is required to get the next job.
But i am not entirely sure. It surprises me too.
I, somewhat cynically, divide job seekers into four categories:
1) the qualified (I know what I can do, and I can do what you need)
2) the unqualified (I know what I can do, but I can't do what you need)
3) the deluded (I honestly think I'm qualified, but I'm not)
4) the liars (I'm trying to get the job by any mean necessary).
I only want (1).
(2) are easy to deal with - you just have to know what you need.
(3) are common and mildly annoying - especially if you're a nice person and feel the need to explain where they are deluded :-)
(4) are not common - but are exceptionally annoying and often hard to sort out
Writing a really good job spec / advert will get rid of most of (2) for you, and help remove all but the most deluded from (3).
Filtering resultant CVs will usually get rid of the rest of (2), and a bit more of (3).
A quick chat on the phone will get rid of any remaining (2) and a big chunk of (3).
Simple tests similar to FizzBuzz will cull a surprising amount of (3) and (4).
Interviewing - especially good accomplishment based questions will tend to filter out all of (3) and a big chunk of (4).
Which, unfortunately, occasionally leaves some of (4) who seem to sometimes put more effort into deceiving me than it would take to actually learn the damn skills in the first place. Which is why I really like having some kind of solid work "with the team" session for at least a couple of hours. Pay 'em for it too if at all possible.
Besides, this is just a platform, it's up to the interviewer to set an appropriate task. The interviewer can provide an existing web app and ask the user to do something with it, instead of writing something completely from scratch.
I think it had a Goldman Sachs co founder and another business development guy. Reached Tech Crunch some time in the last 6months.
That received some pretty harsh comments for precisely the reason you mentioned. This is a easy way to game developers and have a couple of hours free consulting.
This probably works best for entry level/junior programmers responding to a help wanted ad. Senior people are being proactively recruited.
FWIW this opinion is based on experience. I've conducted more interviews than I have given. As an applicant I once went through a fairly lengthy interview process that first did a screening interviews including live coding exercises. They were conducted and critiqued in real time. I have no issue with these. You can either do what you say, or you can't and it becomes apparent fast.
The next stage is where I started to question the company's processes - They requested a small "project" followed by an interview. I _nearly_ pulled the plug on this, since it was a request for 10+ hours coding, but did it anyway.
The next interview involved a fairly in depth defense of my code and design choices, white board work that again put my skill set to the test real time. After several hours of this, I was requested to do another "small project" and I walked away.
TL;DR Ask me a million questions, put my skills to the test on the spot, but don't ask free work... I'll think you're unable to judge my skill/confused/a scammer or whatever.
Companies requiring this sort of project work should be aware it smells funny to the applicant and the only way to tell if the applicant did the work him/herself is a tear-down / code defence.
You have not saved any effort from the hire process - only tested if I am willing to jump through a hoop and made me question the company.
The actual project is a drain on my time and energy of course. In addition, by dragging out the interviewing process over weeks or months, you're killing my actual desire to work there. Two months of hoop-jumping is annoying, and I'm embarassed that I ever put up with it.
I make clear now to any company I'm interviewing with two things:
1. Let's get to "yes" or "no" quickly 2. I'll do one project as long as it can not only be completed in 2 hours, but that 2 hours' worth of work on the project will yield something that I can be proud to show you.
#1 is obvious, but #2 is very, very important. If your project is "create a blog app", yes I can complete it in two hours. But it will be gross and not something I'm proud of. I will definitely spend more time on it getting it just right so that when you see it you'll be blown away.
What does this mean for the interviewing company? Don't give me an open-ended project. Tell me specifically what kind of thing you want, what functionality you want, and don't put shit like "...anything else you think is cool for bonus points!" That, IMO, translates to hidden requirements and guessing what you actually want.
Your description -
Recruit web developers by having them build a web app
should really be this instead - Recruit web developers by having them build a TEST web app
You have to be very careful with how you describe your service. You are an inch away from a much despised domain area of 99designs, and it's only sensible to try and distantiate yourselves from any spec work associations.Or, hire a web developer with too little work experience to have any previous examples of what they can do, but still have them somewhat prove they have the appropriate technical knowledge at least handle the job ......... or something like that.
Anyway, if I had to run a developer through a test like this, I probably wouldn't be talking to him in the first place honestly. I tend to contract with people based on what I've already seen them do.
I understand that getting started is hard too, so hopefully some new developers will find themselves using this tool and it will help them get new jobs and build that portfolio.
Advantages:
1) Candidates can virtually choose any language, framework, libraries or IDEs to solve the challenge. (Since they are developing on localhost with their own setup)
2) Because of 1) you need not limit your challenge to be overly algorithmic. You can for example ask questions like 'Pick the most popular article on hacker news today'
Disadvantages: Limited to candidates who can develop a web application
When I'm looking to hire a Rails dev then I want to know as soon as possible in the interview process that they actually know some of the basics of Rails and MVC - not just if they can build a web app. Furthermore, by hiding the candidate's choice of language/framework (and code quality) behind localhost the benefits of assigning an arbitrary coding challenge are lost. I fear that the only solution would be for the candidate to submit the full source code.
However, as a very quick "can this candidate actually write code" filter, I think you're well on track.
"However, as a very quick "can this candidate actually write code" filter, I think you're well on track."
Yes, that's exactly what I wanted this to be. Quickly filter out the 80% and move to the next stage where you can do much better justice reviewing the candidate's past work, working with the candidate on a project etc.
I think that there's a market for this type of product for larger companies who receive too many resumes to easily sort through and want to hire a lot of developers that meet some minimum standard. However, I think that this is much less useful to startups who just want the best possible small team initially.
Given the makeup of HN, I think that most people here would not look at your product too favorably. I think that you should be looking at finding ways to reach out to companies that have an actual HR department and increasing your price dramatically for them.
So #1, I'm part of "the herd", and #2 this tool is being used to possibly cull me. Great. No thanks, I'll spend my time applying to a place that doesn't have a tool dedicated to weeding me out. It doesn't portray the hiring org or your tool very well.
I'd be afraid that you're turning off devs right away, before they even get to the site (which has the potential to turn them off even more). My $0.02
Quality devs are in short supply already... explicitly saying that you're treating them like cattle is not going to result in better outcomes. If good devs don't participate = this is worse than a regular process.
In my experience, devs want to feel wanted / valued / pursued, not like commodities that need to be filtered.
/your experience may vary
Doesn't matter what kind of job it is, you can be pretty much 100% guaranteed that the job will be listed on the company website without any of the extra hoops to jump through.
Requiring someone to build a web app just to apply is a huge requirement. It's fine if you gave someone an interview, and this is the final step before you hire...but requiring someone to code just to submit an application is abuse.
I can see this as a useful tool for pre-phone screen or post-phone screen evaluation. At the startup where i work we do send the candidate a small code problem after the phone screen and before the on-site interview. I know lot of companies do that. Gives you a little more insight about the candidate and also ensures that you are not wasting your teammates' time as well as the candidate's time.
Also, submitting the resume/github link along with a solution to a programming challenge increases the probability of getting to the phone interview stage. Highly applicable for famous companies like FB or twitter where they receive hundreds of similar applicants every day. Of course it is a stupid method if you are trying to hire a team lead or senior engineer but for fresh graduates or junior developers it works well. I don't think they will mind spending an hour solving a problem.
As someone who hires I want to know what they can do vs what they say they can do. When I hire I ask job applicant to cut up and code a PSD. Some refuse while the eager ones whom are really serious and are excited about the job happily do so.
Overall it's good practice and we give each applicant feedback on how to improve. The flip side allows us to see who cut up and coded the PSD the best (validates) and quickest. That is the person we go with; majority of the time.
Jobs aren't easy to come by these days and in non metropolitan cities the competition is fierce.
You judge job applicants by their willingness to jump through boring scut work hoops in the hope of getting a job? I don't know what you're optimising for there, but it certainly isn't programming talent.
I've known a few C-class bumblers who would probably do that for a job interview. The number of grade-A talented engineers, the people I would want to hire, who would put themselves through some pointless, arbitrary slog just to impress you with their "eagerness"? Precisely zero.
There are tons and tons of resumes and the shop is not located in a huge metropolitan area like San Fran, NYC, Chicago, etc.
Given the number of "non-coding coders," I think this is a decent service.
Not every work place produces open source code and not everyone wants to spend their limited spare time 'working', but I cant think of better advice for eager job seekers / students / graduates to look for open source projects to contribute to.
(of course it isnt the only reason, making software you love, with awesome people, and making the world a better place arent to be ignored)
In the end, this is an amazing service, but sometimes, these tasks are essentially trivial, like, for example, exposing a function to a web service. I believe (and this is just my opinion), that the function is more essentially than how one can wire it to different interfaces.
But, what do I know, I'm too drunk right now.
[1] That would be Open Source Integrators, a great Durham-based outfit who I believe are still looking for people to staff their Chicago offices: http://osintegrators.com/
Geez, even a hired gun has to shoot someone for free once in a while just to show potential employers he's still got it! No one really knows what you did before (unless you have code groupies). Employers certainly do not give a shit in today's job market, they want to know you will fit in with the team and that you work as advertised. No one in their right mind believes advertising or resumes these days. So what's the alternative? You want to slip them source someone else paid you to make! I sure as shit would not hire you if you share like that. Competitions surely suck for losers who do not learn from their loss(es).
Suck on this - if you are bored then YOU are boring. If you won't build a small (not going to make anyone else money) solution to show a potential employer you can, you probably can't.
I like your idea too. Best of luck
makes me think: ask a car manufacturer to design & build a new car before you choose them to design & build your company's custom car.
To start with, if you are recruiting a web developer it can be an simple alternative which lets candidates choose any framework, language or library.
P.s: It is another reason why cull.io never tracks the time a candidates take to complete the challenge. Honestly I think services like this will merely be a way to filter out candidates not select them. To select candidates you still need to work with them on a project and see their previous projects
1) For some requests, the correct response can be hidden and just reply 'pass' or 'fail'.
2) You can use javascript to randomize the requests. For example create a random expression and ask it to be evaled
3) Candidates submit the code after completing the challenge.
Thanks for checking out!
Nice idea by the way!