Добавить комментарий

Не идеализируйте программирование

Замечательно сказано в http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html

У тех же, кто считает, что программирование это важнейший навык, которому мы должны учить детей, наряду с чтением, письмом и арифметикой, я хочу спросить: можете ли вы объяснить мне, как Майкл Блумберг сможет лучше справляться со своей работой, возглавляя крупнейший город США, если одним утром он проснётся ведущим Java специалистом? Для меня вполне очевидно каким образом хорошее чтение, хорошее письмо и хотя бы школьный уровень математики являются ключевыми навыками для политика. Да и человека любой другой профессии. Но понимание переменных, указателей и рекурсии? Я не понимаю.

 

На самом деле я обожаю программирование. Я также считаю, что программирование довольно важно... в подходящем контексте, для некоторых людей. Но так же и много других навыков. Я буду советовать всем подряд становиться программистами, как я не буду советовать всем подряд становиться сантехниками. Это было бы безумием, правда?

Fred Wilson пишет:

Один человек спросил у меня совет "для тех, кто не сантехник". Я посоветовал ему попробовать стать сантехником.

Вся эта движуха "все должны учиться кодить" не просто заблуждение, потому что приравнивает это к другим важным навыкам вроде чтения, письма и математики. Ладно бы так. Но это неправильно по многим причинам.

  • Это исходит из того, что чем больше кода, тем лучше. На тридцатом году своей карьеры программиста я замечаю, что это... не так. Надо ли учиться "писать код"? Нет, я с этим не согласен. Надо учиться писать так мало кода, как только возможно. В иделе не писать вообще.
  • Это исходит из того, что программирование это и есть цель. Разработчики часто считают, что писать код - их работа. Но это не так. Их работа - решать проблемы. Не радуйтесь созданию кода, радуйтесь созданию решений. В мире и так уже хватает программистов, которым всегда хочется написать "ещё пару строчек".
  • Это ставит решение впереди задачи. Прежде чем ломиться учиться программироваться, разберитесь, в чём, собственно, состоит ваша задача. У вас на самом деле есть задача? Можете ли вы объяснить её так, чтобы другие поняли? Серьёзно ли вы изучили задачу и способы решения? Действительно ли её можно решить программированием? Вы уверены?
  • Это исходит из того, что пополнение толпы наивных и неумелых "что-то-меня-всё-это-не-вдохновляет" программистов в очереди на вакансии это, в целом, хорошо для мира. Ну, в целом это так, учитывая, что один плохой разработчик может легко создавать по паре рабочих мест в год. Да и в целом, многие, считающие себя программистами, даже не могут писать. Поэтому прошу прощения за свой скептицизм в отношении "любой может научиться программировать".
  • Это намекает на то, что существует тонюсенькая мембрана между изучением программирования и получением хорошей зарплаты занимаясь этим профессионально. Просто посмотрите на на всех этих программистов которые получают работу со средним заработком $79тыс/год после полуторамесячных курсов! Может и вы смоежете изучить перл за 24 часа! И хотя я всё же считаю программирование достаточно эгалитарной сферой, где дипломы и сертификаты незначительны, а требуется опыт, вам всё же придётся вложить свои десять тысяч часов, как и всем нам.

Я допускаю, что я могу поддержать изучение малой толики программирования, просто чтобы вы могли понимать, что это такое - код и когда код может помочь решить вашу задачу. Но я так же могу замечать сантехнические проблемы без какой-то особенной тренировки. Большинство людей (и их политические лидеры) больше всего смогут получить именно от этого простого понимания работы компьютеров и сетей. Умение ориентироваться в интернете становиться достаточно важным жизненным навыком и мы должны бы заняться сначала именно этим, прежде чем прыгать прямо в программирование.

Пожалуйста, не надо агитировать учиться программировать просто ради того, чтобы научиться программировать. Или, хуже того, ради большой зарплаты. Вместо этого я скромно предлагаю тратить время на обучение тому, как ...

  • Исследовать не переставая окружающий мир и изучать, как работают окружающие нас вещи.
  • Общаться эффективно с окружающими нас людьми.

Эти навыки помогают далеко не только в программировании и будут полезны в любом аспекте вашей жизни.

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <hr>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Ответьте на этот вопрос чтобы подтвердить что вы не робот (Если вы робот - оставьте поле пустым :)
10 + 8 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.