Миф о человеке, не являющемся компьютером

«Я никогда не мог научиться программировать».

"Я не компьютерный человек".

«Мой разум просто так не работает».

Я бы хотел никель за каждый раз, когда кто-то это говорит.

С другой стороны, я никогда не слышал, чтобы кто-нибудь сказал: «Я никогда не смогу научиться чинить машину», или «Я никогда не смогу научиться играть на пианино», или «Я никогда не смогу научиться писать бизнес-предложения. Мой разум просто так не работает ". Мы полагаем, что если мы будем работать над ними достаточно долго, мы получим большинство вещей.

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

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

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

Если научиться программировать сложно, то это потому, что мы не знаем, как этому научить.

Учебный лагерь…?

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

В течение 15 месяцев в Вашингтоне, округ Колумбия, я преподавал иммерсивную веб-разработку, учебный лагерь по программированию, проводимый Генеральной Ассамблеей (Джорджия).

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

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

Это хорошее вложение. Несмотря на то, что GA не дает никаких гарантий, что ее студенты действительно будут приняты на работу, более 90% ее выпускников занимают желанные должности в течение трех месяцев после завершения программы.

Это беспроигрышная ситуация, и учебные лагеря появляются повсюду, чтобы заработать.

Суть в том, что большинство веб-разработчиков никогда не ходили в учебный лагерь. Они самоучки и вообще не имеют формального образования.

Так в чем же разница между человеком-самоучкой, человеком, который платит за учебный лагерь, и человеком, который говорит: «Мой разум просто так не работает»?

Ночные проблемы

Все, кого я знаю, кто хоть как-то интересуется кодом, пробовали Бесплатное онлайн-руководство по веб-дизайну CodeAcademy. Я могу сосчитать по очень немногим пальцам, сколько из них что-то сохранило.

Дело не в том, что CodeAcademy плохой; для большинства людей это неподходящий инструмент и не в том месте.

Большинство книг и руководств по программированию написаны в таком порядке:

  1. Так работает Интернет.
  2. Вот как вы делаете «Привет, мир!» появляются на веб-странице.
  3. Вот 30 HTML-тегов, которые нужно запомнить.
  4. Вот как вы делаете «Привет, мир!» выглядеть мило.
  5. Вот 30 свойств CSS, которые нужно запомнить.

Для сравнения, вот такой порядок в популярном учебнике испанского:

  1. Вот 30 существительных и прилагательных, которые нужно запомнить, а также дни недели и времена года.
  2. Вот как вы говорите: «Это это то».
  3. Вот 30 правильных глаголов, которые нужно запомнить.
  4. Вот 30 неправильных глаголов, которые стоит запомнить.
  5. Вот 5 разных времен, которые нужно запомнить.

В этом порядке есть смысл. Это логично. Но вы не закончите учебник, зная, как говорить по-испански, и вы не закончите CodeAcademy, зная, как программировать.

"Привет мир!" работает, только если вы знаете, как вы собираетесь его использовать. Сама по себе она показывает, как сделать что-то скучное и ничем не примечательное. Это не дает вам представления о том, что вы можете делать дальше.

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

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

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

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

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

Это не ты; это я

Кодеры не обязательно лучшие люди для обучения программированию. Например:

Самоучка Стив использовал учебник «Здравствуй, мир», когда только начинал. Его мотивацией было изучить HTML, чтобы сделать веб-сайт своей компании менее ужасным.

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

Стив теперь опытный разработчик. Желая отдать должное, он пишет свой собственный учебник «Hello world» и публикует его в своем блоге. Его друзья - другие программисты-самоучки, которые также использовали учебники «hello world», - просматривают его и говорят ему, что это здорово.

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

Несколько месяцев спустя Стив спрашивает его, как продвигается его кодирование. Его дядя ничего не делал с тех пор, как «привет, мир», решив, что он слишком стар и слишком «не разбирается в компьютерах», чтобы изучать код самостоятельно.

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

Так что же делать, если вы хотите изучать код, но не испытываете "потребности" в ночных проблемах?

1. Создайте потребность.

Если вы хотите научиться веб-разработке, создайте веб-сайт для себя. Включите фотографию, краткую биографию, контактную информацию и, возможно, резюме. Опубликуйте его бесплатно на сайте вроде BitBalloon или Github Pages.

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

Затем покажите свой веб-сайт другим людям. Вероятно, это будет действительно некрасиво, и это здорово! Нежелание смущаться становится повседневной проблемой, которая мотивирует вас продолжать учиться.

2. Запишитесь на занятие.

Одно из самых больших преимуществ занятия в том, что учитель дышит вам в шею. Вам нужно учиться и приносить результаты. Нежелание чувствовать себя плохо становится вашей повседневной проблемой.

3. Выучите код примерно за два часа без компьютера.

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

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

Их любопытство уходит в пух, и они превращаются в «человека, не владеющего компьютером».

Моя книга Выучите код за два часа без компьютера »предназначена для людей, которым просто любопытно. Вместо того, чтобы рассказывать вам как кодировать, он полон вопросов с вариантами ответов и ответов с несколькими вариантами ответов, которые вы решаете карандашом, чтобы выяснить, почему код такой, какой он есть. Это все здравый смысл; знание компьютера не требуется.

Вы отвечаете на те же логические и здравые вопросы, которые задавали себе изобретатели кода.

Опытные программисты будут разочарованы тем, что он учит «неправильным путем», т. Е. Отличным от того, как они учились. Если у вас проблемы с ночным бодрствованием, начните с «Hello, world!» имеет смысл. Меня больше интересует изучение и понимание языка. Код работает как средство для достижения цели, только если вы знаете, что такое «цель».

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

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

Хороший фрагмент Изучите код за два часа без компьютера уже доступен онлайн бесплатно. Чтобы написать остальное, Я запустил Kickstarter.