News for hackers. Stuff that matters.
Re:Amazon Code Ninjas by saosebastiao on Monday November 11, 2013 @10:23AM (#6712007)
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.

Re:Amazon Code Ninjas by codex on Monday November 11, 2013 @01:02PM (#6712917)
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?
Re:Amazon Code Ninjas by jmduke on Monday November 11, 2013 @03:13PM (#6713676)
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.)

Re:Amazon Code Ninjas by ars_technician on Monday November 11, 2013 @06:18PM (#6714785)
>- 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.

Re:Amazon Code Ninjas by Zombieball on Monday November 11, 2013 @07:14PM (#6715022)
Amazonian here that works on a logistics team. I would say we actually make up a small portion of Amazon. Amazon has grown tremendously in the past few years and has many diverse (and cool) teams. That being said, I personally think transportation and logistics at Amazon has some really cool problems to tackle.
Re:Amazon Code Ninjas by alandarev on Wednesday November 13, 2013 @09:15AM (#6725246)
You think there are some cool problems? There are so few of them, that you were not assigned to any of these fancy problems?

Apologies, if I misunderstood.

Re:Amazon Code Ninjas by saosebastiao on Monday November 11, 2013 @05:36PM (#6714590)
Every team is different, and not all teams are going to be doing optimization or machine learning (where algorithm knowledge is very important). I happen to work with a bunch that do work in those areas.
Re:Amazon Code Ninjas by AsymetricCom on Monday November 11, 2013 @01:35PM (#6713108)
Can someone explain this thread to me? What exactly do you think programmers do? Yes.. algorithms are important.
Re:Amazon Code Ninjas by oh_sigh on Monday November 11, 2013 @01:29PM (#6713075)
If I recall from my years at amazon, the term "ninja" is quite popular for various groups/people that make (usually internal) improvements for advanced users.
Re:Amazon Code Ninjas by BenderV on Monday November 11, 2013 @03:59AM (#6710659)
Leaderbords : https://amazon.interviewstreet.com/challenges/dashboard/#lea...

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...

Re:Amazon Code Ninjas by morgante on Monday November 11, 2013 @04:01AM (#6710672)
Or that the link is for Amazon India.

Techniques like this are only really used to sort through hiring pools with high signal:noise.

Re:Amazon Code Ninjas by CognitiveLens on Monday November 11, 2013 @10:04AM (#6711916)
* low signal:noise
Re:Amazon Code Ninjas by thepoet on Monday November 11, 2013 @08:35AM (#6711475)
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.

Re:Amazon Code Ninjas by RogerL on Monday November 11, 2013 @11:42AM (#6712436)
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.
Re:Amazon Code Ninjas by vonseel on Monday November 11, 2013 @10:13AM (#6711963)
Are algorithmic questions asked in web development interviews (Rails, Django, JavaScript frameworks, etc) or usually only more complicated programming roles?
Re:Amazon Code Ninjas by twic on Monday November 11, 2013 @04:03AM (#6710677)
This is on the india.amazon.com site. I can't immediately find it on non-Indian sites. It appears this is aimed at recruiting Indian programmers. It is not surprising most of the people on the leaderboard are Indian.

No idea how Herr Amtrix got on that leaderboard.

Re:Amazon Code Ninjas by morgante on Monday November 11, 2013 @04:04AM (#6710682)
> No idea how Herr Amtrix got on that leaderboard.

Quite possibly from the HN link?

Re:Amazon Code Ninjas by BenderV on Monday November 11, 2013 @04:12AM (#6710705)
Indeed, it's for India people... My bad.

Though, that's not the first time I see that kind of result on contests (but I wasn't so surprised because of the demographic numbers.)

Re:Amazon Code Ninjas by thejosh on Monday November 11, 2013 @04:00AM (#6710666)
Or you know, timezone?
Re:Amazon Code Ninjas by ismail on Monday November 11, 2013 @01:06PM (#6712944)
actually in india there is a cottage industry on training people to ace tech interviews and solve these kind of problems
Re:Amazon Code Ninjas by lpolovets on Monday November 11, 2013 @04:02AM (#6710675)
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.

Re:Amazon Code Ninjas by morgante on Monday November 11, 2013 @04:04AM (#6710683)
It is Amazon India, after all.
Re:Amazon Code Ninjas by hkmurakami on Monday November 11, 2013 @04:19AM (#6710720)
Wait. Does the "code ninjas" idiom actually appeal to programmers in India?
Re:Amazon Code Ninjas by dspillett on Monday November 11, 2013 @09:02AM (#6711589)
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!

Re:Amazon Code Ninjas by narsil on Monday November 11, 2013 @06:15AM (#6711024)
As much as it appeals to programmers in the United States. No reason it wouldn't.
Re:Amazon Code Ninjas by danieldk on Monday November 11, 2013 @06:04AM (#6710990)
And from the 'Shortest sub-segment' assignment:

Ignore characters other than [a-z][A-Z] in the text.

[a-z][A-Z] is not a character, [A-Za-z] is ;).

Re:Amazon Code Ninjas by e12e on Monday November 11, 2013 @05:08AM (#6710844)
Authentic code ninja engrish?
Re:Amazon Code Ninjas by e12e on Monday November 11, 2013 @05:08AM (#6710846)
I just wonder if they also welcome code kunoichis.
Re:Amazon Code Ninjas by ojbyrne on Monday November 11, 2013 @03:52AM (#6710647)
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) 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."

Re:Amazon Code Ninjas by nichochar on Monday November 11, 2013 @04:10AM (#6710702)
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.
Re:Amazon Code Ninjas by seunosewa on Wednesday November 13, 2013 @07:34AM (#6724773)
Whoosh!
Re:Amazon Code Ninjas by Lewton on Monday November 11, 2013 @05:11AM (#6710856)
No Racket, no ML

But Haskell, Clojure, Scala, Erlang, Common Lisp... Very far from "just Java"

Re:Amazon Code Ninjas by morgante on Monday November 11, 2013 @04:00AM (#6710662)
They're actually using InterviewStreet to do the testing, which supports a variety of languages (including a number of functional ones).
Re:Amazon Code Ninjas by yitchelle on Monday November 11, 2013 @06:21AM (#6711043)
No wait, the real heroes are the Purple Squirrel.

http://india.amazon.com/SeniorEngineers.html

Re:Amazon Code Ninjas by kylemaxwell on Monday November 11, 2013 @02:30PM (#6713425)
I'll take "Shit HN Says" for $500, Alex...
Re:Amazon Code Ninjas by thejosh on Monday November 11, 2013 @03:59AM (#6710660)
What about Jedi?
Re:Amazon Code Ninjas by AsymetricCom on Monday November 11, 2013 @01:18PM (#6713008)
No, they want people who go in silently, fix something and leave the same way. Thus, Ninja.
Re:Amazon Code Ninjas by aeon10 on Monday November 11, 2013 @09:49AM (#6711831)
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.

Re:Amazon Code Ninjas by jtseng on Monday November 11, 2013 @10:13AM (#6711961)
From the interviews I've done so far, the algorithm questions are more important. From our perspective, it's much easier for someone good with algorithms to learn a few technologies than for someone with a few technologies to learn algorithms. Plus, you're going to need to take some time to familiarize yourself with our software system anyway. It doesn't matter too much to us if you take two months to ramp up or 3.

This just seems like a better way to evaluate candidates even though we rarely have difficult algorithmic problem in our daily work.

Re:Amazon Code Ninjas by aeon10 on Monday November 11, 2013 @10:34AM (#6712058)
So to make my chances in the future better, it would be better for to spend time on sites like topcoder honing on my algorithmic skills rather than say, experimenting with nodejs. Or does this depend on the company/job I am applying to?
Re:Amazon Code Ninjas by jsolson on Monday November 11, 2013 @10:48AM (#6712132)
Yes, time spent on TopCoder is more likely to help you in coding interviews in general than picking up new technologies.

I say this with some specificity to Amazon (I did ~200 interviews while I was there), but it would apply equally well to every other tech interview I've done.

Top Coder will change the way you think about problems (in terms of what primitives you'll bring to bear against them). I would say the same for mastering another framework that has a different model than those you've used before, but that both takes a lot more time and is nearly impossible for an interviewer to evaluate unless they've achieved the same mastery.

Algorithms are in some sense a least common denominator proxy metric for "can this person solve problems?" Usually this is followed by "can this person string three lines of code together and perhaps use a for loop?"

When these interviews go well it's usually a pretty accurate indicator that the candidate is technically capable of doing the job. The contrapositive is not always the case -- when the interview goes badly you're sometimes left with a nagging sensation that because you did a crappy interview you're going to miss out on a good candidate. That's just the way (many) hiring systems are biased, though -- it's better to say no to a good candidate than say yes to a bad one.

Re:Amazon Code Ninjas by keslert on Monday November 11, 2013 @10:48AM (#6712128)
It's interesting, but your chances of getting a job are very dependent on how well you perform during the 30 minutes they throw small algorithmic questions at you. This isn't to say that alone will get you a job, but if you bomb that part of the interview, it's basically over.
Re:Amazon Code Ninjas by namelezz on Monday November 11, 2013 @10:47AM (#6712121)
The truth is no one knows how to find or be a good software engineer.
Re:Amazon Code Ninjas by snarfy on Monday November 11, 2013 @10:31AM (#6712045)
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.

Re:Amazon Code Ninjas by snorkel on Monday November 11, 2013 @11:21AM (#6712311)
... 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.
Re:Amazon Code Ninjas by sib on Monday November 11, 2013 @12:24PM (#6712694)
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.

Re:Amazon Code Ninjas by Zombieball on Monday November 11, 2013 @07:20PM (#6715044)
> 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.

Re:Amazon Code Ninjas by hackula1 on Monday November 11, 2013 @11:42AM (#6712440)
> The belief is it is easier to train a computer scientist to be an engineer than the other way around.

...and yet it still seems to take a lifetime of effort, discipline, and study.

Re:Amazon Code Ninjas by pnathan on Monday November 11, 2013 @11:00AM (#6712193)
YMMV, because some people value technologies & frameworks, and some people value actual things that last (yeah, cheap shot).

I prefer the candidate who can comfortably talk about algorithms, data structures, algorithmic analysis, theories of programming language, and theory of computation, and then discuss how they implemented the areas of interest to them.

I have no need for someone who can't write code to implement the theory they know.

Part of this focus is my belief that software engineering is not teachable in college; the projects are too small and the social dynamics don't carry over to the work environment. I am fine bringing an intern or new grad along and teaching them configuration management, practice & theory of testing, code reviews, etc. These things can be taught to someone of reasonable social capability who has already learned coding and algorithms, something I am not really willing to teach new grads.

Re:Amazon Code Ninjas by namelezz on Monday November 11, 2013 @12:05PM (#6712594)
"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." It's the same question I had for myself when I was in school pursuing my CS degree. What I noted at that time(it may be WRONG now) was that if you wanted to work for companies as big as Amazon, Apple, Google, Microsoft...(it does go on) you should be good at tackling algorithmic problems and attend an university with decent reputation in CS. Otherwise, you would never get called for an interview to begin with. Knowing someone in the company also helped too. Those companies believed that a candidate with strong CS background would be worth their time spending on training him or her. On the other hand, most start-up companies were only interested in ones with strong technical background since they expected you to begin contributing to their code base by the time you join their team. I know it's difficult to pursue your passion and feed yourself at the same time. Good luck with your job hunting.
Re:Amazon Code Ninjas by snorkel on Monday November 11, 2013 @10:15AM (#6711972)
For technical roles, hiring managers look for prior experience using directly related technologies. For recent college grads with no prior work experience you can still look through actual job postings in your field of interest, pay special attention to the tools and technologies listed in the required experience section, then go try build something with those same tools, and put that project on your resume. It's perfectly valid to list side projects on your resume, it still counts as hands-on experience. Technical hiring managers will want to talk about the project, how did you think of it, how well did it work, etc, they're not going to care as much that no one was paying you to do it, in fact more power to you for showing the creativity and ambition for building it yourself without being instructed to do so.

Algorithms only come up in job interviews just to check basic understanding of computer science, but most of the discussion should be on what tools, protocols, and services are you hands-on experienced with, and it doesn't matter if you were paid for it.

Re:Amazon Code Ninjas by jsolson on Monday November 11, 2013 @11:03AM (#6712214)
I said more about this below, but algorithms are an easy proxy metric for comparing candidates. This is especially true of students; many of them lack any practical experience outside of class and capstone projects.
Re:Amazon Code Ninjas by ecaron on Monday November 11, 2013 @12:19PM (#6712672)
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...
Re:Amazon Code Ninjas by j_baker on Monday November 11, 2013 @12:42PM (#6712798)
Is moving to Seattle a requirement? I'd imagine Amazon has more offices than just that.
Re:Amazon Code Ninjas by rgbrgb on Monday November 11, 2013 @12:49PM (#6712843)
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.
Re:Amazon Code Ninjas by ninetax on Monday November 11, 2013 @01:20PM (#6713020)
hmmm that sounds fun, do you think I could ask you a couple questions about it?

What's the best way to contact you?

Re:Amazon Code Ninjas by rgbrgb on Tuesday November 19, 2013 @02:08PM (#6763553)
Hey, sorry didn't see this. Shoot me an email--peter at campsh dot com.
Re:Amazon Code Ninjas by pmiller2 on Monday November 11, 2013 @12:48PM (#6712835)
Seattle is the only place in the US listed with open positions.
Re:Amazon Code Ninjas by calvin on Monday November 11, 2013 @12:58PM (#6712894)
Amazon is hiring for software developers and many other positions in locations throughout the United States and other parts of the world.

See: http://www.amazon.com/gp/jobs/ref=j_sq_btn?jobSearchKeywords...

I currently see positions listed for Seattle, Massachusetts, California, and international positions on the first page of Software Development listings.

(Note: I work for Amazon as a Web Development Engineer.)

Re:Amazon Code Ninjas by pmiller2 on Monday November 11, 2013 @03:50PM (#6713930)
Good to know. I only checked the link on the page that said "Which position are these challenges for."

Do they need any "code ninjas" in the Bay area? ;)

Re:Amazon Code Ninjas by oh_sigh on Monday November 11, 2013 @01:30PM (#6713077)
Amazon has an office with SDEs in NYC. Does that help?
Re:Amazon Code Ninjas by lazyjones on Monday November 11, 2013 @05:40AM (#6710939)
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?

Re:Amazon Code Ninjas by Pitarou on Monday November 11, 2013 @10:08AM (#6711936)
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.
Re:Amazon Code Ninjas by TN1ck on Monday November 11, 2013 @05:49AM (#6710958)
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)

Re:Amazon Code Ninjas by runamok on Monday November 11, 2013 @12:49PM (#6712842)
Re:Amazon Code Ninjas by nilsimsa on Monday November 11, 2013 @10:44AM (#6712103)
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.
Re:Amazon Code Ninjas by ghostdiver on Monday November 11, 2013 @03:58AM (#6710656)
How many of those tasks represent some real-world problem?
Re:Amazon Code Ninjas by twic on Monday November 11, 2013 @04:00AM (#6710669)
All of them. This is the back-end of Mechanical Turk.
Re:Amazon Code Ninjas by mkohlmyr on Monday November 11, 2013 @12:51PM (#6712854)
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.

Re:Amazon Code Ninjas by maxent on Monday November 11, 2013 @10:05AM (#6711923)
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.

Re:Amazon Code Ninjas by ttty on Monday November 11, 2013 @11:54AM (#6712523)
no js