Одна из самых увлекательных дискуссий, которые я наблюдал с ключевыми намерениями в Интернете, - это вопрос: должен ли каждый уметь программировать? Следует ли ставить программирование на один пьедестал с чтением и письмом, когда речь идет о необходимых навыках? Неужели это станет настолько важным, что вы не сможете получить никаких возможностей без интуитивного представления о программировании?

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

Почему всем следует учиться программировать?

Технологии повсюду:

Компании по всему миру переходят на оцифрованный формат ведения своего бизнеса. Компьютеры уже выполняют более 90 процентов работы, которую люди выполняли в прошлом. Технологии усугубили перемещение людей с ферм в городской сектор, ускорив быстрый переход национальных государств к развитой экономике с упором на деятельность в третичном секторе. Например, сегодня в железнодорожной отрасли задействовано всего 0,1% рабочей силы по сравнению с 3% семьдесят лет назад, однако по стране перевозится почти в три раза больше грузов, чем в прошлом веке. Таким образом, очевидно, что более технически подкованный человек имеет преимущество перед конкурентами на рынке.

Научитесь решать проблемы

«Каждый в этой стране должен научиться программировать компьютер… потому что он учит думать». - Стив Джобс

Программисты не решают проблемы, просто глядя на поставленный им вопрос. Они рассматривают проблему, разбивают ее на управляемые фрагменты подзадач, решают их (иногда эти подзадачи необходимо разбивать рекурсивно), а затем объединяют все это в одно функциональное решение.

Это в общем то, как мы подходим к проблемам. Даже если сначала это кажется непосильным, мы делаем его настолько простым, насколько это возможно, чтобы решить каждую его часть, а затем найти общее решение. Статья Forbes дает иную точку зрения на этот вопрос:

Если вы всегда считали себя более склонным к творчеству художником - правополушарным, креативным, - то кодирование поможет вам достичь баланса. До того, как научиться программировать, Леонг руководствовался жизнью, основываясь только на чувствах и инстинкте: «Когда меня спрашивали о логике моих решений, я изо всех сил пытался сформулировать их в понятных шагах».

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

Гибкость и независимость

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

Благодаря большому набору ресурсов, доступных бесплатно и не очень свободно в сети, вы можете взять под свой контроль последнюю задачу в ваших руках! Базовые знания веб-страниц, как добавлять контент с помощью HTML, стилизовать его с помощью CSS и внедрять интерактивность с помощью JavaScript, направляют вас на путь самодостаточности. Вы можете спроектировать его в соответствии со своими желаниями и взять под контроль этот аспект своей карьеры или бизнеса, а также сократить расходы на найм программистов для выполнения той работы, которую вы могли бы сделать.

Программирование также дает вам возможность работать из дома в качестве фрилансера, если найти работу трудно:

Когда вы продаете, у вас есть рычаги воздействия. Вы свободнее рисковать. И вы сможете быстрее прийти в норму, когда что-то пойдет не так.

Каунти всегда мечтала о собственном бизнесе, поэтому, когда она научилась создавать веб-сайты с помощью Ruby on Rails, она начала работать фрилансером (при этом сохранив свою постоянную работу). «Это означало, что, когда меня уволили, мне не нужно было сразу бежать на следующую открытую позицию», - объясняет она. «У меня была возможность продолжить свою внештатную работу».

Чем больше людей разбираются в программировании, тем более гениальные решения могут быть найдены

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

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

Она отмечает, что эта сила может быть особенно ценной для студентов гуманитарных специальностей: «Будущее должны строить не только компьютерные ученые и инженеры. Необходимо внести значительный вклад со стороны художников, писателей, политических мыслителей и социологов, которые изучают нашу культуру и реагируют на нее ».

Кодирование позволяет создавать собственную платформу и высказывать свое мнение.

Научитесь искусству настойчивости

Этот отрывок из статьи лучше всего объясняет это:

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

Почему всем не следует учиться программировать:

Это не то же самое, что чтение или письмо

Кодирование не для всех. Давайте посмотрим правде в глаза. Люди активно избегают уроков программирования в старших классах школы, потому что не чувствуют себя искусными программистами. Так что вы можете сказать, что это вопрос уверенности. Но программирование - это не совсем то же самое, что чтение или письмо, поскольку это базовый универсальный навык, который нужно иметь. Конечно, способность программировать решения поможет вам выделиться на рынке труда (как упоминалось выше), но это не то же самое, что базовый навык или даже необходимое условие. Так что не стоит навязывать классы кодирования тем, кто этого не делает. Мы уже видели, как многие подающие надежды таланты в других областях не реализуют свой потенциал, попадая в области STEM (наука, технология, инженерия и математика) под давлением сверстников, родителей или общества. Мы не хотим отпугивать потенциально талантливых программистов, навязывая это тем, кто этого не желает.

Этот принцип «Каждый должен кодировать» - это пропаганда политиков и технологических компаний, которые нечестно продают эту профессию как необходимость

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

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

Позвольте мне сослаться на пару статей (TechRepublic и TechCrunch), которые могут сформулировать это гораздо лучше, чем я когда-либо мог:

Если вы регулярно обращаете внимание на культурные махинации Кремниевой долины, вы, несомненно, слышали о движении Учитесь кодировать. Политики, некоммерческие организации, такие как Code.org, и даже бывший мэр Нью-Йорка Майкл Блумберг проповедовали то, что они считают необходимым навыком для будущих сотрудников.

В этом есть доля правды, тем более что потребность США в инженерах не собирается снижаться.

Но картина более сложная.

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

Возьмите учебные курсы по программированию. Поскольку основной поток узнал об успехах инженеров-программистов Кремниевой долины, каждый хочет создать стартап или стать инженером. Силиконовая долина HBO рисует картину, как люди в возрасте около двадцати с небольшим лет проводят ночи, программируя и куря травку, зарабатывая при этом миллионы долларов. Американская общественность поражена такими фигурами, как Илон Маск и Марк Цукерберг, которые, казалось бы, зарабатывают миллионы в мгновение ока. Лихорадка программирования достигла уровня Белого дома, когда президент Обама настаивает на принятии закона, чтобы включить информатику во все учебные программы государственных школ.

— — -

Сосредоточение внимания на кодировании преувеличивает важность поиска «правильного» метода решения проблемы, а не понимание проблемы.

— -

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

— —

Ожидается, что разработчики будут учиться быстро, без особых указаний и чуть большего стимула, чем слабый грохот гильотины. Кто-то может возразить, что это просто одна из издержек торговли. Но если нынешние разработчики разочарованы или отстают - а есть доказательства, подтверждающие это, - зачем поощрять людей вступать в такую ​​неопределенную область?

Что происходит с человеком, который целыми днями и ночами изучал Objective-C только для того, чтобы ужаснуться объявлению Swift на WWDC 2014? Продолжают ли они кодировать на том языке, который быстро становится языком меньшего выбора, или они начнут заново? Если вам около двадцати с небольшим лет, это может не вызвать затруднений, но если вы заботитесь о семье - с счетами, которые нужно платить, и ртами, которые нужно накормить, - задача становится титанической.

(Это означает, что разработка программного обеспечения - это неопределенный и быстро меняющийся мир, и он не подходит для тех, кто не торопится с пониманием концепций и идей).

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

Мое мнение:

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

Как бы то ни было, я считаю, что программирование - это то, о чем люди должны знать, но не то, что следует навязывать людям. Я ценю, что программирование вводится в школах на базовом уровне, и это больше, чем просто Microsoft Office, чему меня учили в младших классах. Конечно, это было заменено базовой идеей программирования, и Scratch был одним из примеров того, как дети знакомятся с решением проблем. Но мы не можем сделать это обязательным, потому что это не для всех. Дайте возможность всем писать код, но у них должен быть выбор: продолжать или нет, иначе мы рискуем создать поколение неуверенных в себе людей, которые не смогут реализовать свои таланты, потому что не смогли научиться программировать.

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