I saw a post recently where a developer raised very valid points on why English isn't a skill they should be measured with: My English is not perfect. Why would you hire me?
I can empathize with the author but sadly, the reality is different. Like it or not, fluency in English is a vital skill for a programmer.
Most folks, especially in the developed world, are very used to fluent English. Bad grammar sounds off and diverts attention. Even with the best intentions, the listener has to make a conscious effort to ignore it.
In 2013, Facebook ignored multiple bug reports of a serious issue from a security researcher. Why? His English was poor and so the reports weren't taken seriously.
Additionally, a plethora of opportunities open up when you're fluent. You can communicate your ideas better. You can reach out to people with confidence. You can get better jobs. You can write posts, guides, and tweets that others will find interesting.
In all, poor English is a potential hurdle for your career. And it's best to take care of it. I used to find this concept shallow but with time, I have made peace with it. Humans, after all, are imperfect and this is just one of many biases that affect us.
Fortunately, getting better at English isn't much different from learning a programming language. It just takes practice.
I wasn't any good at English, too and for a while, I wondered if I'll ever improve. Luckily, the fear was pretty unfounded. I believe that if you're constantly trying to level up, progress is a natural outcome.
Looking back though, there're obvious ways I could've done it faster, and there were important lessons I learned too late.
I mean to write this guide so you don't have to go through the same mistakes. I hope that the things I learned will help developers who are going through the same struggle.
When we talk about English as a skill, our focus is usually on grammar. It took me a while to understand that grammar is only a part of the equation, and that memorizing the rules of English isn't that helpful. English has tons of nuances in everything, which can only be learned by practice and exposure. Few examples:
Sentence A: The new Software doesn’t fulfill our requirements.
Sentence B: The new Software doesn’t have the things we need.
Technically, both sentences are grammatically correct, but "fulfill our requirements" is overly formal and awkward. It's more suited for a business document than an everyday conversation. Sentence B is simpler and closer to what a native speaker would say.
Sentence A: I have invariably loved you.
Sentence B: I have always loved you.
If I look up invariably in the dictionary, it'd be defined as "in every case or on every occasion; always." I might conclude that it can be used as a substitute for always.
However, the word usually applies to processes and objects (rarely people). If you use the word in the wrong context, it has the potential to sound very off. Understanding where a word fits takes time and a lot of reading (When in doubt, use the simplest word).
Becoming fluent in English means getting better on three fronts:
1) Getting grammar right: Perhaps, the most important part. People are much more forgiving about clumsy sentences but not that much towards getting tenses and verbs wrong.
2) Knowing words and their appropriate usage: Unfortunately, early learners often hold a terrible idea—that vocabulary is about knowing a lot of words. And as I have frequently observed, it creates room for using words poorly. Good vocabulary, as I wrote earlier, is not just about learning fancy words and their meanings, it's also knowing when to use them.
3) Composition: If I had one word to describe good writing, it’ll be “effortless.” Good writing is a breeze to read and causes the fewest interruptions in the reader’s mind. To explain this, look at these two examples:
Macbeth was very ambitious. This led him to wish to become king of Scotland. The witches told him that this wish of his would come true. The king of Scotland at this time was Duncan. Encouraged by his wife, Macbeth murdered Duncan. He was thus enabled to succeed Duncan as king. (55 words.)
Encouraged by his wife, Macbeth achieved his ambition and realized the prediction of the witches by murdering Duncan and becoming king of Scotland in his place. (26 words.)
The first sentence has too many interruptions and gives a feeling of being written by a novice. The latter is not just succinct, it’s far easier to read—it uses fewer pronouns and helps the reader avoid context-switching.
Grammar books are a waste of time. I can write decent, but if you asked me what is 2nd or 3rd form of some X verb or asked me to explain past participle, I wouldn't have a clue.
Think about it, when you speak your native language, do you ever think about what verb of what form you'd be using?
Diving into all the theory like these 4x4 tense tables, parts of a sentence, active/passive conversions has the potential to make you confused without any added value. No speaker learns by memorizing the rules. They just become a natural part of them.
This is not to say knowing the rules isn't important. It would help you know the correct usage of certain prepositions, or when to use have/had, will/would, but my beef is with using a grammar book as the starting point.
They are best suited as a reference. Use them when you're in doubt.
This isn't much different from learning a programming language. Setting out to learn the syntax and the API—without writing any code—will inevitably become a boring grind with not much to show for it. Coding consistently will lead to much better results.
There's no magic bullet here. You learn by practice, which here means reading and writing. But here are a few pointers to help you out:
Become a reading machine. This is the single most important thing to do. And I don't mean just books. Read everything. Read articles, and essays. Grab a respected online magazine and start reading their columns. Follow your favorite community (like, Hacker News or Good subreddits) and see the debates and discussions. See how people communicate. Everything adds to your knowledge of how words can be used, and sentences can be formed.
It’s okay if you don’t understand everything. Initially, I could only understand 20% of what I read. But pushing yourself to do this every day, it only gets better.
Watch talks, documentaries, live conversations, podcasts, tutorials, they help you understand how people talk in real life. Videos/Podcasts also have an added advantage compared to reading: people communicate as they do every day, which means less fancy words.
Movies and TV shows might not be the best options here, as the screenplay is often not written to mimic real-life conversations.
Confused about something? Google it. Not a mighty new trick, but few people do it. I have resolved hundreds of word and grammar questions by searching for their usage. “have vs had,” “always vs invariably,” “simple vs simplistic.” Usually, you’ll get a good article explaining the correct usage.
Much better than grammar books is a tool that'll correct your grammar and help you avoid the most common errors.
I haven’t explored all the available options but it’s safe to say Grammarly is the best choice currently—wide support, detects errors reliably well, and offers a handy explanation in the tooltip.
I would even say that you should get a premium subscription (no affiliate link), which is totally worth it. The suggestions made by the premium subscription will help you sound more natural.
I was fortunate that I had folks around who would correct me if I made a mistake. Getting corrected might seem a little embarrassing (or even annoying) but trust me, it’s the best way to learn. Encouraging people to correct you is a shortcut to finding out your mistakes.
Try to get more specific feedback. Usually, people pinpoint that your English has issues, but not knowing where the problem is can leave you scratching your head. Ask them what specific mistakes you've made. Where can you improve?
Write. Write. Write. It can just be a small opinion, or journal entry, or a story (if blogging is not your thing). Writing helps you lay down the idea and communicate clearly. Once you have a draft, go to someone whose opinion in writing you can trust and ask them to correct it without restraint. It could be your good friend, a partner, or a mentor. Don’t be disheartened if the mistakes are far more than you imagined, it’s only helping you improve.
Revisit what you wrote earlier. Try to see the mistakes you made in your past write-ups.
This took me the longest to learn. I tried way too hard to be clever. Instead of writing "he ignored the warning signs", I wrote, "he snubbed the warning signs." Instead of sounding smart, I ended up giving the impression that I was an amateur trying to pretend I know more than I do.
Most of the good writing I have seen doesn't use novel words frequently. Write simply!
The biggest mistake you can make is to a) assume you won’t get better, and b) shy away from critical feedback. I made both and it only hampered my progress. The mind is surprisingly efficient at learning if you're constantly pushing yourself.