Знают ли программисты английский по-default'у?
На недавнем, если так можно назвать, пилотном выпуске мини-конференции "Java на Неве", проведённой для телеграм-канала “JavaSPB” (если интересно - запись здесь, но предупреждаю - всё "дёшево и сердито", как и положено мини-конференции, организованной второпях чисто "для своих": https://www.youtube.com/playlist?list=PLP_s4NYnBy8AUHHqtSI8GzyVLLp90bs39 ) отметил интерес к английскому у начинающих программистов. Тут есть некоторая неразбериха, так что давайте попытаюсь разложить по полочкам, как понимаю проблему сам.
Английский можно изучать индивидуально - и тогда тренер приспосабливается под вас и ваши потребности по принципу "любой каприз за ваши кровные", а если не тянете по деньгам - можно и в группах. Вопрос лишь - насколько эффективно получится изучать в группах с не-программистами?
Вообще, знание английского можно разбить на 4 отдельных навыка. Это:
1. Лексикон - знание слов и их значений в различных контекстах,
2. Правильное восприятие и составление предложений (в т.ч. - да-да - те самые ужасные времена сюда же!),
3. Аудирование, т.е. восприятие на слух и произношение,
4. Понимание идеоматических и слэнговых выражений "живой" речи иностранцев.
Кроме того, всё это должно накладываться на т.н. "языковую личность" (реже наз. "языковой центр" в мозге или даже "альтернативный языковой центр" - по отношению к вашему native'ному языку). Т.е. понимание предложения совершенно не обязательно означает способность перевести его на русский - языки не полностью равнозначны по смысловому полю и у меня, например, частенько бывает, что мне по-английски-то что сказали - я понял, но перевести на русский мне при этом трудно.
Вообще, у профессиональных переводчиков это отдельные специализации - переводить либо с английского на русский, либо с русского на английский - это разные специальности и эту работу профессионально выполняют разные люди. Так что такой критерий понимания, как способность правильно перевести, весьма странен.
Ася Казанцева в одном из выступлений приводила хороший пример. Попробуйте потренироваться в английском, попытавшись понять данное четверостишье:
"Twas brillig, and the slithy toves
Did gyre and gimble in the wabe;
All mimsy were the borogoves,
And the mome raths outgrabe."
Штука в том, что самих этих слов в английском нет, но приблизительный смысл носитель языка понимает, а изучавший его как второй - нет.
Вот перевод:
"Варкалось. Хливкие шорьки
Пырялись по наве,
И хрюкотали зелюки,
Как мюмзики в мове."
Согласитесь, что-то интуитивно понять здесь уже можно. А как Вы думаете, поймёт ли что-то в этом переводе тот, кто учил русский как второй или третий язык - тем более если начал учить в зрелом возрасте?..
(Это - только первое четверостишье, полностью стихотворение с переводом можно найти тут: https://ru.wikipedia.org/wiki/Бармаглот )
Так же для тренировки можно попробовать перевести что-нибудь из Есенина:
"Изба-старуха челюстью порога
Жуёт пахучий мякиш тишины..."
А вот в английском, например, есть слово, объединяющее брата и сестру - "sibling". Прямо перевести его невозможно - в русском языке аналога нет.
Но вернёмся к программистам. Итак, на мой взгляд, специфика программистов как аудитории для изучения языка состоит прежде всего в том, что мы зачастую весьма неплохо понимаем тексты на достаточно формальном international-english, которым написано большинство статей на таких сайтах, как Medium, DZone, InfoQ и Baeldung, а так же на котором преимущественно пишется документация к языкам программирования, библиотекам и фреймворкам, ведётся переписка на Stack Overflow и в issues'ах GitHub'а, ну и пишутся книги издательств, ориентированных на программистов, типа O'REILLY, Manning и Apress.
Без этого навыка человек программистом просто не станет, так что можно заключить, что тот, кто стал - им обладает, перед нами результат отбора.
Особенно следует отметить, что зачастую по профессиональным вопросам мы можем вполне сносно переписываться на тех же SO и на GitHub, что даёт нам до некоторой степени прокачанный навык построения предложений на английском.
Слова же достаточно быстро набираешь, просто видя их из раза в раз.
Именно эта специфика делает для нас не совсем подходящими традиционные курсы английского языка, которые ориентированы либо на докачку "трёх классов церковно-приходской школы", т.е. стандартной для СССР-РФ школьной программы английского, либо - для достаточно многочисленной категории тех, кто в школе учил французский или немецкий - им нужно вообще изучение с нуля. Ни под ту, ни под другую категорию мы не попадаем. т.к. многое из этого мы итак уже знаем.
Что же касается задач, для которых нам нужен язык, то они так же достаточно специфичны: ещё не так давно большая часть из нас вообще, что называется, "и в ус не дула", считая, что у нас прекрасный английский (потому что вышеозначенные тексты - это для нас в значительной степени И БЫЛ английский). Но, "как снег на голову", на нас свалился Agile и популярно объяснил нам, что нужно общаться с нашими заказчиками напрямую, без аналитика, который в прошлой, "водопадной" модели, в значительной мере выполнял для нас функцию переводчика (не поймите меня не правильно - аналитики по факту остались, но теперь они скорее просто присутствуют при нашем общении с заказчиком, притворяясь SCRUM-мастерами или кем-то ещё). И вот тут-то и выяснилось, что мы, мнящие себя вполне понимающими английский, нуждаемся в субтитрах, которыми Zoom и Skype всё ещё не успели обзавестись, да и телефонные разговоры с заказчиками так же не стоит пока списывать совсем уж на нет - в работе это случается.
И здесь тоже незадача: насколько я понимаю, основная аудитория посещающих традиционные курсы английского - потенциальные эмигранты и туристы (которые учат общие вещи - типа как вести светские беседы). При этом отдельно существуют углублённые программы для разнообразных категорий бизнесменов, ведущих дела с англоязычными партнёрами - например, некоторые выделяют отдельную категорию "бизнес-английский" или "деловой английский".
Основной навык, который необходим программистам в этой ситуации, называется, насколько я понимаю, "аудированием" - это способность понимать речь на слух и, с другой стороны, говорить, при чём о сложных профессиональных вещах, а не просто уметь спрашивать, как пройти в библиотеку.
Кому-то может показаться, что говорить - это произносить текст, который мы в переписках привыкли писать, т.е. основная проблема - прокачать произношение, но на самом деле живой текст от письма отличается довольно сильно, так что человек, который говорит точно так же, как пишет, будет восприниматься довольно странно...
Так что нам нужно не столько учить язык, сколько компенсировать существующий перекос в текст в его изучении в сторону именно общения - восприятие реальной речи на слух и более “живое“, а не классическое выражение мыслей в собственной речи при разговоре.
Безусловно, если заниматься один на один, то преподаватель быстро под тебя подстроится, но если говорить о группах, то, на мой взгляд, тут нужны специальные группы программистов.