Before Applying to Software Developer Positions at Amazon

Advice from an Amazon Software Engineer and Recruiter What you need to do to prepare yourself for interviewing at Amazon.

Before Applying to Software Developer Positions at Amazon

Advice from an Amazon software engineer and recruiter

I interviewed an engineer and recruiter to find out what it takes to be successful when interviewing at Amazon. Here is the inside scoop on what to do before applying to be a software developer at Amazon. If you do these things you are on track to do well in your interview.

Software Development

Experience: The first bit of advice was to have the experience listed on the job posting. Most Amazon Jobs do not require you to have a four-year degree or 15 years of experience. If they do list experience, it is because they want it. Here are some examples pulled from job postings of the experience they want:

  • 3+ years of non-internship professional software development experience
  • Bachelor’s Degree in Computer Science or related field
  • Equivalent experience to a Bachelor’s degree based on 3 years of work experience for every 1 year of education
Source: Grades Matter But Experience Matters More

Amazon does not typically want applicants right out of college. They want people who are familiar with the process of building software. You don't have to work at a company that makes software for hundreds of thousands of people. You just need to be able to demonstrate that when confronted with an issue, you can translate that into software.

Skills: Here is another thing that gets a lot of people. Amazon needs people with a strong understanding of algorithms and data structures. BEFORE you apply you should do the following things.

1. Practice Algorithm coding by completing the first 60 projects on ProjectEuler.net. This website has problems that require you to be able to think through the efficiency of your solution. Most of the problems cannot be solved by brute-forcing. Below is an example of one of these problems.By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.What is the 10,001st prime number?

While you could go through and brute force it, you will end up spending a ridiculous amount of time trying to find the solution. If I remember anything from math, the number of operations to brute force looks something like this:// Matrix for the number of possible calculations
1 . 2 . 3 ... 120,000
   1 . 2 ... 119,999
       1 ... 119,998
             .
             .
             1You can write the number of calculations as a 120,000 x 120,000 matrix.We can divide that by two as 100,000 X 200 is the same as 200 x 100,000. Therefore we only need to work half of the matrix120,000 * 120,000 = 1.44x10^10 / 2 = 7,200,000,000 calculations needed to brute force this problem.

Source: DannyDainton.com

For anyone who found this while googling for the answer to this problem, it is not 120,000. That is a placeholder to demonstrate the scale of this problem and it could be above or below.

2. Learn how other companies scale by looking at sample architectures on HighScaleability.com. Here you will find articles about how companies like Netflix build solutions that scale.

Source: IBlogZone.com

3. Data structures live at the core of most algorithms. If you need to freshen up on data algorithms head on over to CodeChef.com. There you will find several problems that can help you get refreshed on linked lists, b-trees, stacks, and queues.

Source: Arafat Khan

Amazon’s Core Values

Knowing Amazon’s core values is another key factor to do well at an interview. Jeff Bezos keeps the mission at the forefront of Amazon. Knowing what they value will help you to gain rapport with your interviewer. Be prepared to have examples of times you exemplified these characteristics handy. These were pulled from an interview of Bezos posted on Inc.com.

Source: Business Tells

Customer Obsession

Leading the way at Amazon is customer obsession. Bezos believes by focusing on what customers want you will gain an edge up on your competition. Being competition focused means you will always be a step behind what the customer wants. How have you demonstrated customer obsession in your work?

Eagerness to Invent

This ties right into the customer obsession. Being willing to invent the solution to what the customer needs is the best way to keep customers happy. In what ways have you invested in your current position or personal projects?

Long Term Thinking

Rushing too quick into inventing the solution would sink Amazon. Half done solutions just cause frustration as they do not work as intended or have unnecessary bugs. Broken solutions are not in the customers' best interest. What solutions have you implemented that are ready for the long haul?

Operational Excellence

Every aspect of operations at Amazon is well thought out. Processes and procedures are tested and automated. That way everything can run smoothly and keep up to date better. If you didn't have to learn the whole deployment process for your work how much quicker could you do releases? If debugging in your environments was just the press of a few buttons how much faster could you code?

The Interview Process

Everything before this section is what you will want to do before you even interview. When you apply, if your resume is accepted, a recruiter will reach out to you. Likely they will offer the resources I have mentioned and allow for you to have a week or two to study them.

Source: Amazon Day One Blog

Coding Challange

First up is the coding assessment. The first section of the code challenge is two programming problems. You will have 90 minutes to do both of the problems. According to Amazon, it is more important to have working solutions for these problems than the most optimized solution. That being said, take the time to make them as efficient as you can.

The second section of the assessment asks you to describe your approach to the problem, its efficiency O(x), describe your work style, and to give feedback.

The problems can be solved in Java, C, C++, C#, Python, Ruby, JavaScript, and Swift. Pick a language that is most comfortable for you. Being familiar with a language means saving time. For example, a problem could utilize math.gcd to prevent you from having to come up with an algorithm to find the greatest common denominator.

When you are finished with the code challenge it instantly is rated. If your solutions are efficient and both run then you will be green and get set up for an interview. If you only complete one solution or both of your solutions but they weren’t efficient, you will be flagged as yellow. The yellow status will get sent for review and then they will determine if you are a good fit. The red status will mean you were passed on.

Phone Interview

Next will be a phone interview. This is where you will answer questions regarding your character. Here you will need examples of how you fit into the culture mentioned above. There will likely be questions about technical challenges and even some over-the-phone coding questions.

In-Person Interview

For the in-person interview, it will be much of the same as the phone. Questions about how you handled difficult situations, technical questions, and questions about scalability. This is because to Amazon, it is just as important that you fit the mission as well as being able to code.

For more about the interviews, you can see Amazon's descriptions here. If this seems daunting, then Amazon’s strategy is working. They are not interested in people who kinda want to work there. They are looking to find the people who are passionate about their craft and that will go the distance for their customers.