Programming Interviews For Dummies
Book image
Explore Book Buy On Amazon
Your phone screen and/or in-person programming interview will likely include some non-technical questions — better known as ones designed to test your “soft skills.” You need to prepare for these questions ahead of your programming interview because if any of them take you by surprise, they will harm (or end) your ability to get hired.

Though you don’t need to give the exact answers included here they should get you started as you put together your responses for your phone interview, mock interview, and your actual programming interview at the company.

What is your greatest strength?

You should answer this soft skill question in an unabashed manner — that is, be very clear about what your biggest personal strength is. If you aren’t sure, think about the one thing you’re most passionate about.

What’s more, talk about how you’ve used and demonstrated that strength. Talk about how you think that strength is rare, unique, and something that helps you stand apart from the crowd. Most important, tell the interviewers how you’ve used that strength to become a better software developer. It doesn’t matter what your greatest strength is if it isn’t valuable to your employer.

What is your greatest weakness?

This is a classic question designed to trap you. You have to avoid giving an answer that is actually a strength and pretend like it’s a weakness as well as give an answer that’s so transparently debilitating that your interviewers decide you shouldn’t be hired.

For example, don’t say that you’re a perfectionist and so it’s a weakness because you want everything to be perfect. Interviewers can see right through that kind of answer and it will make it appear as if you’re trying to deceive the interviewers by not giving them honest answers.

On the other hand, if you say that you have mental issues and you’re taking medication for it, then you’ve entered the TMI (too much information) zone and your interviewers will be persuaded that you shouldn’t be hired. (Sadly, mental illness is still stigmatized in society.)

So, think of a real weakness that you’ve used to make yourself better. One example is to say that you’re someone who always finds one more thing to fix and so in the past you had problems releasing products.

Then you can follow up by saying how you’ve learned from that weakness by writing down what needs to be finished for the product to be released at the beginning of the project and how that approach made you a more effective software developer.

Where do you see yourself in five years?

This question is designed to disqualify you as a candidate. It’s easy to respond to this soft skill question by saying, “I don’t know.” Though that’s an honest answer, it’s not a good one. You may be dismissed from the interview if you’re even transparent about your intentions such as you’re going to be working in a different job because you expect you’ll hit a wall in your development within the next five years.

Instead, you need to answer the question by telling your interviewers that you’re going to be growing professionally along with the company and tell them how you’re going to do that

For example, you may tell them that you’re going to improve not just your programming skills but also your mentoring skills. Then you can say you not only want to be the person on the team people come to for information or advice, but also you want to make the team the best it can be in the next five years so managers can be confident the team can produce any product for customers.

In sum, your answer needs to reflect that you know what you want your direction to be within the company — even if you say that you want to be the team manager, department manager, or part owner.

Why did you leave your last company?

Here’s another question designed to disqualify you because you can answer it in the wrong way very easily. The best way to answer it is to always put a positive spin on your experience. A quick way to take yourself out of the running is to say you hated the job, you hated the boss, and/or you were fired.

If you can’t say anything nice about your job or your boss, you can still give interviewers one or more good answers:

  • The job culture wasn’t the right fit.
  • You recently moved to this area.
  • Your skillset wasn’t being used fully and you felt that you didn’t make the best contribution you could.
  • You’re looking for new opportunities and challenges.
  • You wanted an opportunity to work with the technologies that the company you’re interviewing with is using.

When you mention you want to work with new technologies, this is a good time to say how you’ve been learning these new technologies and applying them such as in a side project or talking about them in your blog.

The moral of this story is to be honest in your answers to these soft skill questions but don’t reveal anything negative.

Name a time you got into a conflict with a coworker, and how was that resolved?

This is another question to test your maturity or, to use the vernacular, get a sense of your emotional quotient (EQ). Most people have had some kind of conflict with a coworker, no matter how small, because it’s inevitable when you’re working with different personalities in one location.

Even if you’ve been working on your own for a while, you’ve probably had an issue with a customer either in person, on the phone, or in an email message.

No matter what conflict you think of from the past, you need to spin it in a positive light. Here’s how:

  • Don’t talk badly about your coworker or the person you were working with, such as a customer of your app who yelled at you.
  • Don’t tell the interviewers that the other person was an idiot or that he or she made a mistake.
  • Tell the interviewers how you resolved the situation is a peaceful way.
  • Explain how you learned how to see the other person’s point of view.
  • Discuss how you realized you were also wrong and how you grew from that realization.
  • Say how the experience helped teach you how to better manage conflict.
What the interviewer is looking for with this soft skill question is how both you and the other person came to a resolution that was beneficial for the company overall.

What did you like about your last job?

When you prepare to answer this question, think about the things that will mirror the job you’re applying for.

If you previously worked for a small company and you’re applying to work at a big company, it won’t make sense if you talk about how you liked the energy of working for that company. The interviewers will think that you’re not going to be happy at the job you’re applying for, so they’ll wonder why you’re applying for the job in the first place — and that if you’re hired, you’ll leave quickly.

Instead, talk about positive things in your last job that you enjoyed. Those things can include your boss and/or your coworkers who had personality traits and interests that you’ve noticed in some of the interviewers during your interview.

You can talk about the work environment if your interviewers note their environment is much like the one you had at your last job. And based on your review of the job description, you can note that in your last job you used the same technology that you’ll use in the job you’re applying for, so you’ll be a perfect fit.

What did you dislike?

This is another one of those “don’t say anything negative” soft skill questions. Your interviewers want to see if you’re a negative person when you have a chance to be, but don’t take the bait.

Instead, you can say that there wasn’t anything in particular that you really disliked about your last job — you were happy, you enjoyed working for the company, and you enjoyed your coworkers.

After you talk about the people and environment in your last job in glowing terms, make what you dislike seem like it’s not a big deal. One explanation could be, “I just felt like my talents weren’t being used to the fullest. I thought I could do a lot more for the company but there wasn’t the opportunity.”

This answer also doesn’t include the word “challenge,” which can be a red flag word for interviewers because they may get the impression that if you’re not challenged enough in your job, then you’ll leave sooner rather than later.

Why do you want to work for us (or this company)?

Answering this question is a good opportunity for you to show that you researched the company before you came in for the interview. Depending on your company research, here’s how you can respond to this soft skill question:
  • Talk about the history and culture of the company, such as, “I really like the founder’s mission and how he started out working in his garage just like I did. I aspire to fulfill that mission.”
  • Tell the interviewers how you can make an impact and how your skillset perfectly matches what the company is looking for.
  • Explain how you’re excited to raise the bar on the team to the next level and how you can help the programming team do that.

Your answers need to show that you really know both the job and the company, and that you’re not just someone who would take any job — you will only interview for and work for a company that has high standards.

That will tell your interviewers that you have high standards, too, and will help persuade your interviewers that you’re not only worth hiring, but you’ll contribute to the high standards set by the company.

Why should we hire you?

This one is a true test of your soft skills. You need to frame your answer to this question in terms of what’s valuable to them. Don’t talk about why you want the job or how it benefits you. Instead, talk about the benefits you’ll give the company after they hire you.

This is the time to brag about yourself a little bit — that you’re the best candidate for the job because you’re really skilled at the programming language or technology, talk about your accomplishments, and talk about how you continually show leadership in the software development community through your online resources. This can also be the time that you take your self-published book out of your briefcase to show off.

Before you start to annoy your interviewers with all your swagger, switch gears and tell about how you can make the team better. That is, you’re the kind of person who figures out what needs to be done, figures out how to do it, and gets it done.

You should note that you’re a low-maintenance employee, but you’re not just someone who will go off in a corner and work on a job — you’re also great at working with teams to get the job done and spread the credit around.

Why are you the best candidate for this job?

Interviewers will ask this question right after why they should hire you, and this is not a time to be humble. If you’re humble (or, worse, self-deprecating) then you’re blowing the chance to describe all your best qualities.

So, follow up on your previous answers about why you should be hired by showing and giving an overview of what you’re doing:

  • You have a blog that you update regularly.
  • You have a YouTube channel that not only contains a number of instructional videos but also your video résumé and vlogs — and you add more content regularly.
  • You post new audio podcasts frequently.
  • You’re written at least one self-published book.
  • You’re commenting and answering questions from fellow programmers on software development websites including GitHub and Stack Overflow.
  • You’ve spoken at local developer, business events, and/or large developer conferences.
  • You attend developer conferences as often as your schedule allows so you can continue to make new connections and learn about the latest trends. Then you pass along what you learned from those conferences to your readers and viewers.
If you’ve done most — if not all — of these things and continue to work on many of them (such as writing blog posts and producing videos), then you’re going to command the interview room. Now you can use that position to show interviewers how you’ve applied your expertise in past jobs:
  • Tell how you’ve helped other companies in the past that you worked for.
  • Show that people who work with you now and/or have worked with you in the past who have written recommendations endorsing you.
  • Explain how you communicate your points effectively.
  • Discuss how you’ve made projects successful.
  • Describe you’re a good team player and enhance the performance of the entire team.
  • Talk about your leadership qualities and how you’ve influenced people.
You may think of other qualities that you want to tell the interviewers, but you get the idea: This is your opportunity for you to shine and leave stars in your interviewers’ eyes — and you only have a short amount of time to do it. Make every second count.

When facing non-technical questions in a programming interview, you’ll be best equipped to answer if you have performed background research on the company so that you can answer in line with the company’s culture and expectations.

About This Article

This article is from the book:

About the book authors:

John Sonmez is a software developer and the author of two best-selling books, The Complete Software Developer's Career Guide and Soft Skills: The Software Developer's Life Manual. He is also the founder of the Simple Programmer blog and YouTube channel. Eric Butow is the owner of Butow Communications Group (BCG), which offers website design, online marketing, and technical documentation services for businesses. He is the author of 32 computer and user experience books.

This article can be found in the category: