Мне тут пришло письмо от одного из читателей (посетителей?) блога с вопросом, дескать вот вы рекомендуете прокачивать свое владение английским языком , а какие методики вы для этого используете? Думаю, это достаточно интересный вопрос, чтобы я продублировал здесь свой ответ на него. Ниже речь пойдет об английском языке, но я подозреваю, что те же рекомендации справедливы и в отношении любого другого языка.
Стоит ли говорить, что знание английского языка крайне важно для программиста? Все самые интересные книги, вся документация, все самые свежие новости — все пишется на английском языке. Вам хочется пройти курс на Coursera, посмотреть достойный доклад или послушать хороший подкаст? Извольте знать английский. К моменту когда и если интересующие вас материалы окажутся переведены, они успеют безнадежно устареть. Я уже не говорю о том, что в вашей команде может быть принято использовать английский язык для комментирования кода, ведения документации и переписки. А если компания международная и нужно общаться с иностранцами, не предложите же вы им учить русский язык!
Если честно, поначалу у меня не ладилось с английским. Несмотря на регулярные занятия в группах из 20 человек, домашние задания из серии «написать сочинение о том, как я провел лето», а также зубрежку слов и временных форм — все это на протяжении нескольких лет, к окончанию института я едва ли мог похвастаться достойным уровнем владения английским языком. Пожалуй, я мог переводить несложные тексты с использованием словаря, но вот писать тексты самому, ровно как и говорить или воспринимать английский на слух, у меня получалось из рук вон плохо. То есть, какие-то общие представления об английском языке я получил, но пользоваться им толком не мог. Фактически, существенно прокачать английский мне удалось только за последние полтора-два года. Не могу сказать, что теперь я в совершенстве владею этим языком, но виден существенный прогресс. Скажем, я способен довольно сносно разговаривать на общие темы, спокойно читать блоги и техническую литературу, воспринимать на слух подкасты и доклады, смотреть сериалы на английском языке без субтитров, а также писать в англоязычные списки рассылки и создавать багрепорты на GitHub.
Какие же методики мне в этом помогли? Отметим, что в изучении любого языка есть четыре «ветви» — умение говорить, умение воспринимать язык на слух, а также способности читать и писать. Если вы смотрите сериалы без субтитров и при этом все понимаете, это еще не означает, что вы можете свободно говорить на языке, умение говорить вовсе не означает умение читать, а способность читать книги еще не означает, что вы умеете грамотно писать. Соответственно, различные методики способствуют развитию различных навыков. В зависимости от вашей цели, вы можете либо сосредоточится на прокачке определенного подмножества навыков, либо двигаться сразу во всех четырех направлениях.
В свое время мне существенно помогли занятия в небольших группах. Во многих компаниях такие занятия сейчас проводятся прямо в офисе, что весьма удобно. Если у вас есть возможность посещать такие курсы (пусть не в офисе, а рядом с домом), крайне рекомендую! А если при этом занятия будет вести носитель языка, вообще супер. Важно, чтобы группы были небольшими, от 2 до 5 человек, иначе не будет никакого эффекта. Большая проблема обучения в больших группах, как это происходит в школе или институте, состоит в том, что у учителя просто нет возможности уделить достаточно внимания каждому ученику. Ошибся — садись, два, следующий. Разбирайся сам, где накосячил, мы это проходили. Это же тебе нужно, никто в тебя знания запихивать не будет.
Главным образом, занятия в группе нужны для прокачки умения говорить. Поэтому крайне важно перебороть свои страхи и заставить себя говорить, а не сидеть с поникшим лицом. Поначалу это может быть непросто, но, переборов себя всего лишь пару-тройку раз, вы начнете трещать не умолкая, инфа 100%. Не бойтесь делать ошибки. Как говорит наш учитель, mistakes are opportunities to learn. Это естественно, что вы будете постоянно ошибаться, ведь вы только изучаете язык. Ваш учитель запишет ошибки, а потом объяснит, в чем они заключались.
Одно время я занимался переводами технических статей с английского языка на русский. Однажды я даже участвовал в переводе одной книжки . Это вовсе не так сложно, как может казаться, и довольно полезно. Как правило, не представляет большого труда понять общий смысл текста, а незнакомые слова всегда можно подсмотреть в словаре. Дословный перевод обычно не требуется, что также упрощает задачу. Благодаря написанию переводов прокачивается навык чтения и расширяется словарный запас. Заведите блог и публикуйте в нем переводы понравившихся вам статей и новостей. Если не хотите блог, публикуйте переводы на любимом форуме. Присоединитесь к проекту по переводу книги или сами создайте такой проект.
Я в большом количестве смотрю сериалы на английском языке. Поначалу можно смотреть сериалы с субтитрами. В этом случае, встретив незнакомое слово или выражение, всегда можно перемотать серию на пару секунд назад, посмотреть субтитры и перевести их со словарем. Еще можно пересмотреть на английском языке сериал, который вы уже смотрели на русском. Тогда вам не придется постоянно отвлекаться на субтитры, так как сюжет уже известен. Со временем вы обнаружите, что можете спокойно смотреть сериалы без сабов, а смысл незнакомых слов вполне успешно угадывать по контексту. Обычно несложно угадать даже правильное написание слов, а в крайнем случае какой-нибудь Google Translate поможет исправить «опечатку». Помимо сериалов можно посоветовать смотреть каналы на YouTube.
Сейчас я работаю в компании, где часть переписки ведется на английском. Также на английском языке пишется документация и ставятся задачи. Благодаря этому прокачивается навык письменного английского. Иногда к нам приезжают коллеги из-за рубежа, благодаря чему появляется дополнительная возможность прокачать разговорный английский. Есть возможность на некоторое время уехать работать за границу, правда, я этой возможностью пока что не пользовался. Если в компании, где вы работаете, нет таких возможностей практиковаться в английском, не беда. Общайтесь в англоязычных списках рассылок, на форумах, в IRC-чатах . Нашли багу в используемой вами программе — зайдите на багтрекер проекта и создайте тикет с описанием проблемы. Во время отпуска съездите в США, Великобританию, Австралию, Сингапур или на Мальту.
Наконец, я в большом количестве читаю книги , новости, блоги, а также различного рода документацию на английском языке. Наверное, я мог бы писать твиты на английском или даже завести отдельный блог на английском языке, но ленюсь. Вести этот блог в том формате, в котором он есть сейчас, используя английский язык, по моим прикидкам будет занимать очень много времени. Да и без меня есть много хороших технических блогов на английском языке.
Дополнение: В комментариях подсказывают, что можно играть в компьютерные игры без перевода. Действительно, это тоже работает. Еще не повредит переключиться на английский интерфейс в компьютере, телефоне и планшете. Да, и совсем забыл, если у вас в телевизоре есть каналы на английском языке, их тоже полезно посматривать.
Если вам хочется прокачать грамматику, тут можно посоветовать замечательную книжку Рэймонда Мерфи «English Grammar in Use». Но нужно принять во внимание, что изучение грамматики может быть не таким полезным занятием, как вы думаете. Вот например, когда вы говорите или пишите на русском языке, вы же не особо задумываетесь о падежах и склонениях, верно? Правда, с другой стороны, чтобы правильно расставить запятые в предложении, неплохо бы различать вводные слова и придаточные предложения. В общем, что-то знать о грамматике все-таки нужно.
В общем, основная идея — «погрузиться» в английский язык, сделать его изучение как бы своим постоянным хобби или даже образом жизни. Вы удивитесь, узнав, в какие короткие сроки можно добиться ощутимых улучшений в знании языка.