• Why Knowing English Is Important For Every Software Developer

    At first, I wasn’t sure whether to write this post in English or in Russian. On the one hand, it’s aimed at those who are not proficient in English so it seemed logical to write it in Russian. On the other hand, I also have many friends who are neither from Russia nor they’re native English speakers and so I can imagine that my thoughts here would also be interesting for them to go through. As you can see, I chose the latter. This blog post is about why I think it’s very important for any software developer to know English on at least an intermediate level, both in terms of non-verbal (reading/writing) and verbal (speaking) types of communication.

    The Way You Manage Yourself

    I know many people (software developers) who are perfectly fine with not using English on a daily basis. They prefer books translated to their native languages (usually those are “hard copies” rather than e-books), they use localized software (for example, Russian Windows, Visual Studio, SQL Server, and so on), they receive global news from the national content aggregators and news portals, in case they need help online, they usually turn to domestic communities (localized documentation, Q&A sites and forums, etc.), things like that. And it’s perfectly fine, all this usually works quite well. But let’s take a look at the disadvantages.

    First, let’s talk about translated books. The main problem with those (as I see it) is that it usually takes quite a lot of time before the translation hits the market. One of my friends recently bought the translation of Jon Skeet’s C# in Depth, second edition whereas I (almost at the same time) bought the third edition. I’m not saying that the information from the second edition is way too old already, but let’s face it: technology these days evolves so quickly that it’s sometimes doesn’t even make sense to publish a hard copy because by the time it sees the light, there will be so many changes and additions to the subject that it will require writing a new edition. Another problem with translations is that sometimes the translator doesn’t have enough understanding of the subject in order to properly “project” the knowledge into a new language (as an example, there’re quite a lot of complains regarding the translation quality of the second edition of C# in Depth).

    Next is localized software. While I can understand why people are buying translated books, it’s a complete mystery for me why software developers are installing localized copies of specialized software (for example, a .NET developer using a Russian version of Visual Studio). The biggest issue here is that it’s often very hard to find a solution to a problem with particular tool or framework (for example, you get a weird .NET exception or the project build fails) if all you have is a bunch of localized error messages . The original documentation is always much better than any of its localizations plus resources like Stack Overflow can really save you a lot of time as well as nerve cells.

    The situation with news is similar to the one with books. News are useful when they’re fresh and although it doesn’t take long to translate a single news article, things like the competence of the translator (same as with books) as well as the ability to consume the related information (for example, nobody translates comments, while they can provide a much better insight of the situation than the article itself) often make it more difficult to keep your hand on a pulse of technology.

    The Way You Represent Yourself

    Here’s something very important: your ability to express yourself in English can directly affect the ability of people around you to judge about your level of professional expertise. This is something I experienced personally as well as observed from the side. At my previous company we had a group of developers working remotely from Ukraine. Every now and then, we were having Skype meetings where we were planning next iterations, discussing current issues, etc. None of the Ukrainian guys had a particularly good verbal English and what I noticed is how my colleagues were communicating with them (not only via voice chat but also by email). It seemed that those Ukrainian guys were treated more like junior developers (basic stuff was always clarified, intense audit from the lead/manager was an ordinary thing, etc.) rather than developed professionals. The funny thing is that I knew what they were capable of doing since we could speak Russian to each other and I could tell that those guys had enough knowledge and experience in what they were doing. From my point of view it was their English that resulted in making a bad impression of themselves as professional developers. And it’s not the only example, I’ve seen other cases like this.

    Paul Graham recently made a remarkable statement about one of the reasons they don’t accept people to Y Combinator. He said literally the following: “One quality that’s a really bad indication is a CEO with a strong foreign accent.”. While there’re now many people who disagree with his statement (even those who spotted a racist tone in what he said), I think he’s generally right. Why would I, as an investor, trust someone my money if that someone can’t even properly pitch his idea so it’s at least understood by everybody? I think that the same logic can be applied to software developers with a bad English: nobody is going to hire you as an architect or a team lead, if you can’t even express your thoughts using a proper technical terminology.

    The way you act now If you thought about yourself while reading the above, you know that you probably need to improve your English. I’m not going to suggest anything here because I think that there’re different techniques that work for different people. Someone learns better by watching movies with subtitles, by reading books with the dictionary and by playing video games (yes, a lot of people actually improve their foreign language skills by playing video games localized to that language). Others just take classes and receive knowledge from the teacher. If you have a possibility to communicate with the native speaker on a daily (weekly, monthly) basis, that’s great, that would probably help you a lot. Personally, I was just switching more and more to the English “content” (uninstalling all localized software, switching from national news channels to The Verge, TechCrunch and Hacker News, etc.).

    The Japanese translation of this article is now also available.