10 Developer Job Interview Tips To Land The Best Job You Can

There isn’t a large amount of advice out there on developer job interviews.

I’ve found that many talented developers have difficulty with job interviews, because they spend more of their time focusing on what they are truly passionate about, technology and development, and not much time prepping their interview skills.

It’s unfortunate, because having good job interview skills can really help you advance your career by giving you opportunities you wouldn’t be able to get without being skilled in this area

.fotolia 40952476 xs thumb 10 Developer Job Interview Tips To Land The Best Job You Can

1. Hire an expert to create your resume

I’ve mentioned this idea before, but it is so important that I’ll say it again.  Unless you write resumes for a living, you are not a professional resume writer.

There are people who write resumes for a living and those professional resume writers probably don’t try and write their own software to use on their computer.

So, if resume writers don’t write software, why would software developers try and write resumes?

Perhaps you can do a good job, but chances are a professional can do a better job.

My advice, if you want to get the largest number of possible opportunities for a job, bite the bullet and pay the dollars to have your resume written professionally.  It is a relatively small investment for the potential gain of landing a much better job based on the large number of opportunities you are likely to have.

2. Research your interviewer

I’m always amazed when I conduct a developer interview and I’ve sent an email out to the developer I am interviewing ahead of time, which had my full name and my blog address, yet when I speak to them in the interview they seem to know nothing about me.

On the other hand, I’ve had interviews where I’ve interview someone and they worked into the interview a mention of a blog post I had written or a course of mine they had watched on Pluralsight.

Guess which developer I was more likely to recommend for a job?

We are all human, we like to know that someone is interested in us.  Dale Carnegie taught me the easiest way to get someone interested in you is to show a genuine interest in them. (Yes, I’m recommending this book again for like the 8th time, and yes, that is an Amazon affiliate link.)research thumb 10 Developer Job Interview Tips To Land The Best Job You Can

Whether this is fair and objective is besides the point.  If you are interviewing for a job, it is just ludicrous not to research the company you are interviewing at and the interviewer, (if you know who it will be,) ahead of time.

Today it is easier than ever to find someone’s Facebook page, Twitter handle or blog.  You can learn quite a bit with just a little bit of research and it shows that you actually are detail-oriented and care about your career.

3. Get an inside referral

Want to know the absolute easiest way to get a job?  Get an inside referral.

You will be twice as likely to be interviewed and 40% more likely to be hired.

Yeah, that’s right, it makes that much of an impact!

It isn’t even very difficult to do, if you are willing to plant a few seeds ahead of time to make sure there are plenty of apples on the tree, when you need to pick one.

A while back I found a company I wanted to work for.  So, what did I do?

Well, I found a developer at that company that I felt had some common thoughts and ideas as my own and I started following his blog.

I commented on his blog and showed an interest in his work and the company he was working for, and eventually I had an opportunity from that situation to get an inside referral.

Many developers say, “well, I don’t know anyone in XYZ corp.”  Ok, fine if you want to give up there, go ahead, but I bet, if you try, you can find a way to meet and befriend someone in just about any company.

But the secret is, you have to network before you need a job, so start doing it now!

4. Learn to solve algorithm based problems

I’ve got a 6 step process I use to solve algorithm based problems that often come up in developer interviews.

I go step by step and teach you how to do this in my Pluralsight course on Job Interviews.

It is an important skill that every developer should have and it isn’t really that difficult to learn.

Many touch job interviews include 1 or more questions where you are asked to solve some programming problem, either on a whiteboard or at a computer, yet many developers, who are otherwise great programmers, become completely paralyzed when asked to do so and flub it.

If you take the time to learn how to solve these kinds of problems, you’ll easily put yourself in the top 10% of developers who interview for most jobs and you’ll be much less nervous about being asked to solve a problem on the spot.

The reason why we get nervous has nothing to do with performance anxiety, it has everything to do with familiarity and confidence in solving these types of problems.

For example, if someone asked you to do 10 jumping jacks, you probably wouldn’t get all nervous and flail around… why?  Because you are confident you can do it.

Build your confidence in this area and you won’t be nervous either.

5. Answer questions with passion

One word answer to questions or one sentence textbook definitions may technically be correct, but if that is all you do, you are missing an opportunity to showcase one of the greatest assets a developer can bring to a team—passion.

answer thumb 10 Developer Job Interview Tips To Land The Best Job You CanIf I ask you what polymorphism is, I am not just asking to find out if you can read a textbook and memorize a definition to repeat back to me later.  I am trying to find out what you think about polymorphism.  I want you to expound upon the subject and use it as an opportunity to have a conversation.

Now, not all interviewers think the same way, and you have to be a little cognizant of when it is time to shut-up, but the point is you should try and show some passion in your answers and expound upon them if possible.

6. Avoid “trap” questions

Why are you looking for a new opportunity?

Name your greatest strength and your greatest weakness.

What was the result the last time you and a coworker disagreed on a technical issue?

You should really know how you are going to answer these types of questions before you are asked them and what the interviewer is looking for when asking these questions.

I’ve got some recommendations on exactly how to answer these questions in my course, but you should at least consider these kinds of questions ahead of time and reason through some of the possible answers you can give.

For example, if we look at just that first question about why you are looking for a new opportunity…

In many cases interviewers are trying to find out if you are going to bad mouth your current or previous employers.  It is a sure sign you will do the same to them, so don’t do it.

If you don’t think about this ahead of time, you can easily fall into the trap of saying something negative about your current job and severely hurting your chances of landing that new job.

7. Don’t ever lie!

One of the worst things to do in an interview is to lie.

If you don’t know something, don’t make up an answer.  Don’t pretend like you worked with some technology if you haven’t or make up some story of how you used something in your last job.

Instead, either say, that you don’t know or that you aren’t 100% sure, but you can try and give an answer based on what you think.  It also doesn’t hurt to follow up by asking the interviewer what the correct answer is, because you are genuinely interested.

There is a good chance whatever an interviewer is going to ask you about is something they are familiar with, because they don’t want to look like an idiot if you start talking about the subject.  For that reason, even if you consider yourself a good BS’er, most of your BS will be instantly detected and you’ll immediately lose your integrity, which is very hard to ever gain back.

8. Don’t ever be brutally honest

Many developers go overboard the other direction and reveal too many personal details about themselves, thinking that honesty and complete transparency is the best policy.

While you shouldn’t lie, you also shouldn’t spill all the messy details of your life and all your personal flaws to your interviewer either.

People are drawn in by a bit of mystery and generally don’t like to gamble on whether or not your OCD or obsession with World of Warcraft will cause you to be a flop at your job.

Personality is good, character flaws are bad.

Don’t ever lie, but don’t volunteer up information that is going to paint you in a bad light.  Not only will that information likely hurt you, but it also shows a lack of judgment as well.

9. Know your computer science basics

I also cover this in my Job Interview course, because it is so important and can be learned in less than an hour.

Yes, so many developers claim that they don’t know what linked lists and stacks are, because they don’t have a formal education in computer science or it was too long ago when they graduated college.

I agree that we don’t use deep computer science concepts in most programming jobs, but as a professional software developer, you should at least know the basics.

I seriously doubt you’d want an electrician to rewire your house, if that electrician didn’t know anything about the basics of electrical engineering, so don’t assume that someone wants to hire someone who can code, but doesn’t understand the fundamentals of their profession.

You don’t have to be a computer science professor, but you should at least know the basics that I am sure can be taught in an hour, because I do so in my Job Interview course.

10. Build experience creatively

Last but not least, many developers, especially developers starting out or moving from another career field, lack relevant work experience and have no idea how to get it.

It is a bit like the chicken or the egg problem of which came first.presentation thumb 10 Developer Job Interview Tips To Land The Best Job You Can

How do you get experience if you don’t have any?

The answer is to be creative.  There are many ways to get experience that doesn’t involve working directly for a company as a software developer.

Here are just a few ideas:

  • Join an open source project
  • Start an open source project
  • Build a mobile app and put it in the app store
  • Build a small web app
  • Start a blog
  • Present at code camps or other user groups

There are many ways you can get experience that will look good on your resume and give employers confidence in hiring you, you just may have to be a little creative.

Final words

Hopefully you’ve found these tips helpful.  I’ve found that there isn’t a large amount of good information out there for developers looking for good job interview advice, so I actually ended up creating a Pluralsight course on the subject, which you should check out if you want to find more about the tips I mention here.

If you are astute, you may be thinking to yourself, ah, that John Sonmez character writes a blog post to secretly promote his Pluralsight video, pretending to give free advice.

Well, I definitely got the idea to write this blog post to help promote my Pluralsight video, because, hey that is what I do, I make Pluralsight videos— but I hope that you found these tips themselves to be useful as well.

If you like this post don’t forget to Follow @jsonmez or subscribe to my RSS feed.

  • David

    This list continues to be challenging for me. I am doing a lot by way of refreshing what I learned in the past, as well as building upon it for present day. I need to humble myself and make sure I have all 10 of these tips covered. Thank you for this reminder.

  • http://gravatar.com/franjobrekalo FrenkyB

    I was watching your Pluralsight video before that blog post. It was simply interesting for me, because majority of other videos are exclusively about technology things but your video is different in that way. I would be very happy to see more of the things like that one from you on the Pluralsight. For example: I like your idea of making complex things simple – disasemble complex problems into smaller ones and solve them. Video of some examples from your everyday practise would be the best. Let’s say – video just about that – ‘divide and conquer’. Knowing technology is good, but knowing principles is perhaps even better, it’s universal for all programming languages. On one of your last posts you were writing about solving some easier problems first, before getting into harder ones, just to get momentum – harder problems are then easier to solve. I also see this as very important rule of life, I face hard problems (things that I don’t know nothing about at first) almost every day – and very often is a good idea to work on something that I know well first. And, for the end – I think it’s good to make some promotion for your videos on Pluralsight. If you know things, if you are expert, if you want to share knowledge and if you know how to write down essentials about some topic than you have a potential to help many people. I really like good books, good blogs and good educational videos because they are helpful for me.

    • http://simpleprogrammer.com jsonmez

      Thank you for the comments and thank you for continuing to support my blog. I really appreciate it. You are always providing great feedback on my posts.

      I definitely want to do more of the non-technology Pluralsight courses like the job interview one.

      I’ve found that I have had to learn many things the hard way, so I would like to share some of my experiences with others, so they don’t have to do the same.

      At first this blog itself was designed to be very technical, but I find myself writing more and more about what I call developer psychology.

  • Andrew

    John,
    this is one of the best posts I’ve read about dev job interviews.
    I usually do not read blog posts or articles on this subject past the first few paragraphs, because the advices are not practical or I just don’t agree with them. But yours are spot on.

    I have one remark about #6, when speaking about your ex or current employee:
    I fully agree that doing bad mouth your ex or current employers is definitely a no-no, but sometimes, depending on the situation, there’s a big risk to look like you are hiding something from your interviewer.

    For example, if you are leaving a good well known company.
    In these cases I think, you need to genuinely say why you are leaving. Sometimes honesty is appreciated.
    It’s a risk but you have to take it sometimes.
    It really depends on the situation.

    But the reasons must definitely not be of personal nature. Even if that’s the case, you should never mention it.
    You need to find a credible answer which makes sense but in the same it doesn’t look like you are hiding something.
    Honesty is the top asset for any interviewee.

    • http://simpleprogrammer.com jsonmez

      Thanks Andrew!

      And, I agree with you about #6. You should definitely say why you are leaving a company or looking for a new opportunity, it is just in how you say it that is very important.

      If you can tactfully give honest reasons why you are looking for a new opportunity without personally attacking your current employer or company, you will show that you have respect for your employer, even if it is not the best fit for you.

      Thanks for the input.

  • http://twitter.com/chedda86 Fred (@chedda86)

    5) and 10) … these are by far the most important in my opinion. I’d rather work with a passionate self-learner than many “experienced” developers in the industry.

  • http://javacurious.wordpress.com jvishal

    Thanks for such a nice post ! really very helpful.

  • gy

    As someone who interviews and employs developers, if I discovered an applicant had used someone else to write their resume, it is likely they would not get the job. Get a friend to check the layout and grammar but writing clearly is part of a developers job and I want to see some evidence that an applicant can do it.

    • http://simpleprogrammer.com jsonmez

      I can understand that reaction, and I would hope that a developer who employs a resume writing service, would be actively involved in creating the resume.

      I agree with you that writing skills are very important, I am not sure resume writing skills are though.

    • David

      Thing is, it seems like such a game. Writing skills, problem solving, creativity. I get what you both are saying. However John is in the reality that while people should be honest, they need to also be packed the right way, otherwise the competition WILL BE and potentially overtake ‘said’ position. It is a game that I do not like playing, but am forced to (as it seems to be the case). Hopefully, I do not sound bitter, I want to be better, I am out of work right now and need to get employed. Humbly, David.

      • http://simpleprogrammer.com jsonmez

        Everything in life is marketing.

  • http://computersciencegeeks.wordpress.com esraafcis

    About your first point (1. Hire an expert to create your resume) … I think it’s better to search how to write professional CVs or see other successful people CVs … I try this method and it works greatly and i get an interview with Microsoft.
    Also I want to say that i like all your advices and i will watch your pluralsight videos about job interviews.(I watched XNA before to you and it’s really awsome :) )

    • http://simpleprogrammer.com jsonmez

      Thank you! I’m glad you liked the XNA video. I had fun creating that one.

  • omgtoptens

    Extremely informative. I wanted to thank you for this excellent post. I surely enjoyed each little bit of it and I have you bookmarked to check out more new stuff you post in the future.

  • http://startingdotneprogramming.blogspot.com/ Ken Parker

    I can’t say I agree with number one but I like everything else. I have always written my own resumes. The problem I see with a professional is they probably don’t know the industry as well as you do. Instead of a professional resume writer I would find someone who hires developers and see what they are looking for in resumes. Unfortunately everyone seems to like something different. Some like long detailed resumes because they want to see all relative experience and others don’t care about the detail and just want to see the basics. In the programming world if you list all the skills they are asking you will probably get a phone call.

  • Pingback: Interview tips: How to prepare for an interview | Interview Preparation()

  • http://www.jobsclark.com/ Ruby Rocha

    This is a very helpful article on job interview tips especially for those developers. Thank you for posting.

    • jsonmez

      Your welcome!

  • Ryan

    Thanks for this great post!

  • http://www.cloudstaff.com/careers Jobs In Clark

    Thanks for sharing this great post! A lot of these tips are really helpful. Cheers!

  • Pingback: 程序员的10大成功面试技巧 | E.NET.MAN.博客()

  • Pingback: 程序员的10大成功面试技巧 | 我爱互联网()