Тэкс, меня тут попросили рассказать как часто работодатель просил меня изучить язык (программирования или человеческий).
В общем по человеческим языкам ситуация такая:
Как и у большинства, английский у меня был в школе, но всерьез я что-то изучал только в 11 классе когда я уже понимал зачем он мне нужен. Выучил базовые правила, слов и так уже достаточно знал, да и запас словарный с опытом легко пополняется. В универе был английский язык на котором я конечно же ленился, но поддерживать уровень он помог. Со временем правила забываются и как бы впитываются в языковой аппарат, и вы начинаете говорить не особо их помня. Тут можно и остановиться, а можно их повторить или изучить более глубоко чтобы дальше продолжать изучения. Важно понимать что подавляющее большинство native speakers почти никаких правил и не знают. А еще что изучаемый английский наверно будет немного отличаться от того с которым мы столкнетесь. Например, я часто использую сложные слова вместо фразовых глаголов, и из-за этого моя речь звучит чуть более формально.
С 1С было просто, на собеседовании показал что английский не идеальный, но я его понимаю, и этого в общем-то было достаточно.
С текущей компанией тоже было просто, так как собеседование было на английском и им сразу был понятен мой уровень. За последние полтора года мой уровень определенно улучшился. И улучшения произошли не только в качественном плане, но и просто я стал говорить более уверенно. Конечно, все еще возникают моменты когда сложно что-то объяснить, и, хоть общение на английском уже давно происходит автоматически, энергии английский потребляет все равно больше.
Другие языки изучить не просили. В большинстве случаев английского достаточно, в частности в IT. Даже в таких странах как Япония, где на английском в среднем никто не говорит, в IT можно прожить тодько с английским, насколько я знаю.
Про языки программирования...
Для 1С я уже знал C++ на достаточном уровне (надо понимать что знание языка это не только знание его синтаксиса, но и умение его применять). Еще у меня было базовое знание Java. Так как у меня очень хорошо с генерализацией знаний, хоть опыта у меня в ней было не очень много, я знал что при надобности и на Jave без проблем что-нибудь напишу. Особенно с учетом того что я даже узнал немного о интересных внутренностях java virtual machine.
Для текущей работы было еще проще, их устраивало что я знал, а я понимал что даже если будет использоваться что-то с чем я не знаком, изучить будет не сложно. В итоге основная работа была на питоне и на расте, чуть меньше года назад подключился тайпскрипт как-то сам по себе.
Есть утверждение что a good programmer is language-agnostic. Я в общем более-менее согласен с этим. Есть исключения, конечно, потому что есть неадекватные языки и языки имеющие мало похожего с другими. Ну и очевидно, что обратное не верно, знание большого количества языков не делает вас хорошим программистом.
Что интересно, в этой фразе сосредоточено сразу несколько мыслей:
1) хорошесть и полезность языка это не константы, они зависят от обстоятельств, например от решаемой задачи, уровня владения языком команды;
2) различные языки часто имеют много общего между собой;
3) понимание большего количества особенностей языков полезно для программиста.
У меня в личных планах попробовать изучить японский чисто для удовольствия, мне нравится как он звучит и мне нравятся закорючки.
По языкам программирования я подумываю поиграться с Haskell, OCaml и продолжить изыскания с Scheme когда появится время. Хотя у меня уже есть понимание ключевых концептов, например, ФП, и я могу заниматься ФП в языке общего назначения, кажется что поиграться с ними будет не менее полезно, а главное -- очень интересно, прям как с теми языками что я уже использовал.