Золотой век программирования окончен? +21


В наши дни кажется, что все, что вам нужно, это подписаться на Twitter или выступить на TEDx, чтобы назвать себя футурологом. Но Тим О’Рейли - основатель легендарной компании по обучению технологиям O’Reilly Media - не такой гуру. Его вдумчивые наблюдения за тенденциями в области вычислительной техники и его поддержка открытого исходного кода (задолго до того, как это считалось крутым) дают ему должное уважение.

Поэтому, когда Тим О'Рейли недавно высказал мнение про будущее индустрии программного обеспечения, профессиональные разработчики обратили на это внимание. Вот что он сказал:

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

Звучит логично. Вы, вероятно, слышали другие версии аргумента «сегодняшние элитные навыки программирования - это базовая компетенция завтрашнего дня». Но действительно ли это отражает будущее индустрии программного обеспечения?

Кодирование как грамотность

Трудно спорить с целью повышения грамотности кодирования. Даже если вы не планируете писать собственное программное обеспечение, есть реальная ценность в понимании того, как работает код. Даже непрограммисты могут использовать базовые навыки, необходимые для создания веб-сайта, делать выводы из массива данных или автоматизировать простые задачи. И кто не проводит день в теплых объятиях алгоритмов Google, Facebook или YouTube? Программист или нет, понимание того, как работают машины вокруг нас, является важным аспектом, когда они формируют нашу жизнь.

Идея о том, что написание кода является частью этого нового типа грамотности, который в конечном итоге превратится из почти магической силы в обычную человеческую практику, - не новость. Но есть основания для подозрений. В конце концов, всего десять лет назад мы искали научную грамотность с целью дать рядовым гражданам знания, необходимые им для принятия взвешенных решений и выбора лидеров, которые могли бы проложить разумный курс в быстро меняющемся мире. Но обещания научной грамотности не оправдались. Сегодня средний человек в значительной степени полагается на современную науку, которой он не понимает или не верит, от компьютеров (квантовая механика) до вакцин (генетика) и GPS (общая теория относительности Эйнштейна). Если научная грамотность - это цель, которая никогда не была реализована, можем ли мы действительно ожидать, что грамотность в области программирования будет намного лучше?

Сторонники движения за грамотность в кодировании отмечают, что чтение и письмо начинались как специализированные навыки, и потребовались годы, чтобы они распространились от ученых к населению в целом. (Если бы в 1620 году вы предсказали, что через несколько сотен лет даже самый не амбициозный человек сможет написать грамматически связный пост в Facebook, вы бы показались диким мечтателем.) Но есть большая разница между обучением письму и написанием книг. Есть разница между изучением науки и тем, чтобы стать ученым. И есть разница между пониманием основ кода и обучением самостоятельному построению сложных систем.

Наши усилия по повышению грамотности в программировании на удивление мало подходят для подготовки будущих программистов. Фактически, мы часто уводим новичков от искусства программирования в крошечные ограниченные песочницы. В прошлом эти песочницы представляли собой макросы Excel и (если у вас было немного больше амбиций) Visual Basic и Access. Теперь это Power Apps. Чем больше меняются вещи, тем больше они остаются неизменными - если вы хотите стать профессиональным программистом, вам все равно нужно отклоняться от стандартного пути.

Современное образование снизило планку грамотности. Но это не изменило определение того, что значит быть профессиональным программистом.

Чего стоит программист?

Другая часть комментария Тима О’Рейли более тонкая. Проще говоря, если грамотность в программировании растет, угрожает ли это привилегированному месту программистов в рабочей силе? Некоторые из сегодняшних программистов помнят, как им велели изучать что-нибудь более прочное, например математику, потому что нужда в навыках программирования была близка к сокращению. Но есть и обратная сторона: предсказание без временной шкалы на самом деле вовсе не предсказание. Сегодня у нас больше программистов, чем когда-либо прежде, и армия иностранных рабочих, стремящихся удовлетворить наши ИТ-потребности. Нет недостатка в программистах. Но не хватает квалифицированных программистов. И этот дефицит оказался на удивление долговечным. Даже несмотря на то, что мы расширили традиционное образование, продвигая предметы STEM глубже в учебную программу, и нетрадиционное образование (с бумом учебных курсов по программированию на основе проектов), нехватка квалифицированных разработчиков осталась неизменной. По текущим оценкам, нехватка талантливых программистов в ближайшие годы будет только расти. Легко предположить, что нехватка квалифицированных программистов отражает недостаток опыта в новых и появляющихся технологиях, таких как машинное обучение и аналитика больших данных. И хотя это правда, что разработчики в этих областях пользуются большим спросом, это не похоже на источник дефицита. Вместо этого не хватает квалифицированных разработчиков среднего уровня. Это люди, которые владеют основами программирования, но также понимают эффективную командную работу, сотрудничество и другие полезные навыки.

Квалифицированные разработчики среднего уровня сочетают навыки программирования с менее поддающимися количественной оценке навыками, такими как способность анализировать большие системы, отлаживать реальные проблемы, управлять проектами и общаться с заинтересованными сторонами.

В будущем новоиспеченные программисты могут столкнуться с трудностями при поиске работы, в зависимости от их местного рынка труда и своего резюме. Но опытные разработчики будут оставаться ценными десятилетиями. Даже продвижение инструментов генерации кода на основе искусственного интеллекта не заменит эксперта, который может ориентироваться в интерфейсе между кремниевой реальностью и реальным миром.

Станут ли когда-нибудь навыки программирования настолько распространенными, что программисты потеряют свою власть над ценой? Может быть, но сегодня на это указывает мало признаков. Более очевидное препятствие заключается в том, что любой, кто занимается программированием в поисках легких денег, вероятно, сгорит, прежде чем получит опыт, необходимый для успеха.

Приход нового золотого века

Цитата Тима О'Рейли намекает на будущее, в котором навыки программирования не станут залогом успешной карьеры. Но что, если золотой век вычислительной техники не про легкие деньги и обеспеченность работой? Что, если то, что мы теряем, на самом деле менее важно, чем то, что мы приобрели за полвека разработки программного обеспечения?

С годами кодирование стало все более сложным. Но в то же время нас осыпали богатством - IDE, которые вылавливают ошибки, вычислительное оборудование, которое компилирует код за секунды, фреймворки, автоматизирующие обычные задачи, такие как проверка ввода и сортировка списков. Я до сих пор помню дни, когда программистам приходилось искать информацию, и надежная книга на такую ??тему, как Windows API, распространялась по офису и пролистывалась до тех пор, пока не сломался переплет.

Сегодня, с появлением веб-сайтов с бесплатными учебными пособиями, курсами YouTube, стримерами по программированию Twitch и StackOverflow, барьеры для входа практически исчезли. Вместо стены тайных знаний, отпугивающей новичков, теперь у нас есть сообщество экспертов, которые приглашают новичков и готовы поделиться своей работой над проектами с открытым исходным кодом. Если мы выберем золотой век, измерив трение, мешающее нашим идеям, это будет золотой век.

В истории не было времени, когда было бы проще превратить идею в программный проект и поделиться им со всем миром.

Мы не можем сказать, когда закончится золотой век, но одно можно сказать наверняка. Двери королевства по-прежнему открыты настежь.




К сожалению, не доступен сервер mySQL