Recently I tried to explain a friend of mine how I, a full stack web developer, learn English. I realized then that there's a bunch of activities to it. Together they can give the impression of being overwhelming, however, I do it all with pleasure.
The language skills are generally divided into four subskills, namely speaking, listening, writing, and reading. The ones that require you to be an active part - speaking and writing - are much harder, at least to me.
How do I train myself in each of those?
From my experience, people tend to struggle with this part the most. I had that problem too - a big language barrier in speaking.
Here's the thing - schools don't usually teach you to speak English very well. Mine didn't. On the flip side, I learned the grammar pretty well (modesty aside).
There's a simple (not easy!) way to improve the speaking, though. To speak, you have to speak.
Now, this is the most important piece of my training: here in RST, we have live conversations with our English teacher (I'm looking at you, Kate ;)). Twice a week, one hour long each.
There are up to 4 participants, and to be honest - the fewer the better. I like the most those occasional 1 on 1 lessons, simply because of more time spending on pushing myself out of the comfort zone.
It's been over 2 years since I started taking conversations in English - I could feel the barrier disappearing, literally from lesson to lesson. Now, when the barrier is much lower (not completely gone, on the other hand), I can still feel the progress.
Usually, I leave the lesson with a piece of paper, filled with just-learned words and phrases. Another important thing is to not just throw it on a pile of other notes and never return to it. I'd rather put it in a safe place and rewrite them to my "clear" notebook once in two weeks after my brain forgets most of it. Sometimes, during that, I dig deeper into the meaning, or make sure if I understood everything correctly, or just use my color pens to make important words look cool. Back to elementary school, I guess, but works fine.
Speaking in my case is one of the skills that keep declining if not trained, so regularity is king.
From time to time I have an audio call with my British client. If not a lesson, this makes a good test of my skills.
I regularly listen to a few media sources. When in doubt about the meaning, or just want to memorize a nice phrase - I take a quick note in my private Trello. Later on, I process it together with the notes from conversations.
Recently I've discovered this powerful medium, and I'm still in love with it. They make a great opportunity to fill the "empty moments" when you are busy, but not engaging your brain - during walking, shopping, or waiting.
Bear with me, I'm a huge fan of oldies. Sometimes I feel like checking the lyrics of that song that is sitting in my head, just to confirm or learn what's it about. It's a surprisingly pleasant source of English phrases.
Sometimes you have a nice repetition of names of pieces of clothing.
And by the way, if anyone knows what impresses Shania Twain, please let me know.
There are two types of YouTube channels I mean here.
The first type actually consists of only one channel, namely Arlena Witt. The videos are just online English lessons. Once a week, on average, there's a new, a few minutes long video about one aspect of English grammar or pronunciation. The perfect frequency for me.
I like eSports, therefore sometimes I watch Twitch streams. Lately, it's been mostly Dota 2 and Age of Empires II. It's useful not only in case of everyday English but also in learning the game itself, its terminology etc.
That's an obvious one. Let me only mention that I prefer no subtitles at all or English ones if any.
Again, writing as an active routine is way harder than reading. It becomes much easier when you bypass thinking in your native language and form your thoughts already in English. I believe it's a matter of practice only - so I try to practice.
As a person that always struggles with expressing their thoughts, I always feel long pride after picking the perfect phrase that does it.
Reading is the easiest part of English. Especially for us, developers. We read in English every day in our job: documentation, specifications, communication with clients, tutorials... Even programming languages are similar to English.
Other than that, I like browsing content aggregators like:
I try to pick some interesting articles, news or opinions from there, but this can be time-consuming. They are like brain candies and make good excuses for procrastination. Anyway, if an article had even a single sentence that made me think about something, or just well put one - I consider that article worth reading.
The ultimate form of reading in English is reading books. I tried two so far. The first one was Happy. Although I think I grasped the ideas from the book and found it very useful, I also found reading it very frustrating because of lacks in my language. It wasn't my level back then.
The second one was famous Clean Code and it was much easier. Partly because it's "my" topic, partly because I had already given it a try in Polish.
I could also mention that some apps and some OS on some of my devices are using English rather than Polish. However, I don't even know which ones. I'm totally indifferent on everyday work whether computers speak to me in Polish or English. Other languages could be a problem. ;)
Why do it all?
Well, I can relate to the idea that the most important language in developers' life isn't C or Python, or whatever programming language, but simply - English.
I believe that every wide-known idiom I use, every more precise word I find, and every well-formed question I ask - it all helps the other side of the cable in understanding my point of view. Perhaps even saving some time. If you're like me, you put great emphasis on communication in projects (and real life too) - good English is a tiny step towards being better every day.
Even if the initial 20% of effort I've already given, meaning that any further effort won't be as efficiently utilized (according to Pareto Principle), I would still invest some.
I believe this is one of the skills that will always be helpful and will pay off, not necessarily in a web development only.
And luckily enough, these days most of it happens in so-called "meantime".