
Amazon Code Ninjas - ghosh
http://india.amazon.com/CodeNinjas.html
======
saosebastiao
For those who are wondering why algorithms are so prominent, I'd answer that
at Amazon, algorithms are prominent. With the service oriented architecture,
it is not uncommon for a team to own a service that is basically a context-
specialized implementation of an algorthm, with a little bit of ceremony to
serve it up.

The code ninjas program has been around for a long time, and it was probably
named by an HR goon, so you'll have to forgive the cliche.

~~~
codex
When I interviewed at Amazon most of the teams I spoke to revolved around
billing and logistics--which of course do require some algorithmics, but are
also fantastically boring. Has the situation improved?

~~~
jmduke
To each their own. I think logistics are awesome, and to describe them as
requiring 'some algorithmics' is sort of dismissive; this is a field where
formulating a 1% improvement over a previous system translates into literally
millions of dollars saved annually -- it's hard for me to imagine a field that
is as 'pure' as that while still having enormous financial impact (besides
maybe HFT?)

(Disclaimer: I work for Amazon, but on the Kindle side of things.)

~~~
ars_technician
>\- it's hard for me to imagine a field that is as 'pure' as that while still
having enormous financial impact

Advertising algorithms, recommendation algorithms, pricing algorithms,
basically any algorithm that is being run at scale for millions of customers.

------
BenderV
Leaderbords :
[https://amazon.interviewstreet.com/challenges/dashboard/#lea...](https://amazon.interviewstreet.com/challenges/dashboard/#leaderboard/default/1)

India, India, India, India, India, India, India, Germany, India, India,
India...

There is, without doubt a great pool of talents available in India, but this
kind of result make me suspect that it's maybe just a result of India' schools
focus on algorithms. Not on real problem solving, creation, design...

~~~
thepoet
This is India specific challenge. Also schools in India do not really focus on
algorithms. In almost all competitive programming competitions and places like
TopCoder, India is far behind Chinese, Russians etc. (just count the number of
TC Red coders in each country and let me tell you India is equal or even more
in quantity) This can partially be attributed to the early age at which kids
in other countries are exposed to programming but other than that it is just
that Indian schools apart from say top 15 provide crappy CS education.

And while we are at it, in interviews at top CS product companies of which I
know about Amazon and Microsoft, lately I have seen same set of questions
repeated again and again and people getting through without much of problem
solving skills by just mugging up solutions to common problems from sites like
GeeksforGeeks, CareerCup etc. Throw them a real problem or a problem for which
they have not seen a solution already and they would give a blank stare. Note
that I am not saying you cannot find super talented people at these places.
But when I have to take a few interviews apart from my regular work, I would
head to same sites for interview questions.

~~~
RogerL
I do not know anything about India, but I spent some time one day looking at
the geographic distribution of various Google queries. India dominated for
anything algorithmic related. I know you cannot draw much from that as it is
absolute numbers, so in some sense it is a measure of population, but that
same dominance did not hold with non algorithmic, but programming based
queries.

------
lpolovets
Oh man, so many spelling/grammar/formatting issues on this site! For example:

\- "A segment is said to be shorter than other if it contains less number of
words."

\- "Print first shortest sub-segment that contains given k words , ignore
special characters, numbers."

Copy editing like this doesn't inspire confidence in the hiring process.

~~~
morgante
It is Amazon India, after all.

~~~
hkmurakami
Wait. Does the "code ninjas" idiom actually appeal to programmers in India?

~~~
dspillett
It might not so much be that is appeals, just that it doesn't make them feel
as silly as it would some over here. I get called a code ninja but only as a
joke as I tend to wear black[1] coloured everything at work[2].

In my experience with Indian companies and people of Indian heritage over
here, titles seem more important to them generally than to other people I've
interacted with. Perhaps due to differences in exposure to certain cultural
references "ninja" sounds to them like an exotic title rather than, as it
sounds to may of us, a silly one. Having said that, I know people who would
appreciate "ninja" in their job title so this is subjective at a more local
level too.

[1] Yep, I know there is no evidence a ninja ever wore black, in fact their
outfits may have been very colourful: the black stereotype we have comes from
how stealth actions were portrayed in stage plays.

[2] I'd prefer a Cash reference but you can't really chose your own nick-
names, maybe nipping to Rino and shooting a man would help...

 _Of course it might not appeal to programmers in India any more than it does
to you - it could just be that is appeals to PHBs in India!_

------
ojbyrne
Oh god. Don't they realize that "ninjas" was replaced by "badasses" around
2011, officially supplanting "rockstars" (which first appeared in 2009).

There is no indication of what language is expected, but presumably it's java,
because companies that do this shit, are entirely java.

I feel the urge to click on the button, but I've been doing Dan Grossman's
Programming Language MOOC
([https://www.coursera.org/course/proglang](https://www.coursera.org/course/proglang))
lately, so I'm all about functional programming languages, which I suspect
this particular programming test does not grok.. and the button looks like
it's entirely about product managers and their conception of what programmers
do. Which rhymes with "fuck you."

~~~
nichochar
Wow, it's not that cool to just be a hater and see yourself as a 'sick'
engineer that doesn't have time for PM's bull __ __... This is actually a
pretty cool exercise, and for someone like me, coming out of school and
practicing algorithm interview questions (which are questionable, but hey),
this is helpful and fun. Anyways, if all you want to do is say that you are
cool because you 're learning a functional language and are completely above
java, do it in your head.

~~~
seunosewa
Whoosh!

------
aeon10
In real job interviews are these skills more valued than real experience with
real technologies? I mean worked with different languages and frameworks on
different problems? or as a graduate having good algorithmic skills is far
more important than those?

As a student who will soon graduate this is a real dilemma. Do i learn and
practice more algorithmic problems to get better at that side, or learn and
work with as many technologies I can to get some 'real world' experience.

~~~
snarfy
A graduate with good algorithmic skills will have a better chance of getting a
job at amazon, google, or microsoft than one with real world experience with
various technologies.

The belief is it is easier to train a computer scientist to be an engineer
than the other way around.

~~~
snorkel
... but ultimately each candidate is weighed against the other candidates, so
if it comes down to a recent college grad with good grasp of algorithms vs.
another candidate with 5 years of work experience and a rusty working
knowledge of algorithms as needed, usually the more experienced candidate will
get the job. Algorithms are part of the screening process, but really the
candidate with the most hands-on experience building using these same tools
will be preferred. Each business has an immediate need to get work done, and
so is only willing to invest so much in on-the-job training for new hires,
which means the candidate needing the least training, and can also provide new
insights based on experience, usually gets the job. Other factors weigh in
too, such as college grads are cheaper and work harder then the salty old
pros, so there's a trade off between experience vs. cost.

~~~
sib
That's not quite true, at least in some companies. New college grads are
typically applying for different roles than candidates with 5 (or more) years
of experience.

Additionally, in fast-growing companies (such as Amazon and Google), it's
usually the case that candidates are measured against a hiring bar and, if
they exceed, they are presented with an offer, independent of other
candidates. That is, there are more openings than can be easily filled, so any
candidate who meets the bar can be hired, rather than being explicitly in
competition with each other.

~~~
Zombieball
> Additionally, in fast-growing companies (such as Amazon and Google), it's
> usually the case that candidates are measured against a hiring bar and, if
> they exceed, they are presented with an offer, independent of other
> candidates.

We'll said. I think this is an important thing to note for any new grads
looking to interview at these companies.

------
ecaron
I feel like "If you're not interested in moving to Seattle, don't waste your
time here" would be a nice header at the top of the pages...

~~~
j_baker
Is moving to Seattle a requirement? I'd imagine Amazon has more offices than
just that.

~~~
rgbrgb
Definitely not a requirement for working at Amazon, though I can't say whether
this particular thing is only for Seattle positions. I work for Amazon Music
in downtown San Francisco and we are hiring.

~~~
ninetax
hmmm that sounds fun, do you think I could ask you a couple questions about
it?

What's the best way to contact you?

~~~
rgbrgb
Hey, sorry didn't see this. Shoot me an email--peter at campsh dot com.

------
lazyjones
It's interesting that Amazon uses "off-the-shelf" interviewing infrastructure
instead of having their own (Interview Street).

Can anyone determine whether the 4 challenges posted by Amazon are custom-made
by them or selected from Interview Street's library?

------
Pitarou
It beats fizzbuzz, but "write an implementation of Warshall's and Euclid's
algorithms" isn't exactly l33t Ninja skillz. I'd be much more impressed by a
candidate who could figure out for themselves which algorithm a problem
required.

------
TN1ck
I can't get my Clojure-solution to run there. Anybody knows what's up?

(ns solution (:gen-class)) (defn -main ...)

There is also no Clojure-example :/

EDIT: Fixed it: You had execute the function, just added (-main)

------
runamok
Similar to
[https://facebook.interviewstreet.com/recruit/challenges/..](https://facebook.interviewstreet.com/recruit/challenges/..).

------
nilsimsa
And here I ask candidates to code a simple problem like "traverse a binary
tree in-order" and they treat it like it is a major stumper I'm asking them.

------
ghostdiver
How many of those tasks represent some real-world problem?

~~~
twic
All of them. This is the back-end of Mechanical Turk.

~~~
mkohlmyr
Hah, would it not be fab if someone combined an elance type service for small
programming tasks with a technical recruitment tool for programmers.

Get applicants to write code for company X in order to get hired by company Y.

------
maxent
Shot across the bow of IBM, SAP, Oracle, etc? Amazon and Google continue
trying to eat everything.

Edit: and yes I know Amazon is already at full war with IBM, etc since before
the CIA contract.

------
ttty
no js

