I got through the first phone interview at Amazon last week and they asked some basic technical questions during that interview.

Today, I had my second phone-interview and I prepared myself well expecting for another technical interview, but it was not technical at all.

After we introduced ourselves, he asked questions like:

  1. Why do you like to do programming?
  2. What do you Not like about programming?
  3. What do you expect from a new job?
  4. In the last project you worked on, how did you make sure the project was implemented to the client's requirements?
  5. Was there was any project, that during the development, you felt like the design was bad, and if so, what did you do to fix the issue?
  6. As an engineer how would you keep up with the new technologies?

Additionally, when I explained to him about a recent project I worked on, he asked me about why we decided to make a specific design decision and whether it was my decision.

I was wondering why he asked me these kind of questions; since English is not my native language, I assume that one of the reasons was to test my knowledge of the language.

And most of the answers I gave him were very short and since I felt like he's expecting more, I tried to come up with things to say and ended up just blabbering. Overall I think the interview went really bad because I couldn't clearly convey my points to him.

Why was I asked these types of questions, and what kind of answers do interviewers expect?

  • 3
    Hi Ashika Umanga Umagiliya, I removed your answers to the questions to generalize your question for future visitors.
    – user8
    Dec 20, 2011 at 16:49
  • 31
    Most people I've worked with consider these the most valuable questions in an interview--what you have learned before you come to a job is often irrelevant, it's how well you will learn moving forward that is important.
    – Bill K
    Dec 20, 2011 at 19:27
  • 5
    Question 4 is a technical question.
    – Jay Elston
    Dec 20, 2011 at 19:55
  • 6
    Question 5 is also a technical question. Or did you mean "questions with right and wrong answers" when you said "technical question"?
    – user16764
    Dec 20, 2011 at 21:02
  • 6
    If you had to boil the (excellent) answers to this question down into a single sentence, I think it would be that "they ask these questions because they're not looking to hire a programmer - they're looking to hire a developer" Dec 20, 2011 at 23:43

10 Answers 10


It is open-ended questions. They are tailored to see how easily you can describe your views on your practice. The main objective of those questions is to make you talk, not to test your English skill (even if communication skills can be tested this way), but to see if you are passionate (Why do you like to do programming? Details about your latest project?) about what you are doing, and if you feel invested in your practice.

They are also asked to see if you can take a distance, and judge yourself in your practice, that you know your weak points.(What do you not like about programming?)

There are also some questions that can be considered as BS-detecting questions(Details about your latest project?). That's because the last thing someone wants in a team, is someone lying, so you have to get in the details of what you are pretending you've done.

Then, there are also the questions about your evolution as a competent programmer(How do you keep up with the new technologies?), and your capacity to constantly evolve without being constantly asked to.

Overall, those questions are generally asked to make a connection, and see if you are a good fit for the company and it's culture. It's totally subjective. The goal is to see if communication is easy, and ideas can be easily shared. If you feel that you did bad because that connection didn't happen, well maybe it's better that you pass to the next company.

  • 1
    Also general questions to see how well you work with others--like how you've dealt with conflicts & frustrating coworkers.
    – Doug T.
    Dec 21, 2011 at 16:37

These are soft questions that do not have a right or wrong answer, but are intended to determine the way you think, what kind of personality you have, and whether your personality will fit with their culture. This is something that non-native english speakers as well as people who come from a different culture can have a hard time with, especially Asian cultures.

The biggest hangup I see when asking these kinds of questions to people of Asian cultures is that they have a huge problem with admitting personal fault in an introspective way and positive way. Many westerners see the ability to admit ones faults and suggest how to improve themselves as an admirable quality (this may be influenced by Christianity and religous need to admit ones faults to God?). Most people of Asian cultures I have worked with view this kind of introspective admission as an extraordinary sign of weakness and I can respect that viewpoint too. Not all westerners understand this.

Another hangup I see is the inability to say No to a superior. This is another cultural difference between highly regarded western values like how we view being independently minded and creative as more important than being subservient, placating or respectful.

These cultural barriers can be bridged by each side respecting and having a greater understanding of differing viewpoints and the strengths and weaknesses of each others culturally instilled values.

EDIT: My answer seems to have stirred some controversy so I will clarify some points. These are not based on any scientific evidence or studies that I know of. My answer is completely my opinion based on Asian studies, philosophy and world history courses that I had taken in University, as well as several close friendships with people from many cultures across the world.

Further I would like to clarify that I am not discussing racial differences, merely cultural differences. My opinions are that the more we are aware of each others background, the less we subconsciously judge those that are different from us. I in no way am saying that one culture is superior to another. If you believe that acknowledging cultural differences is in fact discrimination then I understand and respect your opinion, however I humbly disagree.

  • 3
    Great insights. I hadn't considered how profound the difference was in base cultural values and I think this knowledge could be very useful for people coming from other cultures.
    – Bill K
    Dec 20, 2011 at 19:26
  • 7
    Cultural barriers like the ones you describe even exist between Western cultures that are otherwise closely related, such as Dutch and German (such as Dutch employees being expected to speak up against their superiors much more than Germans, but also the way you word an argument, etc.)
    – tdammers
    Dec 20, 2011 at 20:10
  • 1
    @maple_shaft: It's always surprising, at least for me, how people can differentiate themselves from each other even with geographic proximity and common ancestors. But they do extensively, and it has a strong impact in professional life. Just take for exemple the way you write resumes.
    – Matthieu
    Dec 20, 2011 at 20:31
  • 1
    Your answer made me chuckle: I am an Indian and belong to a church as old as Christianity itself :D But yes, I do feel frustrated by people screwing up things by being blindly obiedient to superiors and not owning upto their weaknesses. Dec 21, 2011 at 17:15
  • 1
    Ermmm, sorry to be a bust, but I was wondering if someone could cite some quantitative scientific research that supports the assertions being made about "people of Asian cultures" and "westerners" in this post? Where did these claims about the behaviour of maybe several billions of people come from? I would also like to know why the assumption is made that the amazon interviewer is first language english and not infact Asian himself? Or am I missing the point? Dec 21, 2011 at 17:19

Regarding why they asked these kinds of questions, I ask these sorts of questions in every interview I do. When hiring someone, I want to know how they handle different situations, their thought process when trying to solve problems, how the handle stressful/negative situations, etc.

Someone knowing a certain programming language is only a small part of the hiring decision. Knowing the prospective employee will make smart decisions, take responsibility for their actions, etc is more important.

As far as what answers are expected... Honest ones. I appreciate when someone will respond with details, and are willing to admit their role (both positive and negative) in various situations. Additionally, questions like "What do you like about programming" to me help reveal more about a candidates personality than anything specifically about programming.


They weren't asking you the questions because you aren't a native English speaker. Questions like this are typical in an interview. The technical questions are asked to learn about your skills and what technical background you can bring to the team or the company. However, companies also want to hire people who are a good fit for the culture and who can contribute in other ways, perhaps outside of their primary role or who can grow into new positions within the organization.

The questions about what you like and don't like about programming might be indicative of your work ethic and your capabilities to learn and adapt to your development duties in the future. They want to see how passionate you are about the work that you are going to be doing and make sure that you aren't going to be someone who comes in, does their time, and leaves without enjoying the work that they are doing. It's well known in organizational behavior that employees that are happy in carrying out their responsibilities are more productive and tend to contribute to the team's performance.

Asking what you expect from the job gives the interviewer some insight into why you want the position. They want to know if you are looking for a 40-50 hour/week job for the paycheck, or if you are passionate about your field. They want to know what you are looking for from your company, in terms of personal and professional development and growth. Again, it goes back to a cultural fit with the team and the organization. Companies aren't just looking for people to fill a desk, but rather contribute to the knowledge and capabilities of the organization. In order to do this, they need to know what you are expecting to be a happy, productive, contributing worker.

Questions about past projects are designed to learn about your decision making, leadership, and personal interactions. This is partially technical and address concerns about your ability to make sound technical decisions, or to learn from your mistakes. They also identify you capabilities to work with other people, to recognize your own shortcomings, and to learn from mistakes.

All of these questions also cover your ability to communicate about yourself and your desires and goals with other people. Software engineering is just as much about communication as it is designing and building software systems, so being able to think and explain yourself clearly to the interviewer is important for these subjective, open-ended questions.

From an interviewer's perspective, you should be providing answers that are honest and complete. Don't go into every little detail - the interviewer will ask for more if they want it. However, discuss enough to give them an idea about how you think, act, and respond to various situations. That's what they want to know about.


I am a fan of examples, so let's have some. Which person would you prefer to hire?

Why do you like to do programming?

  • I like programming because I enjoy problem solving and I like computers.
  • I program because it's my job.

What do you Not like about programming?

  • I dislike programming alone, I much prefer to work in a team.
  • I dislike writing comments, unit testing and having to use VCS.

What do you expect from a new job?

  • I expect to be challenged, to learn and to achieve success in my new job.
  • I expect a pay increase.

The other answers here have covered why these questions are often asked in an interview. Hopefully this can give you a more concrete idea of the spectrum of responses.

  • well my answers were pretty close to the first three answers you have mentioned.Programming has been my hobby,even before i get into the college.but i think i have to improve my communication skills more and prepare myself to answer these kind of questions.I never expected this kind of questions and got panicked during the interview. Dec 21, 2011 at 8:06

Wow, the answers here are great! I was all geared up to provide my own, but the mark was hit so completely, I only have one or two things to add!

First a basic premise on managing teams - A developer's salary is not cheap. And the learning curve to fitting a new person into a team is significant. It's not just the cost of the person while they are learning how to blend into the team/company, but the team's time in getting the person up to speed. A team should be helping each other, so when a new person joins, everyone should be prepared to chip in a bit to help the new guy and spending a little extra time making sure the first few communication attempts are clear. That's going to mean a decline in overall productivity - a worthwhile trade, but not a cheap one.

So... the manager needs to know:

1 - will the new guy adjustment period be minimal - how a person raises issues, what a person does when they see a problem, and how a person interprets what he hears are all good indicators of how that person works in a team environment. NOTE: There is no perfection here, and sometimes a long adjustment period is totally worth it, depending on team chemistry.

2 - how long will the new guy stick around - so what if you love the new guy - if he leaves the company in a year, you have lost money on hiring him. Even for a miracle worker, figure it takes around 3 months of barely-productive time from the new guy, and then another 3 of mostly-productive time. Only after about 6 months is the new guy up and going. By the end of a year, his productivity is starting to amortize that early period of non-productivity and team drain. If the new guy submits his resignation around that time, you generally suffer a net loss. The team feels burned, you didn't get the efficiency you hoped for, overall, from the new hire, and you invested a fair bit of capital fitting him in. The first two questions above are what I call the "will he stay" questions - if the person wants a radically different corporate culture, then no amount of convincing will keep him around. NOTE: This can be almost impossible to diagnose with new college grads. 9 times out of 10 they don't have enough experience to really tell you what they will want - they aren't psychic, after all!


I ask these kind of question because being able to code or solve technical problems is only a basic foundation of how you are going to do in the company. The interviewer was testing communication, motivation and behavior.

The interviewer in your case seems to be interested in:

  • Can this person communicate with his teammates effectively to work as a team?
  • Does this person have an genuine interest in the IT industry and truly love what he is doing.
  • Would this person be pleasant to work with?

Language skills are not a criteria.

However, if you have trouble describing your project and interests, I would have doubts about your ability to follow complex discussions and whiteboard session (over noisy conference bridge) or present your design and solutions to teammates and managers.

Technical skills are a bar you have to pass through to be competent, but good communication combined with a genuine motivate are what truly makes you outstanding in the long term, and that is what we care about the most.

Disclaimer: I do not speak for Amazon policy in any way and the statement above is purely my personal opinion.


I think with questions such as these, the interviewer is simply trying to get you to think outside the box (not just techie) in terms of problem solving and communication skills. Also, it is important to know that employers are not only interested in the technical skills that you've picked up from college or uni, they are also interested in your interpersonal skills and approach to different real world scenarios. In summary, I would say that before anyone applies for a job in any company or firm, do some background reading about the company and also find out what are the most likely skills they would be expecting you to show in the interview process not just skills for your job role.


Like others here, I always ask questions like this when I'm interviewing.

The three things I try to glean from an interview are:
1- Passion (love solving problems and getting results)
2- Ability to understand and explain problems and solutions at different levels to different audiences
3- Personality (Ability to fit in with the rest of the team)

I also try and approach these topics in way to make the tone relaxed and conversational. I want to know what the person will really be like after they've settled in on the team and at the company.


Knowledge of specific technologies and syntax isnt the most important factor in a world where those technologies change every couple of years. It sounds like they pre-filtered you on the phone with some tech questions to make sure you were a legitimate candidate, and then when in person, were trying to learn what kind of programmer you are and what kind of decisions you make. In the long run, having someone who makes good decisions is far more important than someone who knows programming language syntax.

Not the answer you're looking for? Browse other questions tagged or ask your own question.