Working at Amazon does mean that you need to work hard, long and smart. There is a lot of technical debt to deal with too. But the technical debt did not come from bad design, but from the way business grows and changes. There is a 20% growth YoY. Inventories run into millions of products across multiple warehouses. We ship through multiple means and we ensure the product shipped reaches the customer on the promised date at over 95% of the time.
In real life, this means that you are going to have trade-offs and some of the trade-offs do turn into technical debt. What we do with the debt is more important and amongst my groups, we are decreasing the debt by leaps and bounds.
If you want to see how it is, give me a shout. We are hiring, as usual :) I can take resumes in any format too :)
In particular I seem to recall something about 40 million lines of C++ code in their core product, and about mediocre engineering talent and high levels of burnout due to the technical debt they're required to deal with...
In fact, ever-increasing engineering costs would be just as indicative of mounting technical debt as it would of an increasing commitment to R&D.
On the other hand, when you're in the trenches of a product team at Amazon, good engineering takes a back seat to features, deadlines, and keeping everything running. There was an incredible amount of pressure from the top to maintain high levels of service, but not a lot of support for taking the time to refactor or rework those systems to address the underlying causes of service disruption. Everything was always an emergency, but we always had to make the shallow fixes.
Overall, I'm much happier at Google where there is a lot of support for good engineering at all levels of the organization, not just as a means to an end, but as an end in itself.
If you aren't making features and meeting deadlines you aren't engineering anything. You're just messing around. Features and deadlines are the difference between science and engineering. There's never enough time, that's what makes it hard.
Of course, Amazon might be pushing time tables too far. I have no idea, and it seems like you do.
Good engineers also have to be good analysts. What often makes a programmer better is his/her opinion to say yes and no to products people/designers. But yet again there is a balance. haberman mentioned Google but I personally don't like the over-engineered Google culture. It's too left-wing, if tight deadlines are too right.
Main problem is that a new family of species called AWS is so well-adapted and successful that its population is rapidly outgrowing some of the older, less dynamic species on which it depends. You can call that technical debt. I'd call it progress.
Also, for Amazon and other companies, there is a world of difference going through their public-facing recruiting process and getting to know someone on an interesting team through your network, and getting hired through them.
I also mentioned some of this at http://news.ycombinator.com/item?id=2488980
One of the issues is that none of us really know what goes on inside Amazon. They are notoriously secretive about most everything.
That was a long time ago. As Jeff Bezos confirms in the article, Amazon is a constellation of services now.
Business needs change too quickly for a system as large as Amazon; they simply cannot maintain net zero technical debt and not cripple their reaction time in the market.
The key is to know what level of debt is necessary and acceptable to take on and deal with going forward.
In fact Amazon is one of the best places in terms of innovation. In addition to having a strong core business, they also have AWS, kindle, android app store.
Who cares if their legacy codebase is 40 milllions lines of C++ and not your hip Ruby or LIPS nonsense. The truth is that they get work done. AWS is one of the best cloud computing system out there. Nothing else comes even closer. Dropbox, Heroku and Reddit all rely on them. Who cares if they take resume in word format, they pay well.
Its sad to see HN turning into a language fanboi and apple fanboi club.
The AWS EC2 outage did not even affect 0.01% of their revenue.
Has Bezos ever actually used Amazon's search functionality?
I know it isn't the easiest problem in the world to solve, but their search is by far the worst of any of the major shopping sites that I use on a regular basis.
Among other neat tricks, it allows us to handle synchronous RPC calls and asynchronous message passing in a unified way. It also maps transparently to any ZeroMQ topology.
Combine this with the recent release of gevent support for zeromq [4] and you get a fun, fun playground :)
http://incubator.apache.org/thrift/
It provides an RPC framework and IDL.
"Google made a 10% across-the-board salary increase, which is driving up expenses this year."
"[Amazon] spent ferociously to build more fulfillment centers and expand its technology offerings."
As a Canadian, the whole currency conversion thing adds another source of risk.
Do you have any experience in hedging your US investments by shorting the USD? I'm wondering if the additional fees are worth it.
Exposing these things would be a powerful recruiting tool.
Exact keyword match is obviously fine. "harry potter and the sorcerer's stone" gives me various options for buying that book and a bunch of other harry potter related books, and i can sort by some useful options like reviews or bestselling.
Harder problems, Google shopping vs amazon: Misspellings: Hairy Potter - Amazon suggests 'did you mean Harry Potter?', but does not initially put that book in front of me. When I check again later they are now providing a second list, "Results for "harry potter" (corrected from "hairy potter")"
Google shopping shows me the Did you Mean question, search results are the lego sets and one movie.
Concepts/descriptions instead of exact thing: "Boy Wizard Series" - both fail to suggest harry potter to me, but they do start with "Harry, a History" which might be enough to jog my memory. Still, no real points here, but this is a hard problem, and I don't know any shopping site that does it well. Even Google's regular web search is not fantastic at this, hitting mostly news articles and not reading my mind and popping out with "I bet you want to see information about Harry Potter..."
So where's the trouble?
I'm willing to cut them slack since it's good enough, but look at Newegg to see how it should be done. It's not a completely fair comparison (since Newegg specializes in this), but they do it so much better.[2]
[1] http://www.amazon.com/gp/search/ref=sr_nr_i_0?rh=k%3A16gb+sd...
[2] http://www.newegg.com/Product/ProductList.aspx?Submit=ENE...
I would be very surprised if they were not losing a significant amount of business from this deficit, especially outside of the well cataloged area of books.
Works out well for everyone - so, to some degree, a valid filter.
I once sent a .doc file to a potential employer, and when I arrived for my interview I saw that the font it had fallen back to (since it didn't have the exact one I'd used) was an aliased version of Courier for some ridiculous reason. It was ugly and difficult to read, the spacing was entirely incorrect, and it was generally a mess. If I were an employer and received a resume that looked like that, I'd surely count it as points against them (though it's possible that accepting Word document resumes means that this happens frequently and you get used to it).
I don't mind using MS Word at work, but I don't use it at home and have no intention of paying for it, so being able to provide someone a reliable, working document is not a guarantee unless I'm using PDF.
I mean I feel your pain, Word Docs give me the cold shivers, but there are some tools.
Yes that can also be done with a PDF, but it is difficult enough that they don't.
You don't think that filtering out people who have issues with the HR organization processing resume's isn't a "Filter?"
For me, it's a practical and ideological thing. My resume is written in LaTeX (with a plain text version) and unless I'm missing something, there is no good or easy way to convert from LaTeX to MS Word. I also have doubts about a company that insists on word documents - it smells like inflexibility and a heavy-handed top down management approach.
Word should be perfectly happy reading that. And a lot of places that say they only accept Word won't notice the difference. (I don't know about Amazon.)
Considering Amazon didn't develop the system, I don't think the choice of software by the HR department is really something that is safe to make generalizations from.
According to Bezos you're wrong. If technology infuses all of their processes that also includes hiring.
And let's not forget Conway's law. http://en.wikipedia.org/wiki/Conway%27s_Law
Everything matters. If only because good people will ignore companies that have stupid hiring processes.
So the HR department is in the driver's seat on hiring is a good proxy for determining how good their engineering is.
Personally I think a better indicator than if a company is they Word-only or not is the quality of their job postings. HR is not competent to write job descriptions for engineers, and the idiotic descriptions that get passed around the internet are almost always an indicator that hiring is "HR's responsibility."
I don't know about 6 months ago, perhaps their policy has changed.
Why not just send it in a decent format and see what happens? Just because they say they'll reject it doesn't mean they will.
I hope that you agree that txt and pdf files are just as convenient formats to read as doc ones. IMHO it is irritating when someone insists that any document you send them should be in the format of the application they write documents with.
Furthermore, these are no absolutes. If the State asks me to send a document in doc format, I will. Despite pretenses, these companies (and HR depts) are not Republic of Greater Timbuktu really - so I will skip, thank you. :)
As an employer it is more important to find good cultural fits than it is as an employee, since it is typically easier for employees to leave than it is to fire them.
I use Ubuntu at home. As someone who will need to work with Ubuntu Server at work, I think that's a good thing for my employability. Using Microsoft Word in Ubuntu is not an option for me.
So it's a Giant Pain in the Butt to produce a Word-formatted resume (no, OpenOfice and Google Docs don't make it reliably look good), and there's no reason they need that because they're not going to edit it.
On the other hand, it's easy for me to produce a PDF, which will look better anyway, and it can be done using the OS I will be using at the job I'm applying for.
Being told, effectively, "we require you to install Windows so that you can submit a nice-looking resume for this job working with Unix" is annoying. It's a small factor in how interested I am in the job, but a factor nonetheless, because it shows (to me) that technical people are not running the company.
In short, if your format messes up a little bit no one cares.
Unless the HR department intends to edit your resume, why on earth wouldn't they accept PDF?
All technology is about making stuff work like clockwork. That's like.. what it's all about. This applies to human processes just as much as machine ones.
Conformity is one way to create good clockwork machines.
Your reasons strike me as childish. Word is still the best word processor by far. Personally I respect people who use Word because it means they're willing to use the best software despite it being associated with Microsoft. Word for Mac is about a billion times more sophisticated than Pages.
Anyway to each his own.
I'm not trying to mock you, I just really feel this way.
Want an impressive resume? Think latex!
Want an even more impressive? Build up your resume and portfolio online.
However, because I took the initiative to teach myself an industry standard text markup language in order to make a CV that looks really nice and will always display and print properly (and is distributed in the most widely-agreed upon document format for that purpose), you want to exclude me? I'm not submitting in PDF to be difficult or to take a stance, it's a convenient, standardised and well supported format which I am using for its intended purpose.
Comparing smoke signals to PDF is completely disingenuous, as is bundling together "people who happen to submit their CV to you as a PDF" and "people who would flat-out refuse to submit their CV as a .doc".
This seems like a good cultural filter to me (on both sides).
Our network team is working on some major goodies which should make you happy. Personally they bring tears to my eyes :)
In the meantime, my recommendation is to start with http. If you keep the RPC semantics simple, you can easily migrate to a different transport later. And you'll need HTTP to authenticate and encrypt at the boundaries anyway.
I'm not a stock maven, so it's possible that I'm missing some important detail.
Or perhaps, the impact of any EBS/AWS outage has very little impact on the overall health and success of the entire Amazon business.
I'm thinking about all of the hardcore neuron work that went in to their infrastructure and how I'm getting a competing product for a song.
Maybe the association was temporal as I'd just finished watching an IO presentation about how to scheme data for appengine where the detail was primarily the same as Bezos' first few paragraphs.