Ask HN: Cover letter techniques for software development positions.
I am a senior in college and am applying for many positions that interest me so that I can get a job when I graduate. Now, I know there are plenty of resources online about how to write a cover letter, but I was wondering if the community here at Hacker News could give me insight on things that recruiters/companies look for in a cover letter when they are hiring software developers. Thanks!
64 comments
[ 3.6 ms ] story [ 477 ms ] threadFor recruiters, you need to look at what the job description is after and try to match your CV as closely to it as reasonable without looking like you're lying (btw don't lie, you will get caught out). Stress your strengths where they're relevant to the role, but your cover letter is likely to be ignored by a recruiter, or rather not entered into the database so I'd keep it short and sweet and focus on matching acronyms and technologies to your experience in your CV.
Otherwise, you lump yourself in with every other person out there. You need to make yourself stand out without lying or going over the top. If you can make it clear that you are really interested in THEM and not just the job, that's a positive from the employer's perspective.
Use FB/LinkedIn/Twitter, etc to find out info about people at the company, and try to send a note to a specific person, rather than just responding to jobs@bigcorp.com which is often a big black hole.
If you send a personal note to employee Z at the company, make it personal (don't attach your CV, but include details about employee Z or Z's company you find interesting) and ask if Z knows anything about position X you want to apply for -- your chances are much better if you can get your info to a specific person.
1. Tell me the reasons I should hire you that I won't find in your resume. Those side projects you did that you found really challenging. What subjects you found really interesting in school that apply to the position. Why you find the businesses subject fascinating. This is your chance to tell me on your own terms why you're a good fit.
2. Why are you applying for this job. What makes you fit this position. I'm not always looking here for direct domain experience, but something in your background or interests which fit with the role I'm hiring for.
I had a cover letter template that I would use but would always tailor cover letters to the specific job and organization I'm applying for. Only maybe 40% of the content of the letter came from my template.
This cannot be stressed enough, tailor each cover letter for the job, do not copy and paste.
-copy/paste in the last email template I had used
-start editing sections that are relevant (intro, relevant experience, why I am interested in this position)
-read the entire email as a whole, look for inconsistencies
-touch up any sections that don't make sense, or are weak
-walk away for an hour, do something else
-come back, read it over again, tidy up any sentences, or add any gems I had come up with.
-optionally have a friend read it.
By the end of the process I usually had changed at least 50% of the format, and found that my cover letter was rapidly evolving, until I found out what worked. Sharing cover letters with friends in the industry also helped to root out some weak sections that I hadn't seen myself.
The main disadvantage of this method is that if you're not careful when reading, you can miss a reference to company name you had previously applied to, or include the wrong url. Always, always, always double check any links, names, or other identifying language.
People who read a lot eventually hit texts that could have been way shorter and clearer, and develop a bullshit-detector to avoid such time wasters again. The reverse of this is that texts with high "signal to noise" are highly appreciated.
I think that's a great point. It's easy to frame your application from the perspective of, "I want a job", or "I want this job", or "I need a job", or "I need money". All of those statements may be true, but that shouldn't be your focus as you present yourself for a job.
Instead, put the focus on what you can and would do for your employer. They are (probably) not looking to fill a job just for the sake of filling a job; they need work to be done in order to advance their business. How can you help them get that work done? How can you help them grow their business? How can you help them to be of better service to their customers?
Be the answer to their problem; fill their need.
This was probably intentional, but perfect is misspelled.
> 11. Have friends read it. Get feedback.
But make sure their advice doesn't conflict with the other 13 points!
The sad thing about typical hiring processes in most large companies is, the cover letter that is appropriate for the first level of the hiring process (HR) is entirely inappropriate for the 2nd level, the people that actually want you to do some work.
You'd think we would have reformed HR by now, what with all the workshops they go to on process improvement, but from what I've seen the problem is just as bad as ever.
-------------
3. KEEP IT SHORT.
Respect that the time of the person reading your letter is valuable. Three paragraphs maximum. These should be: 1) Where you saw the advert and why you are interested. 2) Specific details that make you stand out. 3) An invitation to read your CV and schedule an interview. The goal of the cover letter should be to get people to read your CV. The goal of your CV should be to get an interview. The goal of the interview should be to find out if you and the company are a good fit.
2. SHOW WHY YOU'RE A GOOD MATCH.
Keep it to three points maximum. Focus on how you match the job description.
1. JOB APPLICATIONS ARE ABOUT THE COMPANY, NOT ABOUT YOU.
Don't harp on about yourself. Highlight the benefits that you can bring to the company. If you're starting too many sentences with "I like..." or "I want..." then you're doing it wrong.
-------------
Here are some examples from my sent mail folder, all of which got me interviews - and job offers.
-------------
EXAMPLE 1: SYSADMIN POSITION IN ACADEMIA
Dear [contact],
Re: [job-title] [link-to-job-advert]
The post above was mentioned to me by your colleague [X] and I am very interested in it. Please find my CV attached for your consideration.
For this particular post I would like to highlight a couple of points from my CV that might be of interest to you:
- experience of system administration in an academic environment
- very strong Linux and programming skills
- experience in an international environment
I do hope very much we can meet to discuss your requirements in more detail.
With best regards, [name]
-------------
EXAMPLE TWO: LINUX MOBILE PHONE SOFTWARE ENGINEER
Dear [contact-name],
Thank you for taking time to speak to me on [date]. The [X] project sounds very interesting and I would very much like to discuss how I can help. I have attached my CV in French and also a direct English translation.
I would like to highlight two points that I believe are particularly relevant to [company-name]:
- I have previous experience of embedded systems programming: during my year out I developed the software for a precision testing machine (20 000 lines of C in 6 months). I worked closely with a team of electronic and mechanical engineers during the project, which was completed on time and on budget.
- I am a developer for [Y] Linux, a distribution which is being increasing used for embedded systems. If you are considering using Linux either in your phones or in-house I can offer specific expertise.
Please do not hesitate to contact me if you need further information, and I look forward to discussing your requirements in more detail in the near future.
Yours sincerely, [name]
-------------
EXAMPLE 3: BACK-END DEVELOPER FOR INTERNET START-UP
Dear [company-name],
I'm very interested in the Back-end Developer job at [company-name] advertised on [job-site-name] and on your website.
In particular, I can offer [company-name]:
- very experienced developer, including many years of PHP, JavaScript and MySQL experience
- expert in Linux, including Apache and system administration
- experience of building successful communities - I've been instrumental in evolving [sports-website] into the most popular website for [participants] in the world with over [X] thousand members
Please find my CV attached for your consideration. You can find code from my personal projects, many including PHP, AJAX, XML and geographical services, at: [link-to-my-github-page]
I do hope that we meet to discuss your requirements in more detail.
Yours faithfully,
The job ad is about the company. Your resume is about you. The cover letter is supposed to highlight how one matches the other. These examples are fabulous.
A generic cover letter is worse than useless.
Advice is great, but I can rarely get much from it without examples. Even reading "expert advice" on job sites and such is usually pretty flat. Saying "formal but not too stiff" means very little without an explanation.
Think of it combined with your resume as a marketing plan. Why you as opposed to someone else and address anything that stick out better or worse in your resume.
What's worked best for me is just emailing startups I genuinely want to work for with a one-sentence description of me, and a question (wanna meet up? is a summer internship a possibility?). I also include a sentence describing the coolest thing I've worked on (inspired by the SuS application).
It's worked so far (and I'm only a freshman, I'm sure you have way more to talk about!).
To give a boring example: If you want a software development position, experience with software development is a plus. If you can tell in your cover letter (and resume) that you have already worked on, say, an open source project, they are more likely to be interested in you.
Also, and maybe this is just a pet peeve, but the cover letter should be the body of your email. Lots of young applicants write this strangely informal email and attach a completely generic cover letter that doesn't even have my name in it.
As a Word document?
It's like they think the cover letter is supposed to be a writing sample to prove they speak English, rather than an introduction.
As with yourself, nothing annoys me more :P
more: http://www.errant.me.uk/blog/2010/05/how-to-write-a-good-cv/
Also, the resume should be concrete about experience. I don't like reading about what your team did, instead talk about what you did. I don't like reading that a project that "made stuff better", I want to know by how much exactly. I don't like reading projects that sound like they were accomplished with magic fairy dust, I like to see specific tools, techniques, programming languages, and so on. My resume in fact used to be more generic, but the feedback I got on it from my friends made it a lot better (they were also former coworkers so they knew some of the stuff and even remembered some projects I'd worked on that I had forgotten). I said what I did, what tools I used, what goals I hit personally.
Understand that my opinion is that of a junior engineer (1 year of experience).
A strong cover letter ought to be engaging, to the point, clear, and genuine. My general strategy leveraged casual language, an honest portrayal of myself and my desires, and dollop of self-deprecating humor. I got some friends to review my cover letters, and made sure that they laughed. I figured, if the recruiter enjoys my cover letter, my application won't get dumped immediately.
YMMV. This might be awful advice, but it worked for me. Good luck!
Show me you took 10 minutes seeing who are are and what we're about, and that you didn't just spam your cover letter and resume to every job posting you could find.
Talk to me like I'm a human and not some robot checking our mail box, checking off that you've done 6 years of whatever-it-is.
Show me you have passion and you give a damn, and that you're not afraid of hard work, but still carry a sense of humor about you.
I suggest reading about Leonardo da Vinci's resume for a good example: http://www.theladders.com/career-newsletters/leonardo-da-vin...
Something else to keep in mind, the interview process is not always about winning/losing--it's about finding the best candidate. You might be extremely qualified for a position but not come across as what the company is looking for. For example, the last time I was interviewing people, I was looking for someone who would follow my instructions. My top five applicants were extremely qualified (overqualified even). I went, not with the most overqualified candidate, but rather the one who I knew I could mold into what I needed.
Remember, you're involved in a transaction. You're selling your time. Make sure you know what you want to sell and realize that not everyone is buying exactly that.
Exactly, and this has many variations. On one of my recent interviews for a contract position, about 3/4 of the way through when we were discussing technical details in more depth, I realized I didn't have the proper background for the project, so I said that I would recommend they contact the headhunter to see if they had someone with more experience in this particular technology. They asked me if I was interested in learning it (they seemed to be looking for a reason to hire me), and I said sure, I'd love to, but in my opinion it was in their best interests to hire someone that already knew the technology well.
If I wanted to I could have taken the job, learned a new technology, and got overpaid for it. But I believe being brutally honest will pay off in the long run - some people will remember you some day, and you will reap the benefits.
Applying for a position at a bank/multinational/"big" company with a full HR department and a contract with Taleo to track job applicants? Be a bit more formal. Remember that the first person who reads your letter is likely an HR professional with little connection to the people who will actually make the hire/no-hire call. They'll be working from a job requirement form, and their goal is to answer the question "Is there enough of a chance that this candidate has the right skills that I should forward their file on to the right hiring manager?" What makes this even more "fun" is that there's a good chance that they have a very small - if any - technical background, and may not know (for example) the connection between jQuery, Javascript, and "AJAX". For companies like this, a little buzzword bingo in there is an important ingredient that gets your file sent on to the technical guy, who will actually know what he's looking for.
On the other hand, you've got small/medium-sized companies in which the engineers you'd end up working with will be much closer to the incoming stream of applications. These companies may have a designated HR guy, but the role is often filled by someone else wearing the HR hat for one day a week. Here, the initial person reading your letter is someone you'll probably end up working with to some degree or another, which complicates their goal in the first screening. Now, the question becomes "Does this person sound like the kind of person I'd like to work with, and if so, does (s)he sound smart/interesting enough that I should disturb Steve over there to get him to look at this letter?"
Bottom line: if you're applying to somewhere that has an HR department you need to get through first, write the letter for them (and assume the actual hiring managers won't read it). If you're applying to somewhere where the HR guy is a potential colleague, write the letter as if everyone will read it and they're judging your fit as a person, not only technically.
These people will spend most of your waking life with you. If they don't want YOU, the real person, you don't want THEM, the uptight company.
The cover letter is obligatory, not because they want it, but because YOU need it to do anything other then be a set of keywords.
Talk about why you're a good fit for the role they're asking. Look at their company site and see what culture they claim to have, and write to it. Write how it will make you productive and encourage you to bring value.
Best of luck. If you become a startup guru, hire me, I'm hard working and a good lateral thinker...
Thanks for the advice. It makes a lot of sense.
Be genuine. Don't bullshit. Tell them why you want to work for THEIR company. Discuss why you'll benefit them or what you'll bring to the table. Mention your skills. Be conversational and convey a little personality. If the company is a laid-back startup type, don't be afraid to show your quirky side. Show enthusiasm. Tell them why you're different.