At the time of writing, there is a huge demand for software developers. And yet, some developers struggle to get hired. What gives?
If you find yourself in this situation, whether you're a junior starting out, or a seasoned professional, it can be caused by two things:
- You're terrible at programming (unlikely)
- You're not selling yourself right (much more likely)
Over the years, I've given advice to several junior developers on how to land their first job. I've also been responsible for hiring new developers at multiple companies. Here's one important thing you must know:
Nobody reads your cover letter
Let me state that again:
Nobody reads your cover letter
It's so obvious, yet so many applications I've seen seem to bet everything on only that. The cover letter is the least important part of your application. How so?
A company will receive dozens of applications for a single job posting. And almost all of them look the same: cheap, ugly, Word-template-based résumés, and a cover letter. Here's how I assess applications:
- Any links to online work? Click and check it out.
- Scan through the résumé: any interesting experience, what kind of education?
Based on this first assessment, applications will either pass and receive some further scrutiny, or they are discarded. Notice the cover letter wasn't read. Who has time to read +20 letters, even more so if their résumé doesn't fit our expectations anyway?
So what should you do instead?
You must stand out!
Show your work
The first things I look for in any application is a clickable* link to online work, preferably to a place where I can see actual code (GitHub, CodePen, you name it).
Seeing code is much more valuable than reading about past job experiences. Just by looking at a piece of code, experienced developers can tell a lot about your level of expertise, and the way you work. You don't get that from a résumé. A junior developer with an impressive CodePen account is more interesting (to me) than a senior developer with pompous titles, but no code to look at. The former is demonstrating their skill; the latter, for all I know, might be only good at company politics and climbing ladders (seasoned developers know this happens way more often than it should).
This is where junior developers can shine: don't have much (or any) work experience yet? Real code you wrote can convince companies to give you a chance to prove yourself. Write code in your free time, contribute to open source, put stuff online (I'll write more about this in another post). This will greatly improve your chances of landing a job.
Have a brutal look at your résumé
The second thing I look at is the résumé. And often, it's kind of a mess.
Look at your résumé as if it were someone else's. What does it look like? Is it clear and easy to read? Is it relevant?
Don't listen to well-meaning relatives saying:
You should put every work experience you have in there.
Sure, that might be true for some industries. But for the software world, focus on what matters. I don't care if you've worked at your local grocery store, or if you were an intern at your uncle's law firm. If it hasn't helped you get better at writing code, then what's the point **?
Make information that matters prominent (i.e.: links to online work, relevant job experiences). Keep it short and easy to scan through. Don't cram everything into a single page if this hurts legibility (the single-page-résumé myth is just that: a myth). Of course, if you need more than 2 pages, it seems unlikely all of it is relevant. Remove what isn't.
Don't write a cover letter; write documentation
Usually, cover letters might get read only when the company thinks you are a technical fit. And here's what they will look for:
- How well you write
Motivation can be stated in a few sentences. Don't write a novel. Respect people's time.
How well you write, I'd argue, is much better demonstrated in actual projects. Writing well is important, as people who write well tend to be better at communicating complex ideas. Notice that “writing well” in our context doesn't mean “writing prose” or “writing a lot”. It means getting ideas across in a clear, easy to read manner. Think documentation, not Jane Austen.
I recommend you write clear and legible code, and comment your code (and, of course, make this code available online). Write documentation for a project (never underestimate the power of a
README file). These can demonstrate real world situations where your writing skills are put to use. This is much more interesting to a potential employer than prose.
After reading all this, you might think that cover letters are completely irrelevant. There are times, though, where they are (unfortunately) necessary. I'd say in either of the following situations:
- When the job posting shows lack of understanding for our industry
- When applying at a very large firm, that is not specifically technology-oriented
But remember: if you pass the first hurdles, you will get assessed by technical people at some point, so keep all the above in mind!
The same can be true when applying at a very large firm, that's not specifically into software (e.g.: ACME Staplers Inc wants to hire a new developer for their B2B portal). Here again, applications might first go through HR, before landing on a developer's desk.
Ask for feedback
Once you've prepared your application, don't hesitate to ask for feedback. Do you know a senior developer somewhere? Do you participate in any tech communities online? Reach out, and get feedback.
Finally, if your application does get rejected, don't despair. Reach out to the company, and politely ask why you didn't get the job. Explain you want to get better. Not only will it help you improve, but some companies might even be impressed and give you a second chance.
Good luck! And I'd love to know how it goes; don't hesitate to ping me.
Further reading: I highly recommend checking out The Purple Cow by Seth Godin. It's about standing out in general, but the clever reader will see this can be applied to job searching as well. There's even a short chapter about exactly that.
* Please don't make people copy-paste URLs. What is this, 2005?
** Of course, if you've worked +10 years in some industry, and are now re-orienting yourself to programming, that's another story.
Found a typo ? Correct it, submit a pull-request and get credited here!