How important are strong written communication skills to get hired?

(or "What am I doing wrong in my job applications?")

These two questions are not rhetorical; I want to find better answers. I do have initial opinions on both of them, but I am writing this post to get other perspectives. Please comment below. Before you do, though, there is a long read.

A few days ago, I saw a post on Hacker News about a company learning that “to find great remote employees, prioritize candidates with strong writing skills.” I agree that companies should prioritize these candidates, but I believe they don’t. At least, not yet. I am just out of a job-hunting season where I had to apply to more than 250 remote jobs to get 1 offer. I couldn’t see any evidence of my writing skills being a significant factor. I don’t think they matter much.

How important are strong written communication skills to get hired? Not much.

They are essential to perform well on a remote job, but not to get one. This is not the only possible conclusion from my experience, though. I could have gotten zero offer without my writing skills. My writing skills could not be as strong as I believe them to be. Or I could be bad at applying to jobs.

I will never know the counter-factual, so I won’t bother with that. I believe I am good at communicating in writing. I am not a native English speaker, and you will see minor grammar mistakes or weird phrasing in this post. If you believe those mistakes are enough evidence to demonstrate that I have poor writing skills, we disagree on what such skills are. This perception is actually part of my reasoning that companies are not optimizing for good writing when hiring. Hiring managers using typos, grammar mistakes, and misspellings to reject applications are just looking for minor excuses to clean their huge pile of applications to a manageable amount. They are not using writing skills as criteria. My confidence is lower with my job application skills, though, so that’s the scenario I will dive into. This leads to the second question: what am I doing wrong?

When I commented on that Hacker News post about my position that writing skills will not help you get a job, I mentioned my reasoning above and the 250+ applications. This triggered a reply saying how I was doing it wrong:

“That sounds wrong. It's common, but it still sounds wrong to me.
When I look for new jobs, I find a couple of companies (3-4) that match with what I'm looking for exactly, read up on the companies, tell them explicitly how I fit into what they need, and write them personally. I have a 100% success rate when it comes to interviews, and most of the time I get an offer, but drop out when my counter-offer is too high.”

I had another similar reply before after mentioning my applications:

“I seem to apply to about 3 to 5 places and get an offer within that.”

I don’t think I was doing it wrong; I think those people have unreplicable advantages, which I will discuss later.

What am I doing wrong in my job applications? Not much.

Some perspective. I am privileged to find a well-paying remote job during a pandemic in just 4 months, with the added privileged of not having to worry about money during these 4 months. This is part of the reason why I think I did nothing wrong. I did my best applying to jobs and my best was pretty good. I am very happy and grateful to a multitude of people for the outcome. Still worth trying to find out why some people do even better and reaching a better understanding of the world.

Believing that I did nothing wrong is an even weaker position than the first one. Mainly because I don’t know the people with those great success rates, and they don’t know me at all. How possibly could we compare our application skills? To partially solve that, I will try to unveil my half on that mystery.

How I apply for jobs

To answer what I am doing wrong, you have to first know what I am doing. I will list my criteria for deciding to apply for a job. Then show my application kit: my resume and the copy-pasteable base of my cover letters. Finally, some comments on my tactics. I believe this will give you enough information to evaluate how good or bad I am at getting an interview.

I won’t discuss my interview-to-offer performance. I am not an exceptional engineer, just a fairly competent one. I have known gaps in my knowledge due to being self-taught and also lack of experience. I know where I messed up in most of my interviews. A few of them were actually for US-only remote positions, even if they didn’t include that in the job description. I also don’t practice leetcode, so the couple of interviews that I got in that format were hopeless. There is no mystery in my interview performance; the mystery is why I have just around 6% conversion from application to interview.

My criteria for which jobs to apply

I apply to jobs if:

  • It is explicitly stated that it’s a remote position (and in the last couple of months, if it allows for international remote, not US-only, as I am moving back to Brazil soon).

  • It is a US company (but I did apply to around 10 to 20 companies outside of the US). I am living in the US with a work permit, so that should be easier. And they pay better.

  • It is a front-end position (I only applied to about 10 full-stack, and even so, all junior positions).

  • It does not require anything too far from React (no Angular, Vue, or anything backend).

  • It does not ask for a CS degree. I don’t even bother to check if it is a hard requirement. If it mentions it at all, I am already at a disadvantage, so I don’t bother.

  • It is a mid-level or, sometimes, junior position (I would skip any job with the words senior, principal, staff, lead, etc. on it)

  • It is a small company (from 5 to ~200 employees). This is both because I enjoy working for smaller companies, but I also believe it is easier to get a job on those with my uncommon background. I think I would never have a chance on a FAANG-like company.

That might look like a very restrictive list, but remember that I could find 250+ jobs to apply to that match all of those. That was not the problem. I just wanted you to be sure that I wasn’t applying to any jobs out of my league.

My application documents

Here is my resume. I made a few improvements in the first weeks, but 80% of my applications were with this version.

And this is the base for my copy-pasted cover letters/email intros. I will discuss in a moment why I used a copy-paste version instead of the highly customized ones that people often advise.

I am a product-minded, mid-level, frontend developer.

I have a good eye and a detail-oriented personality for UX and design, and I am familiar with marketing tools -- I have a professional background as Growth Marketer before becoming a software developer.

I have designed, built, and deployed complete applications. The most recent one is www.quidsentio.com

I am building it solo, from concept, to design, to development (React on serverless architecture with FaunaDB).

Other links that can showcase some of my professional skills:

My newsletter with writing advice for developers: https://writingfordevelopers.substack.com

My personal blog about my career transition from marketing to software development: https://rodrigohgpontes.github.io

I would get this and add some greetings, some context of how I learned about the position, some tone adjustment depending on the company. If the job description hinted at how I could stand out, I would add a sentence or two in the beginning about it too.

This is who I am: a mid-level (maybe junior still) self-taught frontend Brazilian engineer specialized in React, with 3 years of experience in software development, but previous experience in other fields; looking for a remote job in a US company that I could do from Brazil.

My tactics: what I did and what I did not

In the beginning, I was calm. For some context, I quit my last job for mainly two reasons: it was a 2-junior-devs team, with no senior engineers, where I was not learning much on the technical side; also, I had a few side-projects that I wanted to work full-time for a while. So getting a new job fast was not much of a priority.

I would find jobs that I liked a lot and I thought I was a great fit, and dedicate myself to write some customized applications. I would dedicate a fair amount of time writing (allegedly) convincing emails to companies with product connections (or role responsibilities) related to Growth Marketing or, more rarely, non-profit organizations. I was ignored or rejected without an interview in all of them (I would guess there were about 10 of those).

I also read about a tactic of finding those companies/jobs you feel you are perfect for and trying to directly contact the hiring manager, not through the regular application forms. Find them on Twitter, Linkedin, blog, and make your pitch directly. I tried two or three times, and no response at all. Not enough data points to draw any hard conclusions, but my instinct was that this is not an efficient tactic for me.

After that, I decided to make it a number’s game. I would still only apply to jobs with requirements very much in the scope with my knowledge and experience. I would skip big companies (more than 1000 employees) or widely recognizable brands (I would assume they have just too many applications to be worth a shot). I also would skip companies that I disliked or did not believe in the product (e.g., most cryptocurrency startups).

I visited daily a bunch of sites. WeWorkRemotely, AngelList, BuiltInLA (which now has a job board functionality to look for remote jobs all over the US). Find the ones that matched my criteria and apply. Send resume, copy-paste my cover letter with small adaptations into the email or a PDF to upload in a form. That process consumed between 1 and 4 hours every weekday morning for 3 months. I would also eagerly wait for the monthly “Who is hiring?” thread on Hacker News (where I found the job that gave me the offer). The “Who wants to be hired?” thread also gave me 4 interviews. It was a great resource; it gave me almost 30% of the total interviews I got, from 4 comments posted versus 250+ applications.

Why I had a success rate of 6%* versus 100% of some devs out there?

* 15 interviews out of 250 applications (approximate numbers, I don’t have time to count exactly, I have a job!)

I have several reasons that negatively affect my performance — none of them my fault; that’s why I call them “unreplicable advantages” that other people have over me. All of which I believe plays a role in general, and any single one of them could be a deal-breaker for some companies.

I don’t have a Computer Science degree. I have a degree in economics. I learned how to code by myself using freeCodeCamp.org (please donate to them, I do, they are awesome!).

I don’t have a top-brand college degree. I graduated from a top university in Brazil, but you, who are not Brazilian, would recognize any name as a top university in Brazil?

I don’t have a top-brand former employer in my resume.

Interestingly, if I were looking for a job in Brazil, I would be on the privileged side of this credential-oriented hiring criteria. But not in the US. Several replies on HN challenged this position that a CS degree and credentials matter that much. I do think their weight in hiring is not negligible, but there are more reasons yet.

I don’t have the social capital. This, I believe, is the most significant reason for my low success rate. I am a software developer only for the last 3 years and I studied alone. I have no childhood or college friends that are software developers. I don’t have boot camp connections. My only job in the US had only one more engineer, who is still there. I do have friends from my first job as a developer in Brazil, but they are all… in Brazil. One exception, a former colleague is working remotely for a US company and he was very kind to refer me to a position that had not yet be announced publicly. Unfortunately for me, they had a pretty hard requirement of professional experience with Typescript (which I have zero) and GraphQL (which I have only from side-projects).

That only reinforced my point; social capital matters a lot! You find about unadvertised roles with zero or just a couple of applicants; you start the process ahead with a trusted person vouching for you that often leads you directly to the interview. I am sure I know about 10 people who worked with me in Brazil that would refer me directly to the interview if their company had an open or soon-to-be-open fitting position there.

I am a junior to mid-level developer. Another strong reason. The market is very different for senior developers. For one thing, the number of positions available multiply (check any HN’s “Who is hiring” thread and count the proportion of positions with “senior” on it). This makes it much easier to find that exact job where you are a perfect match and you can deliver a compelling pitch. Also, with experience, there is a tendency to come specialization too. Three years of experience in React is a pretty common profile. I did not have the time to become “pretty good” at any one specific thing. The exception is that I know more than average about growth marketing from my previous career, but it doesn’t seem to make that much difference for development jobs. There is much more demand for senior developers and less offer. Obviously, it’s much easier to get a new job.

These are all unreplicable advantages that I don’t have. Unreplicable in the short term, I mean. I guess that 5 years from now, with more social capital in the industry, with more years of experience, with deeper and more specific knowledge, it will be much easier for me to apply to jobs. This year, under the circumstances, did I do anything wrong applying to jobs? I don’t think so.

And my advice would be that if you are an unemployed software developer looking for a remote job, don’t worry at all about trying to improve your writing right now. Leave it to after you have a job. It worked out great for me.

Now that you know my opinions and have a more clear view of how I apply to jobs, you can answer me:

How important are strong written communication skills to get hired?

What am I doing wrong in my job applications?