I’m distilling what I’ve learned from almost 40 years of job hunting and interviewing, both as a candidate and as an interviewer. I have experience with programming jobs both in and out of the tech industry, and 10 years freelancing.
My experience ranges from big companies to startups. Big employers will have a more defined process (and it will prove harder to bypass). Smaller companies and startups generally follow a less formal hiring process.
Starting the job search
Posting résumés (or CVs) online and sending out lots of emails may help with the numbers game, and if you have in-demand skills it can’t hurt to get your name out. In most cases a more targeted approach works better.
- Identify companies you want to work for.
- Learn as much as you can about them.
- Use your contacts to give you leads.
- Work with recruiters if necessary, but only with someone you feel comfortable with.
- If you live physically close to the company try to meet people who work there. Go to local meetups and user’s group meetings employees might attend.
- Ask all of your friends and professional contacts if they know someone at the company. I’ve hung around offices at lunchtime and approached people at nearby delis, asking if they work at the target company, and if I can join them. Don’t stalk employees, but there’s nothing wrong with asking people about the place they work — people usually like talking about themselves.
Résumé and cover letter
A good résumé targets the specific job you want to apply for. Untargeted, generic résumés sent out with no cover letter, or a form letter sent to no one specific, are more likely to get screened out. A résumé serves one purpose: getting an interview. Call out your relevant skills and accomplishments and play down the rest. Get to the point, focus on what you offer, and leave out anything that provides a reason to put your résumé in the discard pile.
Proofread, edit, proofread again, then get someone objective (not your spouse or parent or best friend) with good writing skills to proofread again. Spelling and grammar errors leave a bad impression. If you don’t speak the language natively get help from someone who does. I can’t emphasize this enough — many résumés go straight to the waste basket because of seemingly minor errors, the impression of poor language mastery, or even an unprofessional or disrespectful tone. Use clear, correct, cliché-free language, an active voice, avoid jargon, and no obscenities (yes, I have seen that more than once). Complain later about how grammar and spelling shouldn’t matter in life, they do in this context.
- Keep it brief: a résumé/CV highlights your skills, accomplishments, and experience. Don’t write your autobiography.
- Readers understand that you sent the résumé because you want a job, so skip the Objective or Goal paragraph. Leave out your desires, wishes, and dreams too. No one cares and you can easily give the wrong impression.
- List all technical skills, even those you don’t have professional experience with: languages, frameworks, tools, etc. You need to do this to get through keyword screening software.
- Be careful listing startups, don’t give the impression you are just looking for a temporary paycheck and a place to work on your own company. And don’t call yourself CEO or CTO if the company is you and a friend, especially if you are 22 years old.
- Limit the Education section to your degree, year, and school. Your class rank, GPA, classes attended, school projects, clubs, etc. don’t matter unless you just graduated or you are applying for an academic job (which I can’t help you with).
- Translate titles to meaningful descriptions. Unless you used a sword or toured with Van Halen don’t call yourself a ninja or rockstar. If you worked in a job with unusual titles, or have military experience, explain what you actually did in terms relevant to the job.
- Don’t include references, those come later, and it’s assumed you will provide them on request.
- Don’t include hobbies, jokes, quirks, or anything personal or potentially controversial like mentions of your religious faith, your marital status, your children, or that you love dogs and can only eat gluten-free food.
- Try to find out the name of the hiring manager. Don’t shy away from sending directly to a manager — there’s no rule that you must go through HR or send to a jobs@ email address. Call the company and ask for the name of the manager and get them to spell it for you. To whom it may concern should be a last resort. This is where a good recruiter can offer a lot of value — getting you in front of the hiring manager.
- Keep the cover letter brief, get to the point, don’t ramble — everyone knows why you sent the letter and résumé. If you don’t know what a professional cover letter looks like, find examples.
- If your skills don’t align exactly with the job use the cover letter to connect what you have done and can do with the job requirements. If the job requires Ruby and Rails but you have two years Python and Django experience point out the similarities.
- If you don’t have a job, explain your lack of employment in the cover letter. Stay honest. Acceptable explanations for unemployment include: studying to upgrade skills, taking a break to travel, doing freelance work or personal projects.
- Make sure you put your contact information on the résumé and in the cover letter. Include a street or mailing address, a phone number (that you will answer), and an email address you will read (and not something offensive or immature like firstname.lastname@example.org).
- If you send by email send the cover letter in the text of the email and attach your résumé as a PDF. Don’t send MS Word documents unless the company specifically asks for them.
- If you send by postal mail use a decent-quality white paper, not parchment or something weird.
- Include links to your portfolio or examples or work you want to show off. Don’t send attachments — they will get lost, or even worse set off malware scanners.
Never lie or exaggerate in your cover letter, résumé, or during an interview. Don’t omit anything important (but don’t list everything you’ve ever done either). Getting caught in even a slight exaggeration will make you look dishonest and will probably disqualify you.
I found this excellent article on putting a résumé together, with specific advice and explanations: How To Write A High-Impact Resume. I have no relationship to the company or their products.
Professional and technical jobs usually require multiple interviews. You may not get to the actual decision maker until you’ve been screened once or twice. You should call HR to ask about the interview process, that’s one thing they can help you with. While you have HR on the phone ask about benefits, vacation policies, background checks, dress code, etc. because you shouldn’t be asking those things in an actual interview.
You have to approach interviewing as a performance. You get a short time to show that you fit the company and the team, and that you can do the work and add value. People make unconscious judgments within a few seconds of meeting you, and until they decide they want you they will look for reasons to pass. Remember that everyone invests time in the interview process, not just you, so respect that.
If you don’t feel comfortable speaking to strangers, or to a group, or if you lock up and mumble or talk too much, get help from a coach or join a group like Toastmasters to overcome your fears. Most people get nervous in interviews and when speaking to groups, don’t worry that you have a special problem. Practice until you can present yourself as confident, friendly, and communicative. Just as résumés go into the trash because of spelling errors, interviews go bad in the first few minutes because of poor communication and interpersonal skills.
- Get there on time, obviously. No excuses. Better to arrive early and sit in the parking lot for 30 minutes than show up late blaming traffic.
- For phone or video interviews get the technology working in advance. Do a dry run. Go somewhere with decent internet if you can’t use Skype or whatever from home. And don’t have distracting activity and noise in the background.
- Make eye contact, mirror body language, smile, engage the interviewer(s).
- You have one goal for the interview: to leave a positive impression that you can fit in and do the job. Concentrate on that.
- Listen to what the interviewers say and respond. Don’t just talk about yourself.
- Don’t ask about salary/pay, benefits, vacation, what hours you will have to work, etc. during the interview. You should already have that information from HR or the job posting. If the interviewer brings up pay (“How much are you looking to make?”) try to deflect that politely.
- Have your references ready, print a few copies. If you aren’t asked, offer to leave those at the end of the interview.
- Dress appropriately. Wear clothes you feel comfortable in, look neat and well-groomed. As a rule of thumb, dress like other people in the company, only a tiny bit nicer. If you aren’t sure about dress code or what people wear to work park outside at lunch or at 5:00 pm and watch. Call and ask HR if the company has a dress code. If you show up in an ill-fitting suit you wore once to a wedding you will be uncomfortable and probably out of place. If you show up in an AC/DC t-shirt with a stud in your tongue (yes, actually happened) I have no sympathy.
- Interviews are not the time to let your personality run loose or display your piercings. Qualities your friends find charming and quirky may be interpreted as weird, unprofessional, or affectations by people who don’t know you. Always err on the side of caution because you don’t know how strangers will react. In this context you need to care.
- Ask questions about the company, the job, the people.
- Interviews are just as much about selling the job to you as you selling yourself, so make them persuade you that you want to work there. Be careful not to get demanding or critical, but don’t forget that they are looking to hire someone. With experience you can shift the interview in your favor getting them to sell the job, but you have to be subtle about it.
- Don’t ask about requirements you might have, like a standing desk, a special chair, that you will only use Linux, or that you won’t answer emails on weekends. You can negotiate those demands after you get an offer. Don’t give the impression that you will be a fussy, demanding, or high-maintenance hire.
- Be careful asking about working from home or remotely. If that’s a deal-breaker for you then you should have researched it beforehand. Mentioning that you want to work remotely in a room full of people who warm a cubicle every day from 9 to 5 won’t go over well.
- Answer questions and try to establish back-and-forth conversation. Don’t talk too much, go off on tangents, or try to joke around.
- If you don’t know something or can’t solve a problem, say so, ask for some guidance. People generally prefer helping than watching you flail around out of your depth.
- Never bad-mouth a previous job or empoyer.
- Talk about yourself as if you already work there, but don’t tell the interviewers how you would do everything better than they do.
Politeness requires a follow-up email or mailed note thanking the interviewer for their time. Some people find this formal and unnecessary, but it can’t hurt. Don’t try to apply pressure to get a decision from them. Don’t try to explain or undo any missteps or mistakes you made in the interview. Stay friendly and polite no matter how you think your interview went.
Ask for business cards at the end of the interview. Write down everyone’s name, title, and how to pronounce and spell their name if not obvious. If you need to send a follow-up but aren’t sure about a name or spelling call the company’s receptionist or HR and ask — don’t risk getting someone’s name wrong at this point.
Don’t continue to send follow-ups if you don’t get a response. Many companies don’t respond at all if they aren’t going to interview you again or make an offer. Sometimes out of laziness or too much actual work to do, sometimes out of fear of discrimination lawsuits if they say the wrong thing. Don’t take it personally.
You should have at least three (but no more than five) professional references who will say good things about you. Supply their name, company name, title/position, and phone number and/or email address. Never give someone’s name and phone number/email address out as a reference unless you have their permission first and know what they will say about you.
Usually employers want to talk to your last two or three managers but it’s OK to use a manager in a different department, or a team lead, or a co-worker if you have to. Unless you are young and applying for a first or second job you should not use family, personal friends, or teachers as references.
In general prospective employers don’t do reference checks unless they are planning to make an offer, so finding out your references were contacted usually means you are going to hear back. Not always — some companies have HR check references, or even outsource that task.
Getting an offer
When you get an offer that’s when you negotiate special requirements you may have. An offer only means the company decided they will take a chance on you, so don’t get carried away. This is the time to ask for a standing desk or to tell them you need three weeks off before you start because you booked a trip to Thailand two months ago. This is also the time to bring up working from home or remotely, perhaps after a period proving yourself and integrating with the team on-site. It’s easier to transition to remote work after you establish yourself at the company than to try doing that from the start.
If you got a verbal offer ask for a written offer describing the position, salary, and start date.
An offer opens the negotiation, so if you don’t like the salary or terms make a counter-offer. You should know the salary range by this time, so don’t make a ridiculous counter-offer, you can still blow it at this stage. Now you have some leverage and the company has invested time and effort into hiring you, so they will probably meet you at least half-way. If you make a counter-offer and they accept, or you agree on a compromise, you should accept the offer immediately to show good faith.
It goes without saying that I based this article on my own experience and opinions. You will have different experiences, and different circumstances call for adjusting and adapting. You can and should read other articles and books about job hunting and interviewing.