

To apply, solve the following... are you kidding? - epicureanideal

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...<p>http://www.codeeval.com/public_sc/12/<p>What the heck?  Do these companies only want people to apply who are not busy or are desperate for jobs?
======
dgunn
This problem is too easy to weed out the good hackers from the bad. Solving it
doesn't show that the coder is willing to go the extra mile for your company
nor does it show that the coder is any good. It's just a waste of everyone's
time.

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.

------
chrisabruce
Good and Bad?

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.

------
phektus

      corpus = """
    
      yellow
    
      tooth
    
      """
    
      for line in corpus.splitlines():
    
        for letter in line:
    
          if line.count(letter) == 1:
    
            print letter
    
            break

~~~
achompas
My first pass (assumes input file is an arg):

    
    
        import sys
    
        def first_unique(word):
            if len(word) == 0:
                return "EOF"
            for i in range(0, len(word)-1):
                return word[i] if word[i] != word[i+1]
            return "NA"
    
        def main():
            with open(sys.argv[1],'r') as f:
                print first_unique(f.readline())

------
slater
Maybe the companies want those people to apply that a) have the patience to b)
actually complete a piece of code that c) gives the company an idea of how
good the prospective employee is?

------
chrisbennet
Personally, I wouldn't mind if it was somewhere I wanted to work. Heck, I
spend longer than that on the cover letter. When I'm job hunting I'm pretty
selective so I spend a lot of time on just a few job applications (research +
cover letter). Requiring code makes makes it more time consuming for less
focused job searchers but maybe that is the point?

------
bmelton
I'll tell you why it's fair.

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.

~~~
glimcat
The economics of the situation are such that hoops are rarely worth tolerating
during the initial submission.

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.

~~~
bmelton
Fair and appropriate. I'm clearly not Google, but I am looking to hire people
who value my company the way you seem to value Google. If that isn't you, I
think we'll both agree that it's best that you don't complete the code eval.

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.

~~~
MrWestley
How do you tell the difference between caring about your company and being
desperate?

------
comsolo
err 20 min? It's about a 60 second problem.

<?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; } } }

?>

~~~
epicureanideal
Also, this solution isn't the most efficient because again you're searching
the whole string potentially every iteration of your inner loop. So you've got
an O(n^2) algorithm when it could be an O(n) algorithm. If we're dealing with
just a short string, fine, but if the string were tens of thousands of
characters long and we had thousands of lines, this might star to become
significant. Sure, we're not likely to be given that. Maybe I read too much
into these problems, but if they're going to give this as a test I assume they
actually want to test something like efficiency, readability, etc.

------
gallerytungsten
This type of hiring approach strikes me as test for submissiveness, rather
than programming ability. The hiring company wants someone who will do as
they're told.

------
staunch
I can't relate. I love little programming problems like these, and I want to
hire other people that do as well.

------
guyzero
Maybe they're junior positions.

------
zobzu
solve all of them copy paste to other companies

sux-but-work

ps: bonus, you can even just google for the solutions and paste that.

------
saiko-chriskun
time sucking? are you being serious?

~~~
epicureanideal
Even if it's just 20 minutes, 20 minutes every time I want to file an app?

~~~
wglb
The one I see there "first non-repeated character" does not look like a 20
minute deal.

~~~
epicureanideal
It's 20 minutes because it's for an application. I want to look through it
before I submit it, not just slap something down. I actually ended up doing
this one just because it was so trivial.

~~~
waqf
If I were applying I would send them my 1-minute solution, because I wouldn't
want them to think it took me 20 minutes to solve.

