Job Interview And Resume Tips for Developers

By Robbe Morris

Robbe shares his thoughts technical interviews both over the phone and in person. He gives some tips and how to separate yourself from the pack and land that job.

It is one of the toughest job markets that I've seen in 20 years. For the benefit of our visitors, I thought I share a few thoughts about how you can improve your chances of landing a job.

Recruiters

In today's IT world, it is really, really tough to contact a company directly and obtain an interview. Having a friend refer you is about the only way. You almost always have to go through a recruiting agency. Software development shops cannot afford to waste their time reading dozens and dozens of resumes and weeding through unqualified candidates. So, you are left with recruiters. Not a pleasant scenario mind you but a virtual necessity.

Finding the right recruiter can drastically increase your chances of finding the right job. You might not have thought of this but you need to interview as many recruiters in your area as possible. To start, post your resume on as many job sites as you can. When you post it, make sure to set your minimum salary at least $10,000 per year less than you are willing to accept. Why? You want as many of recruiters to email you as a result of your resume being shown to them in a low salary search query. If your resume has been inactive on the major job sites, renew it and keep doing so every 30 days because many of their automated search jobs feed off that flag.

Recruiters are constantly contacting developers to mine resumes for future jobs. I see no reason you cannot do the same in reverse.

Now that you've got people filling up your email inbox, it is time to start interviewing them. Why? Many of these recruiters work for companies that are strong in a particular geographical region or perhaps certain technologies. You need to ask them questions about both. If you are strong in ASP.NET and live on the north side of town, you may not want an agency that fills a lot more Java positions on the south side of town.

You also want to ask your recruiter how many years they have been with this same agency. This can tell you a lot about the strength of the agency and how many companies they have built strong relationships with. Both are key to getting your resume seen as well as how well the recruiter will personally promote you to your potential employer.

I like to keep a list of companies within a reasonable commute. Ask each recruiter you speak with if they represent this company. Often times, they will approach the company on your behalf even if they do not have a currently published job request. Just think of all the conversations you've been apart of or overheard regarding positions in your current company that were never posted to sites like monser.com, careerbuilder.com, or dice.com. Use the recruiter to do that hard work for you. That is what they get paid for.

At the end of each recruiter interview, remember to keep their contact information along with detail notes concerning what you have learned. I often contact the recruiter at later dates inquiring about certain companies or whether certain types of environments have job opportunities. For instance, I happen to enjoy working for start up companies where there is a chance for an ownership stake and they are often working with cutting edge techniques and technologies. Higher risk of course but often a higher reward.

If you know who the strong recruiters/recruiting companies are, what regions they are strong in, and what technologies they are more successful with filling positions for, you drastically increase your prospects for landing the right job. It costs you nothing but time to acquire this information and keep it current.

On a side note, if you visit the home page of your desired company and determine the site is written in ASP.NET, there is a high degree of probability that they use .NET in house. It also increases the likelihood they use SQL Server as well.  This not fullproof of course but I've found it to be commonplace.

LinkedIn.com

If you aren't using this, you should be. Facebook.com as well. These social sites can be useful when a friend of a friend of yours ends up working for the company you are interviewing with. Make yourself easy to find and researchable. Your public presence has real value in the job search process.

Resumes

Put your resume online using simplistic html formatting that Internet Explorer can easily save to a nice looking word document. You might be surprised at how many recruiters and agencies simply search google. I'll bet at least half the contacts I've gotten are from Google searches. Type C# resume or even C# resume FL and see what you get...

You really have two audiences to prepare for: human resources and other software developers. Human resources either manually scan your resume looking for keywords and years of experience or they use software to do it. Keep in mind, they are given specific instructions to look for keywords for which most of these people have no clue what they mean. In fact, I once had a friend who was denied an interview because he didn't have NotePad on his resume.

So, you need to have a section that lists virtually every piece of software you have ever used that is anywhere near relevant. There is nothing wrong with putting a primary list at the top with a link to the secondary list at the bottom. If you've won awards for companies you worked for in the past, make sure you put them at the top. Human resources personel and IT management will instantly see these and want to talk with you before talking to others.

Preparing your resume for other developers is a whole other ball game. Rather than read your resume, one of the first things people do nowadays is paste your name in Google looking at how you carry yourself online. A positive and helpful person in an online environment typically acts even better in person. So, if you participate in online forums like EggHeadCafe's, make sure to use your real name and act as professional as your patience can stand at all times. I'd go so far as to post links to forum discussions you've participated in and articles you've written. Watching how you carry yourself in real world scenarios says a lot about how well you will fit in with the rest of the team.

Now, to the resume itself. Over the years, the most successful resume tactic I've ever used is the one I use now ( http://www.eggheadcafe.com/robbemorris.htm ). For each job you've had in the past, provide a specific list of what you did, what technologies were used, related accomplishments, and any accurate/believable revenue increases as a result of your work. Let's look at a couple of jobs I recently completed:

.NET Evangelist for Bright House Networks, Inc.

Provided day to day guidance and oversight of all web software development activities, definition of our best practices, methodologies, and implementation of third party tools.

Lead the CMS migration teams for the television news web sites cfnews13.com and baynews9.com. The migration involved moving from Ektron CMS to Open Text (Red Dot CMS).


Lead the implementation effort to convert many of our custom applications previously tightly integrated into our CMS platforms over to Microsoft Silverlight line of business applications. This enabled us to have the appearance of tight integration without the custom applications actually being integrated into the CMS at all.

Our team consisted of 10 software engineers.


Here's another example

.NET Evangelist for Alinean, Inc.

Performed software development duties for Alinean's offline Enterprise ROI tool known as Pack-N-Go. This tool utilized C#, WPF, VistaDB.NET, and Excel calculation engines.

Created the master architecture as part of the transition from the Java version of the Enterprise ROI tool to the next generation of Alinean's Enterprise ROI tools in 100% Microsoft technologies. The next generation Enterprise ROI used a shared code base between the online version in Microsoft Silverlight/WCF/SQL Server 2008 and the offline version in Microsoft WPF/SQL Server 2008 Compact Edition.

Provided mentoring for 3 software engineers.

By listing out specifically what I did in short bursts, I made it easy for the interviewer to formulate questions I wanted to answer that highlighted my strengths. For the resume reviewer, they are able to instantly get a feel for the roles I played in each endeavor versus guessing whether I was the senior person on the project or a maintenance developer. It is also much easier for them to associate your past experience with the environment and scenarios you would be working in now in order to determine if you are a good match.

If you were promoted one or more times, make sure you list each position out separately. You want to show an obvious pattern of excellence and promotions are one of the best ways to do this.


Phone Interviews


The first thing you do when preparing for a phone interview is to understand who you are speaking with.

If you are of foreign decent or have an accent, you need to make sure you can be understood by individuals who are interviewing you. As an example, you might be an extraordinary developer from India or perhaps Eastern Europe. If you are interviewing for a job in Iowa, your interviewer may have a very difficult time with your accent simply because it is unfamiliar. The same can be said in reverse if you are an American looking for a contract overseas. If it is at all possible, confirm with someone who is in the same demographic as your likely interviewer that your voice is clear and easy to understand over the phone.

If your interviewer is a non technical person, then use the high level technical terms they are trained to listen for but do not delve too deeply. As an example, Silverlight is a high level term but IValueConverter and INotifyPropertyChanged interfaces are not. Also avoid the use of slang and be careful not to talk over your interviewer. There is no need to oversell yourself. Just answer the questions calmly and politely. This is an opportunity for you to demonstrate your superior communication, people, and situational awareness skills.

Your job in this phone interview is to make the HR representative feel comfortable speaking with you and not feel intimidated or talked down to. In their mind, you want to be that expert they could come to and ask stupid questions without being embarrassed or insulted. Remember, if this HR representative simply doesn't like you, they'll just put your resume at the bottom of the pile. Trust me, this happens more than you think.

For technical phone interviews, your task is largely the same. The only difference is that you are allowed to delve into more technical details. One trick I use in phone interviews to get them to ask the questions I want to answer is use the word "we" a lot in my initial answers to questions. Not only does this reenforce my experience working in team environments, it almost always triggers the question "what specific role/thing were you responsible for on the project". This tactic then gives you a chance to provide much more detail only at those times the interviewer specifically asks for it. Believe me, management will pick up on your ability to understand when they want short precise answers and when they want very detailed technical explanations. To them, this is an important aspect of their relationship with you.

When it is your turn to ask questions, have at least 5 ready. I tend to focus on getting as much information about the technology they use as possible. I also ask about what technical challenges they are facing. This lets me better prepare to match my specific skillset to the challenges the employer needs to overcome. If you feel comfortable, I also suggest asking about team personalities. Questions like "tell me about the people on the team" are very open ended questions that will trigger some interesting responses. The more you know before the personal interview, the better off you'll be. No salary, vacation time, or benefits questions should be submitted at this time. There is plenty of time to discuss that later and you'll be in a better negotiating position after the personal interview.

In Person Interviews

If you have gotten this far, they are no longer looking for reasons to hire you, they are looking for reasons not to hire you. Thus, they are quite interested in bringing you on board.

Start by wearing a nice blue, black, or dark grey suit with a tie. White shirt if possible. No funky colored patterned shirts or cartoon ties. Reasonably new shoes freshly shined are a must. You need to present yourself like a business and not some nerdy style show.

The situation...

These days, it is likely that you will be interviewed by a group of developers in a conference room. Often times, management will not show up until the technical portion of the interview is done. You need to understand that the primary purpose of this interview is to catch you lying or mispresenting your skill set. These folks have already seen/heard enough to be interested in you but want to be certain you really know what you say you do.

Senior level technology interviewers...

Prior to the interview, read your resume and study up on what you say you know. Do not get caught flat footed by having something on your resume that you cannot discuss in detail. Based on your prior phone interview, study up at a high level some of the technologies that this company uses or is thinking about using. Many software development teams have chosen a technology to migrate to that they are less knowledgeable about than you are. Familiarity with terms and basic principles will be helpful. Just do not oversell your experience with them.

Senior architects/developers are going to dominate the interview. With that in mind, the three most important words in your interview are going to be "I don't know".

Catching people who lie or misrepresent themselves in interviews is a specialty of mine. The most important piece of advice I can give is just be yourself and be honest. Guys like me will purposely ask questions we know you cannot answer as well as push you to elaborate on subjects you are clearly not comfortable with. Like the dogs we are, we can literally smell fear.

Be certain of this, you are not skilled enough to keep your body language from giving yourself away. Your eyes, the way you sit in your chair, the nervous movements, and other quirks are easy to spot when you are stretching the truth and noticably absent when you aren't. Our job is to prevent our employer from making poor higher decisions that are expensive to correct. We take it quite seriously.

When you are honest and straightfoward, interviewers will quickly get bored and stop trying to trip you up and focus more on the things you know. They will be searching tirelessly for a reason you are wasting their time. Believe me, they want to find the reason and be pleasantly surprised. Plus, you signal to management that when the "sh.." hits the fan, they can count on you to give accurate answers in stressful situations.

On the flip side, we are also evaluating whether we can enhance your skillset over the next 12 months. If the cost is reasonable and we are convinced you are very bright, hardworking, and trustworthy and are just inexperienced, it is quite likely we'll suggest that you be hired. You can bet there is already someone on the team we'd like to get rid of and have you replace them. That, of course, is a set of tactics I'll talk about in another article...

The know it alls...

There are people in every IT shop who are technology purests and feed their egos by using terminology even they themselves do not fully understand. Fortunately for you, they are often not the most senior level people on the team and may not have the influence your first impression leads you to believe. So, when these folks pipe up and start asking you these types of questions, it is ok to just admit you are not a much of a technological dictionary and that you digest things in real world terms. At least one of the interviewers in the room will laugh and break the ice. Trust me. Then, ask if they can rephrase the question in a real world scenario. Notice how quickly they come back to earth and thus give you a chance to answer and shine.

The junior level guy...

Often times, at least one junior level member of the team is present in these group interviews. They often do not ask any questions or contribute anything at all. You cannot let this stand. Look for opportunities to ask their opinion on a given topic or ask for their input on what they like most about the company. This person needs to feel comfortable working with you. Management will take their opinion into consideration just as much as the senior level guys. For them, it isn't just about technology, it is about team cohesiveness. Your willingness to open up to junior level people sends a strong signal that you work well with others.

Management...

These guys are easy. They want you to work a gazillion hours, put up with their childish rants when things go wrong, not embarrass them in front of the CEO, and help make the company money. It really isn't any more complicated than that. You really only need to have answers for two questions:

1. How many hours a week do you think a developer should work?

Answer: Whatever you need me to.

That is the only acceptable answer. You need to get offered the job first. If you find out that they want more
hours than your salary is worth, either renegotiate your salary or do not take the job.

2. Give me an example of when you missed a deadline and what did you do?

Answer: This happens very rarely. The only thing you can do is go straight to management explaining what the
issue is, possible resolutions, and let them make the call sooner rather than later.

That's it. That's all they really care about.

Summary

None of this is rocket science. Slow down and think about what you are doing each step of the way. I know looking for a job is really, really stressful. Just remember, you have to take control of the situation and learn to maniplate it and the people involved before they do the same to you.

Identify your targets with recruiters. Control the first impression with HR. Influence resume reviewers by getting them to focus your specific skills and accomplishments, and be honest when interviewers show enough interest in you to ask a question.

You may think you are nothing special. You are mistaken. Most developers in the software development community are just not that smart or experienced. They resort to lies and misrepresentations more than you could ever imagine. Employers desparately want developers just like you as well as the ones who present themselves as people who can learn quickly at a low cost.

If anyone has other useful suggestions, please post them below.

Popularity  (2690 Views)
Picture
Biography - Robbe Morris
Robbe has been a Microsoft MVP in C# since 2004. He is also the co-founder of EggHeadCafe.com which provides .NET articles, book reviews, software reviews, and software download and purchase advice.  Robbe also loves to scuba dive and go deep sea fishing in the Florida Keys or off the coast of Daytona Beach. Microsoft MVP
Create New Account
Article Discussion: Job Interview Tips for ASP.NET, Silverlight, WPF, and SQL Server
Robbe Morris posted at Monday, December 07, 2009 12:17 PM
reply
My Interview Exprience
Muder K replied to Robbe Morris at Tuesday, December 08, 2009 7:53 PM

I had an interview couple of weeks ago for a Web Developer position. First it was a phone interview, I was through with the interview, then they called me for a face-face interview, and I meet four people in their organization.  1) HR, 2) Application Manager, 3) Vice President, 4) Network Manger.  The interview went for 4 hours, from 8:00 AM to 12:00 noon.  Half an hour with HR and one and half hours with Application Manger. The HR, Network Manger and Vice President asked questions like a company Culture and other HR related question, According to me I answered all the questions correctly and satisfactorily.

 

The Application Development Manager was not a technical person. He had led an IT team in some other company and he is working in the company I was interviewing as a Manager from past 2 years.  He took my interview for one and half hours, He wanted to know the process of how we design, develop and deploy the application, I answered all his questions to his satisfaction.  He also gave me a case study of an application that they wanted to develop, I explained him the flow of the application on white board and he showed satisfaction and said it is perfect. 

 

After the interview I send a Thank you note to the interviewer, and I informed my recruiter about the interview and how it went.

 

After 3 days the recruiter called me and gave me the feedback of the interview. He told me that they don’t want to hire me, I was so disappointed, it was like a shock. The reason he gave me was “I didn’t market myself well”.

 

 

My questions to you is

 

1.      What you think about my interview?

2.      If I am not marketing myself well, why did he interview me for one and half hour?

3.      Do you think since he assumes a new role as a Manager, wanted to acquire knowledge from an experience person like me.

4.      What does a developer do to market himself?

 

I am asking all these questions to myself, I am not annoyed, but I want to understand where I went wrong, so that I can be well prepared for the next interview, or is the company not ready to hire people because of the economy and cost cutting. I know it is a tough market and every company want to save money.

 

 

I appreciate if you can guide me.

 

Thanks,

Muder

reply
This is a complete guess but..
Robbe Morris replied to Muder K at Tuesday, December 08, 2009 7:53 PM

Based on the poor written English you've used in this post, I hazard to "guess" that your verbal communication skills may not be as strong as you think they are.  Not having heard you speak, I cannot say this for an absolute fact :).

I have conducted interviews with programmers who have vocal accents that are difficult to understand.  This, more than the actual words you use, could be the real problem.  Interviewers have to be very careful not to make racial statements or act in a way that could be perceived as such.  Consistantly making a reference to not being able to understand you or make reference to your heritage could easily be mistaken as such.  So, many interviewers will avoid the issue by simply knodding their head as if they completely understand you when in fact they may have only understood half of what you've said.  This is what makes me think you didn't do as well answering questions (in their opinion) as perhaps you thought you did.

You may think this is a small issue because your are dealing with a reasonably small group of IT people.  The reality is that many managers, particularly those who have limited IT experience themselves, place great value on their developers being able to communicate with people outside the immediate IT department.  The phrase "I didn't market myself well" and others like it is generally "code" for saying you won't fit in because of your verbal communication skills.

The key here is what do you do about it?  First, you need to confirm or repudiate my gut instinct. I could be entirely wrong.  If you are interviewing here in the United States, go do a practice interview with a white guy/gal who is well spoken.  This may even be your recruiter.

Ask them for an honest assessment of the clarity of your voice and any potential accent issues.  If you have some, you may need to get some help with improving in that area.  They may even be able to give you additional cultural advice that can help you out (assuming you need it which could also be wrong).

It may also be that the hiring manager(s) just didn't want to hire someone of your decent.  It is wrong but it happens.  I see it more with individuals who are really intelligent but difficult to understand.  The person interviewing for the job just spews out a wealth of information with a very fast pace of speech and the interviewer just gets lost. 

My hope is that you'll take this post as it was intended, to help you land the job in your next interview.

reply
My Interview Exprience
Muder K replied to Robbe Morris at Tuesday, December 08, 2009 7:53 PM

Hi Robbie,

Thanks for the reply, really appreciated your help. My previous message to you was quick and I didn’t proof read the message, I just want to write something quick and fast as I was in the middle of something, sorry about that.

I agree with you that my communication is not excellent, but it not poor either. When I was interviewing with that guys, I didn’t felt that he is having any trouble in understanding my accent neither I was speaking too fast. I was at a decent pace and my words were clear.

The interview was going smoothly and I forgot to mention that he was taking notes of whatever I was telling to him. I was having the feeling that I was teaching ASP.NET and the development process to him rather than he is interviewing me.

I also agree with you that next time If I go for an interview I need to very well prepared, very sophisticate and precise in my answer.

But, Atlas whatever you said may be correct i.e. the hiring manager think my verbal communication skill is poor or the hiring manager doesn’t want to hire someone of my decent, then my he want to waste my time and his time to interview me for an hour and half, when the designated time was for an hour with each of the individuals. ? What you think Robbie?

I think interview is a serious business, if he didn’t liked me for whatever the reason he should have let me go without wasting his or my time.

Thanks again Robbie.

Muder

reply
Again, reread this message
Robbe Morris replied to Muder K at Tuesday, December 08, 2009 7:53 PM

Lots of broken english...

Sometimes, people just don't like you or get a good vibe about how you'd fit in with the team.  Nothing you can do about that.  It is important to "attempt" to create some sort of surface level relationship with these people.  Whether they simply like you on a personal level is just as important as your technical abilities.  It shouldn't be that way but it definitely is.

I would go do a practice interview with someone and get some feedback.  Sounds like you've got a resume that is good enough to get your foot in the door.  As long as you haven't oversold yourself in the resume, then you are probably qualified for most programming jobs that match your skillset.  The feedback from your practice interview should help you fine tune your interviewing skills.

On your next interview, try to write down (quickly take a note) of each question you are asked.  I think you'll find it helpful in reviewing your performance.

 

 

reply
Interview Experience
Muder K replied to Robbe Morris at Tuesday, December 08, 2009 7:53 PM

Sometimes, people just don't like you or get a good vibe about”, Yes I agree with you on this, It is like going on a Date, you either like your date or you don’t like. Nobody will tell about it openly.

How to create some sort of surface level relationship? Can you give me some tips? Or is there any book or website that I can refer to?

So the bottom-line is I need to improve my communication skills and do a mock interview and get the feedback about my performance in the mock interview. This certainly is a very good idea. I will certainly prepare next interview to the best of my ability.

Also, taking notes after the interview is another good way of improving the performance.

Thanks Robbe for all your help.

 

Thanks,

Muder

reply
It is difficult to teach generating rapport
Robbe Morris replied to Muder K at Tuesday, December 08, 2009 7:53 PM
There are generally opportunities in an interview to laugh or talk socially.  Try not to be so focused on acting 100% "proper" all the time.  I'd look for opportunities to generate a laugh when discussing frustrations that are common in the IT world.  Tight deadlines, demanding executives, that sort of thing.  If you can get a smile or a chuckle out of your interviewer it tends to help.  Good luck with your next interview.  Post back with your results.  Take care...
reply