Programmers are passionate about mastering another programming language, but in my opinion, mastering English is more important for programmers’ career development and skill development than mastering any other programming language. (Learn at least one programming language if you don’t already know it.)

What is it like to be a good programmer in English?

Tell me from my own experience what I think English can do for a developer. I began to consciously read English textbooks and documents in college. Later, I studied abroad and worked in an English-only environment for several years, which was of great help to the improvement of My English level, which was also the biggest obstacle to learning English well in China. After returning to China, in addition to daily communication, I will continue to receive pure English information in both work and life. For me, excellent English skills are of great help at different stages of my work.

Learn new skills faster

This is the most immediate and obvious benefit for programmers. Imagine being able to read English documents faster than your neighbor who needs the netease dictionary, or being able to access a new technology before it has Chinese content, which is a huge improvement in learning and mastering new skills.

If your English is good enough to search English materials, you can access much higher quality technical documents. Taking into account the compounding effect over time, the resulting difference is huge.

For example, if you want to learn Python’s decorator, you can search in Both Chinese and English search engines, not to mention the Chinese search, the first one is a small advertisement, even after reading the normal results, the quality of English is much higher than Chinese. After all, there are many more programmers in the world who use English than Chinese, and generally have a more sharing spirit. So if you are fluent in using technical materials in English, your ability to work is very direct.

Broader career development

This may not be obvious at first, but over time it becomes more valuable than the previous point.

In recent years, I have been in contact with foreign companies, whether direct recruitment or headhunting, all have high requirements on English. More than one headhunter told me that you should never get rusty in English because it’s a big advantage over other candidates.

“Just look at the English requirements above: Concise and articulate. That is a lot. From the programmers I’ve worked with, it’s true that very few of them can do this. On the technical side, I think a lot of engineers with 3-5 years of experience can actually pass.

So if you can have a good English level above, even if you work in China, your career opportunities and options will be much more after 3-5 years, especially when you no longer want to 996. This is especially true if you’re going out to work.

Richer life experience

Whether it is daily entertainment or traveling abroad, being able to communicate in English without barriers will greatly help you enrich your experience. On the other hand, having a richer experience will help you a lot in your job, since many new ideas and methods in your job come from life.

My English is only so-and-so, how should I learn it?

First of all, I will make a rough classification of English level according to my own understanding and from the practical point of view of programmers. Since it involves listening, speaking, reading and writing, I cannot subdivide each aspect, but can only roughly draw lines:

  1. Don’t pass the exam. Rely entirely on translation to read technical articles; Everyday communication, spoken and written, is almost impossible. I think for a programmer, if you pass level 4 and still do it, that’s a failing grade. All you have to do is learn basic vocabulary and grammar, start by reading documents and simple articles, and work your way up to the next level

  2. To pass the exam. Read technical articles with a small translation; Understand technical course content with subtitles; Oral and written communication can be simple, such as simple daily communication or writing a simple issue description. At this level, you have a certain foundation and can reach the next level through continuous learning efforts. This is also the stage at which it is most worthwhile to invest in improving your English, as the marginal effects of moving up to a higher level are most obvious.

  3. Get started. Reading technical articles without translation (does not mean you need to know every word, just as you do not need to know every word to read Chinese), but cannot independently complete more complex written and oral expressions (such as writing a development document in English with the help of a dictionary). At this level, it’s ok to respond to simple emails at work, or talk to colleagues about how to fix the bug. If you want to achieve a better level, what you need to do is through exposure to a more pure language environment, so that they can understand and read, to let people understand and read. If you can read all of this without any help, you should be at least getting started or better.

  1. Good. Most English articles can be read with a few translations, such as news articles in English only. Written and oral basic expression is ok, but not authentic enough. This level to have a certain Level of English requirements of the foreign company interview has been OK, language may not give you extra points, but also not too many points. In this level has been able to compare most of your peers, you can continue to train their output of pure English ability, so that they can make people understand, to let people feel pure.

  2. Good. There is little need for translation can be idiomatic written and spoken expression. Reach this standard to live and work abroad not too big problem. If you deal with foreign interview, your language level will definitely add a lot of points for you.

The distinction between good and good can sometimes be a little fuzzy, because “authentic” itself is not well defined.

I take my own example. I once went to play tennis with my friends (also Chinese) abroad. It just rained, so we went first. I said pretty good, and my friend said dry and clean.

I think my answer was good, and his answer was good, because obviously his expression was more relevant to the situation. So it’s not about knowing a lot of words, dry and clean, it’s more about being flexible and appropriate to the situation, and it’s important that you say it subconsciously, not for a long time, not for a real meeting or interview.

How to learn English effectively at work

First of all, I assume that everyone wants to learn English without affecting their work, rather than going off work or signing up for classes at some institution. That’s why we need to get the best value for money (and not just for money, but for time, which is money).

In fact, learning any language (whether programming or written) is nothing more than “multiple inputs, multiple outputs” : high-quality inputs slowly lead to high-quality outputs.

For example, for programming, reading code is input, writing code is output, learning English listening and reading is input, speaking and writing is output.

The amount of input is the basis of language learning. The ancients said, “If you have read three hundred Tang poems, you can recite them even if you can’t compose poems.” Therefore, in this public account, we will first provide a sufficient number of high-quality input, such as technical articles or audio and video, and provide high-quality interpretation to help transform input into output.

However, many people input a lot but their output ability is not improved. I think there are two reasons:

The first is insufficient digestion of input, light is passing, but not brain. It’s like looking at code, just looking, never taking notes, not thinking, not practicing. You can’t digest the input into your own output if you only see the result without thinking about why someone else wrote it.

The second is that the output of practice is not targeted enough, what all think will be nothing. Just like learning Python, you can do crawlers, you can do web, you can do data analysis. If you focus on one direction and do it well, it’s much easier to learn the other direction. The same is true for language learning. For programmers, they can first focus on the scenarios they use in their work (writing design documents, communicating at work, answering interview questions, etc.), practice their output ability through these most familiar and practical scenarios, and then gradually expand to other aspects.

So in the future, we will roughly share the following categories:

1. Technical/non-technical articles of intensive reading, guarantee the quality and quantity of input, not just read but learn expressions, derived from the input common language of elements, and demonstrate how these elements into their own output, such as an article which expression can be used in its own output, such as a resume or interview question

2. Practical skills to improve the quality of output on the basis of input. For example, how to write a resume /cover letter in English, how to shorten the distance with foreigners in the interview, how to understand humor in English and so on

3. The culture of English-speaking countries plays a more important role in stimulating interest and broadening language materials.

In addition, we will provide opportunities for output exercises for programmers or developers, such as trying to write a document, resume, or answer an interview question, and interpreting the submitted exercises. I hope you will pay attention to our follow-up activities

For English learning, no matter what stage or path you take, I have two more pieces of advice that will be helpful if you keep believing in them:

  1. Input: learn English in English, do not think in Chinese in the process of learning English unless you have to. Including: don’t use English-Chinese dictionary, use English-English dictionary, explain English in English; Don’t think about Chinese first and then translate into English, just think about how to say/write in English

  2. Output: I try to use English output as much as possible in my daily life. Many people say that there are not so many foreigners in my normal working environment, so how can I practice speaking and writing? As a programmer, you can at least use English for code comments, your own daily work summaries, and even better for design documents if your company allows it.

In addition, prepare yourself a resume in English and update it every month.

How to practice spoken English without foreign colleagues? I know programmers are shy, most of them are not willing to go to the English corner, bar, chatting with foreigners, I teach you a free one.

Many companies have English customer service phone, but many domestic companies English customer service is Also Chinese, English is not really authentic. If you want to practice speaking and speaking English “with real people”, first go to customer service in the US or UK. The following are the phone calls I have tested with Native English customer service (use the language option to select the corresponding number to reach English customer service) :

Delta Airlines: 400-120-2364. American accent customer service United Airlines: 400-883-4288. Customer Service: 400-818-7333.Copy the code

We believe that through Developer’s Digest, we can help developers at all levels who want to improve their English, help everyone improve their professional competitiveness, and open up a wider world. Follow our column, or our developer’s Digest account of the same name.