To apply, solve the following... are you kidding?
This is about the 4th job I've looked at that requires some kind of boring but time sucking piece of code to be written just to apply...
http://www.codeeval.com/public_sc/12/
What the heck? Do these companies only want people to apply who are not busy or are desperate for jobs?
26 comments
[ 3.0 ms ] story [ 53.4 ms ] threadsux-but-work
ps: bonus, you can even just google for the solutions and paste that.
A job application shouldn't be a fishing game. The ideal person I want to hire is the person that also wants to work for my company. Maybe there are a few other companies that he likes, but my company isn't competing for mindshare with the myriad of other companies advertising their positions on Monster.
I want hire someone who is competent enough to complete a "20 minute" code evaluation, or even one who can take the time research half a day and figure out how to do something he might not have known the answer to when he first saw the quiz.
I want to hire someone who isn't turned off by a 20 minute code evaluation for the chance of working with me, for me, or at my company.
I also want to hire people I can get along with, who perhaps share my vision, who want to go in directions I expect the company will go, who will be a good fit with the rest of my team, who won't be a pain to work with, and who is competent, capable, eager and motivated to learn, do better, try to kick ass, and always care about the work they're doing and the team they're doing it for.
I want the things in that last paragraph, but there's not really a code eval I can give online that will judge them, so I give you a 20 minute code evaluation to make sure you're even worth talking to so that I can figure out whether or not you are my ideal candidate.
I want YOU to enjoy the job as much as I enjoy employing you, and I don't personally think that someone who is too uppity to fill out a 20 minute quiz before applying is the kind of person I want to hire.
If you're not Google, I don't have much time for you until you clearly signal to me that there is actually a real job opening, with funding, which you intend to hire someone for in the immediate future, which you have determined that I might be a fit for based on the information I sent you. I don't mind jumping through a few reasonable hoops after I know it's not a waste of my time. If you don't value my time enough to spend a few seconds skimming my letter of interest and affirming to me that you have a real position open, there are plenty of other openings for developers.
You might be the best programmer in the world, but I'd rather hire a 'really good' programmer that gives a damn about what we do than a 'super awesome amazing rockstar' programmer that doesn't.
That said, since somebody called and asked... No, I am not hiring.
<?php $lines = explode("\n", strtolower(file_get_contents("input.txt"))); foreach ($lines as $ln) { for ($i = 0; $i < strlen($ln); $i++) { $char = $ln[$i]; $first_pos = strpos($ln, $char); $second_pos = strpos($ln, $char, $first_pos+1); $is_repeating = $second_pos !== false; if (!$is_repeating) { echo $char."\n"; break; } } }
?>
This company probably thought that since other companies have these types of hoops in place, they need to also have them in order to look legit.
This problem is very basic and might attempt to demonstrate the candidate's competency around basic algorithms, data structures, and performance (although nothing was specified about efficiency and this is very basic). I feel like good programmers code all the time and love to solve problems with code. So it seems like the average coder would not have much aversion to something like this.
The biggest issue is that it may not even reflect the domain that the candidate would normally work in. What if this was a javascript job? Would this be a good filter?
As developers, we have access to so much information on so many topics around computer science. I think they are important to know, but they can also be referenced and learned. It seems like an invaluable skill set (at early stage startups) is to be able to "figure stuff out".
For me, the ideal hiring process is to do a quick phone screen and filter by existing code sample, then "hiring" a candidate for the day, have them come in, work on a small project alone for half the day, then spend the other half pairing and refactoring the project. This may seem like a lot, but you learn important things, like if someone can quickly work on something on their own, how they work with other team members, an example of their personality with team and in office, etc.
At the end of the day, I am looking to hire people that "fit" personality-wise and can get sh*t done, groking what they need to and overcoming any obstacles in the way.