[Baypiggies] Salary Ranges
Roderick Llewellyn
roderick at sanfransystems.com
Wed Feb 17 17:33:45 CET 2010
I applied to one job (Calypso Technology, in the financial communications
space), for which I had very good qualifications IMHO. They had a typical
automated form, which required about 30-40 minutes of cutting and pasting
from my resume, as it had separate entry fields for each job, each employer,
dates, etc (rather than just pasting my entire resume), and also asked for
skills ratings for various technologies. They had the requirement of filling
in a numerical desired salary (you could not proceed without doing so). I
entered $100,000, not believing in low-balling either. At 9:34 in the
morning, moments after submitting the form, I got an automated reply
acknowledging my submssion. At 9:37 -- three minutes later -- I got a
rejection notice from the same mailing address. Obviously no human looked at
my qualifications. I was rejected by a computer program that said "IF
desired_salary > tiny_amount_we_want_to_pay THEN Reject(candidate)". The
good news is it took only 3 minutes instead of waiting around for weeks and
never hearing back from the employer, which is more typical American
practice. Should I have "low-balled" the salary requirement? Tried to
out-guess their program?
Just for fun, here's another horror story. I was contacted by Facebook (thru
LinkedIn), by an internal recruiter, someone named Yancy Rivera. (I don't
mind naming names!). After some discussion, it sounded like I qualified for
the position, so he told me the next step was to go on their engineering
page and solve one of two "puzzles" held therein. These puzzles are computer
programs you must write in any of several languages. I chose Python (doh!)
In case anybody is familiar with these, I picked the "User Bin Crash"
problem. It's a typical NP-complete type problem.You prepare your program
and submit it to its "Puzzlebot" which every 4 hours runs your program and
presents it with various test cases. If your program doesn't pass, the bot
gives you a rejection email. You are told nothing else; you are not given
test data, you are not given exceptions, you are not even told that your
program took too long to run. Is this a realistic debugging scenario?
Now my mistake was not doing what every modern programmer would have done:
cheated. I should have just downloaded a solution off the web. Maybe that
was the real test. After all, few companies actually want you to do any real
programming these days, they want you to download free software and tweak
its XML configuration parameters. Anyway, after many submissions, I was
still unable to pass their bot, tho my program passed every test case I
threw at it. So I finally broke down and downloaded a Python solution off
the web that supposedly passed Puzzlebot. I analyzed this solution and
discovered a flaw! If your test case contained a large prime number, it
would blow memory and could take a very long time. Sure enough, when I gave
it the largest prime < 1 billion (there's a table on the web, of course),
the "working" solution failed by blowing memory but it passed my solution
handily. However, for many cases, the "working" solution was somewhat faster
than mine. Almost certainly that was why my solution did not pass Puzzlebot.
So I wrote to the recruiter explaining this, saying that "this is the
problem with using a machine to judge a man". With my mind, I was able to
analyze a supposedly working solution, one that had passed Puzzlebot,
discovering a major flaw. Letting Puzzlebot decide who gets hired would not
have brought in the most analytical mind, merely one good at fooling a
machine. He promised to contact Engineering and, at long last, actually run
my resume past a technical person. About 15 minutes later I got a "thanks
but no thanks" from them. After 20 hours of programming, they spent a
quarter of an hour of their technical people's time on me. Maybe much less.
Needless to say, I won't be using Facebook anymore!
Have fun,
Rod Llewellyn
More information about the Baypiggies
mailing list