Изучайте иностранные языки!
(В оригинале - Learn Foreign Languages)
Программистам приходится общаться. Много общаться.
В отдельные периоды жизни программист может общаться практически только с компьютером. Точнее, с программами, работающими в компьютере. Такое общение можно назвать выражением идей в понятной компьютеру форме. Программы – это идеи, воплощенные в реальности практически без участия материальной составляющей.
Программист должен свободно владеть машинным языком и абстракциями, с которыми этот язык имеет дело. Важно владеть множеством абстракций, иначе некоторые идеи будет очень сложно реализовать. Хорошие программисты должны находиться за пределами ежедневной рутины и быть готовыми изучать другие языки для других целей.
Кроме общения с компьютерами, программистам приходится общаться и с коллегами. Современные крупные проекты – скорее результат коллективных усилий, а не простого применения программистских техник. Важно понимать и быть способным объяснить гораздо больше, чем позволяют используемые компьютерные абстракции. Большинство лучших программистов, которых я знаю, очень хорошо владеют своим родным языком, а плюс к этому еще и несколькими другими. И дело здесь не только в коммуникации с другими – хорошее владение языком приводит к ясности мыслей, что необходимо для оперирования абстракциями. А именно этим программисты и занимаются чаще всего.
Кроме общения с компьютерами, собой и коллегами, приходится общаться и с другими участниками проекта с разной технической подготовкой или без нее. Эти участники занимаются тестированием, продажами, это также пользователи вашего продукта и его заказчики. Вам необходимо понимать их всех, что практически невозможно, если вы не владеете языком их предметной области. Вам будет казаться, что вы все поняли, однако это будет не так.
Если вы говорите с бухгалтером, вам нужны базовые знания о бухучете. Если вы общаетесь с адвокатом, вам нужно знать язык, на котором общаются юристы. Языком предметной области проекта обязательно должен владеть хоть кто-нибудь в команде, и идеально, если это – программисты. Ведь именно они воплощают идеи в жизнь.
В конце концов, жизнь – это не только программирование. Изучить другой язык – все равно что получить вторую душу. Вам пригодится знание иностранных языков и в вашей обычной жизни вне программирования. Чтобы знать, когда лучше слушать, чем говорить. Чтобы знать, что для общения почти не надо слов.
Автор оригинала - Klaus Marquardt