Job Interview And Resume Tips for Developers

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.

By Robbe Morris   Popularity  (4108 Views)
Picture
Biography - Robbe Morris
Robbe has been a Microsoft MVP in C# since 2004. He is also the co-founder of NullSkull.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