| Amazon engineer here. Before I worked here, I read Steve Yegge's posts on interviews at Amazon and Google. You cannot get information more straight from the horse's mouth. I also agree with the general point that you are better off doing interview prep than your general undergrad algorithms courses. But the catch is that interview prep will lead you back to CS fundamentals anyway. This is a both/and, not an either/or. The other thing I wanted to address is whether working at Amazon can be practical and cool. My team is the full stack physical rentals team. When you press a Rent-Now button on Amazon.com, you enter my team's world. Today, we rent physical textbooks to millions of students every semester, and they all get returned at the same time. We own custom checkout, order management, and return customer experiences. Underlying them is a service ecosystem we built and maintain. To handle the seasonal, spiky nature of our business (back to school, Christmas vacation returns), we use AWS to scale up and down during peaks. Success breeds success, and we're working on category expansion. Twenty engineers in three teams run the software for this business. That is cool. There is an incredibly broad spectrum of work going on at Amazon, from mammoth services to front end optimization and everything in between, including unfortunately some very unhappy firefighting operations. Undergirding it is heavy company investment in builder tools and infrastructure, and excellent engineers. One person's cool is another person's depressing, but I would look at the job listing carefully before writing off a stint at any of the Titans of software. |