Job Hunting

Most job applications require a resume and cover letter. These are your tools for getting an interview. Although you should sell yourself for the job, your first goal is to get to the interview.



Cover Letters

In a good cover letter you must sell yourself for the position and to the company. Part of selling yourself is making it clear why you want to work for the company. Be enthusiastic and personal; a good cover letter must address the reader. You're talking to a person, not a "recruiter". Always address the letter to a real person and use the proper title.

Be bold. Be direct and ask for a meeting. The goal of the cover letter and resume is, after all, to get to the job interview. Be clear about what you want and make it clear why the recruiter should want you.

Format

A good cover letter should be less than a page with generous margins. It should be impeccably edited. How long should it be? Four paragraphs should be enough. Respect your reader's time.
  • First paragraph What are you applying for? Where did you hear about it? Why are you interested?
  • Second and third paragraphs Pick out some of your relevant experiences, explain them briefly, and discuss how they qualify you for the position. Tie your experiences into what the company does--make it clear that you have some background knowledge about the company. If you can, bring up recent work by the company and tie it into your experiences.
  • Fourth paragraph Make it clear that you would like to meet to discuss the job and your qualifications.

Resume Writing

A good resume, like a good cover letter, should promote you for the specific position you are applying for. Don't list irrelevant information or trivial awards. For instance, if you're a college graduate, your high school GPA probably doesn't matter. Pick only awards and honors relevant to the job opening. Specialize your resume for each position you apply for.

Part of selling yourself is to keep thing short. If you're just out of college, your resume shouldn't be four pages long. Hit the high points, write concisely, explain only what isn't obvious. Don't leave off things that you would be expected to include, such as, if you are a recent graduate, your college GPA. Try to avoid large gaps in your work history.

Do not make mistakes on your resume. There are no excuses for typographical mistakes. If you don't understand a point of grammar, don't use that grammatical construction. You have only a few pages to convince your interviewer that you're worth hiring; don't waste the space.

Be Prepared to Explain Anything on Your Resume

If you put something on your resume, you should be able to explain it. Your resume will be fodder for a large portion of your interview, so expect that after a few job interviews, you'll have covered the entire thing. This should give you ample opportunity to prepare for a wide variety of interview questions. At the same time, it means that you shouldn't lie.

How Much Should I Know About a Language?

If you put that you know a language, you should be able to write at least simple programs in the language. Don't put that you know a language that you used five years ago and can write code in using a reference. That's what "familiarity" with a language means.

Thank You Letter

People are often counseled to write a thank-you letter within 24 hours to reinforce their qualifications for a job. In my experience, this hasn't really proven necessary, although it can be a good way to indicate that you are still interested in the position, especially if something went wrong at the interview. There's no reason to risk losing out because of someone who actually does expect a thank-you letter, so I'd recommend sending one, but I wouldn't expect it to be a deal-breaker.

Portfolio

Some companies will want to see what you've done. A few good code samples can help a lot. This is even more true if you don't have a degree in Computer Science or lack a great deal of industry experience. You shouldn't need long code samples, but something substantial enough to require some skill. Keep the code samples understandable--avoid using obscure libraries, and of course avoid hacks. The better and more consistent your style, the better. You should be able to explain the code in detail.

Connections

Hey, connections help. Ask your friends and family if they know anyone looking to fill a position. Don't just look for people you know who work in the industry or who have programming-related connections. Even if you only know someone casually or through a family member, that can be enough.