


Good place to work, if you can find the right team
posted
on
February 07, 2008
I read a lot of the reviews of Amazon on this site, and as an employee for over two years with a totally different experience, I felt that I needed to provide my opinion.
It may well be true that there is plenty of legacy code in certain areas of the company and that the pager duty on those teams is hellish. But I can only speak directly about teams I've worked on. Since I've been at Amazon, I've written large amounts of new code for new applications, rewritten sloppy parts of legacy applications, and developed useful things for my customers while still keeping my work fresh and interesting. We experiment with new frameworks, libraries, and even languages and use Amazon Web Services when we can. Other developers and I have plenty of opportunities to push our applications the way we think is right. My management has even provided time for rewriting parts of our working application to reduce developer support. It's true that sometimes a new feature causes a pager to wake you up at night, but these are rare.
As far as career development, those who take an active interest in their careers and demonstrate a strong desire to innovate (rather than a strong desire to agree with whatever their manager may say) are rewarded. It's probably true of most jobs, but maybe more so at Amazon: you aren't just going to stumble upon advancement and promotions. You have to ask for it. You have to take the initiative. Amazon's career development process is designed to identify that type of person.
Amazon isn't perfect nor is it the right place for everyone, and I would give it 3.5 stars if possible. But as far as being a good place to work and further a software development career, it's been very good to me. Others on my teams have had similar experiences. The things that go wrong at Amazon are the same things that go wrong at other companies: our build system isn't perfect (have you ever seen a perfect enterprise build system?) nor is our source control (ditto) and engineers are free to use the tools they want for the job, so there are plenty of languages represented in our code base. And no one drops requirements in your lap (do you really want that though?) The idea is that if you're given sufficient freedom to innovate and explore, because we hired you, you're smart enough people that you'll do the right thing. Sometimes it doesn't work, and sometimes we are in a rush to get something out to make more money that we throw good practices out the window. But I believe the idea is right.
Amazon isn't a software company: it's a retail company which uses software to gain competitive advantages. But it is closer in mentality than any other non-software company that I've seen, and it does some pretty cool stuff.
See 22 more ratings for Amazon.com!
1 comment
Write a comment!
| scores in this rating |
development process |
| clear requirements |
unrated |
| design and planning |
unrated |
| quality assurance |
unrated |
| automated testing |
unrated |
| peer review |
unrated |
| development environment |
unrated |
| development hardware |
unrated |
| physical workspace |
unrated |
| infrastructure and support |
unrated |
| issue tracking |
unrated |
| source control |
unrated |
| product quality |
unrated |
culture |
| cultivation of creativity |
unrated |
| mitigation of risk |
unrated |
| reasonable workload |
unrated |
| prevention of crunch time |
unrated |
| hitting deadlines |
unrated |
| taking responsibility |
unrated |
| development autonomy |
unrated |
| keeping ego in check |
unrated |
compensation |
| salary |
unrated |
| health coverage |
unrated |
| paid time off |
unrated |
| snacks |
unrated |
| other perks |
unrated |
organization |
| advancement opportunities |
unrated |
| employee retention |
unrated |
| hiring process |
unrated |
| quality of development management |
unrated |
| quality of upper management |
unrated |
| quality of developers |
unrated |
| team-to-team communication |
unrated |
| internal team communication |
unrated |
| management-developer communication |
unrated |
general |
| location |
unrated |
| nearby food |
unrated |
| business model |
unrated |
| cool technology |
unrated |
| vision and strategy |
unrated |
| warm fuzzy feeling |
unrated |
| overall |
  
|
preferences |
| casual dress code |
unrated |
| use of Free Software |
unrated |
| development of Free Software |
unrated |
| use of GNU/Linux |
unrated |
| use of Mac OS |
unrated |
| use of Solaris |
unrated |
| use of Windows |
unrated |
| use of BSD |
unrated |
| use of Python |
unrated |
| use of Perl |
unrated |
| use of Ruby |
unrated |
| use of Lisp |
unrated |
| use of Java |
unrated |
| use of C# |
unrated |
| use of Objective-C |
unrated |
| use of C |
unrated |
| use of C++ |
unrated |
| use of PHP |
unrated |
| use of ASP |
unrated |
| use of legacy languages |
unrated |