Почему существует этот сериал

Этот сборник статей представляет собой руководство, которое сделает мод Тьюринга 1 намного проще, чем это было бы в противном случае.

Мы сделаем это, поработав (и выполнив) несколько десятков небольших упражнений Ruby.

Вы можете подумать:

Джош. Это уже звучит как много работы. Я только что закончил предварительную работу и знаю, что Тьюринг будет жестоким. Почему я должен выполнять всю эту необязательную работу вместо того, чтобы наслаждаться последними днями свободы?

Хороший вопрос. Ответ - отступление и вымученная аналогия на темы:

  • отвертки
  • как научиться сложным вещам
  • почему вы должны делать упражнения

К концу этого конкретного поста у меня есть несколько целей для вас:

  1. Поймите важность использования правильного процесса для решения сложных проблем.
  2. Решите прочитать A Mind for Numbers и Deep Work.
  3. Поймите, что потратить несколько долларов и часов на учиться учиться — это фантастическое начало подготовки к Тьюрингу, когда вы тратите гораздо больше, чем несколько часов и нескольких долларов на изучение сложного ремесла.

Приводные винты

Если бы я дал вам винт Spax и сказал, что заплачу вам 1000 долларов, чтобы вкрутить его в кусок дерева, а затем дал бы вам отвертку Phillips, что бы вы сделали?

Винты Spax выглядят так:

Винт Spax. Обратите внимание на форму головы.

Для закручивания винта можно использовать биту Spax:

Винтовая насадка Филипс выглядит так:

Обратите внимание на форму головы. Это имеет форму +, спакс имеет форму *

Биты Philips предназначены для закручивания винтов с крестообразным шлицем, которые выглядят следующим образом:

Итак, можно ли закрутить винт Spax битой Philips?

Не легко.

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

Что, если я буду платить вам по 1000 долларов за каждый винт, который вы сможете вкрутить в дерево?

Теперь нельзя полагаться только на геркулесовы усилия, бессонные ночи и упорство.

у вас должна быть бита Spax, чтобы закрутить винт Spax.

За 1000 долларов за шуруп вы могли позволить себе купить подходящую насадку, которая позволила бы вам легко закручивать шурупы.

Я бы сказал, что было бы безответственно не получить нужные инструменты.

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

Или мы не научились играть в систему и не проскочили мимо. Кто-нибудь еще получил плохие оценки в средней школе и колледже. Нет? Просто я? В ПОРЯДКЕ.

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

Безответственным может быть отсутствие подходящих инструментов для изучения технических тем

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

Как научиться трудным вещам

Чтобы научиться сложным вещам, вам понадобятся:

  • Специфическая тактика
  • Правильное мышление

Получите правильную тактику

Чтобы получить правильную тактику и некоторое мышление, я настоятельно рекомендую купить или взять напрокат книгу Разум для чисел: как преуспеть в математике и естественных науках (даже если вы завалили алгебру).

Пока вы ждете, пока Amazon доставит книгу или заберет ее из библиотеки, прочитайте эти два резюме:

A Mind for Numbers рассказывает о том, как научиться сложным вещам. Автор рассказывает о ментальных моделях, «объединении» информации для освобождения рабочей памяти, практике, упражнениях, повторении, о том, как оставаться в нужном количестве вне зоны комфорта, делать трудные вещи, избегать отвлечений, прокрастинации и т. д.

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

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

Если вы не собираетесь читать книгу, вы не можете подвергать сомнению мою методологию до конца этого руководства, поэтому, пожалуйста, примите следующую истину:

Чтобы научиться сложным вещам, вам нужно построить мысленные модели сложных вещей, а также вам нужны практика и повторение.

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

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

Это сделает ваше оставшееся время в Тьюринге намного лучше. Это может помочь вам избежать повторения модуля.

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

Но не верьте мне на слово. Вот что сказали другие студенты Тьюринга после работы с этим руководством:

анонимный_студент_1:

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

анонимный_студент_2:

Это было потрясающе, и я чувствую, что многому научился у мифических_существ…

анонимный_студент_3:

Мифические_существа, кажется, объединили все и то, как это работает (на уровне детского сада), но заставили все это казаться… в некотором роде реальным, и это было здорово.

анонимный_студент_4:

Клянусь богом, знание того, что такое подглядывание, и создание мифических существ очень мне здесь помогло!

Вот что сказал студент, который не следовал этому руководству:

Жаль, что я раньше не делал мифических существ и многое другое. Я действительно боролся с модом 1

Правильное мышление

Пожалуйста, прочитайте Глубокая работа: правила сфокусированного успеха в рассеянном мире

Глубокая работа хорошо сочетается с A Mind for Numbers, но также поможет раскрыть некоторые почему таких программ, как программа Тьюринга. Это было одной из причин, по которой я сам обратился к Тьюрингу, и я написал Перейти от мелкого к глубокому об изменениях, которые я внес в свою жизнь после прочтения Deep Work и подготовки к Тьюрингу.

Я написал это в октябре 2016 года. Как летит время.

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

Можно считать безответственным не приобретать подходящие инструменты для изучения технических тем.

Сверла

Обе книги рассказывают о тренировках и целенаправленной практике. Мы знакомы с идеей учений в других областях (пожарные учения, спортивные учения), но редко можно увидеть такие же идеи, перенесенные в «академические» занятия.

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

Мы делаем учения. Упражнения по программированию.

Зачем нам выполнять упражнения по программированию, Джош? Разве не достаточно один раз получить какое-то решение, а затем перейти к другой проблеме?

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

Но для наших целей, вот почему вы должны делать упражнения:

  • Относительно небольшой и сосредоточенный. Вы можете выбить большинство из них всего за несколько минут.
  • Атакуйте один и тот же принцип с разных сторон. Вы будете выполнять множество манипуляций со строками и создавать классы и объекты-«фабрики» множество раз. Они достаточно похожи друг на друга, чтобы знание закрепилось, но достаточно разные, чтобы вам пришлось хорошенько подумать.
  • Заставить вас раскрыть и проверить свои собственные предположения о том, как работает ваш код. Вы будете писать много кода. К тому времени, когда вы закончите, вы должны хорошо это понять.

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

Вывод

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

Читать

Если вы не собираетесь читать книги, по крайней мере прочтите эти резюме:

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

Что дальше?

Что ж, просто нажмите на вторую часть:

Turing Prep Chapter 2: Ваши первые тесты! )

Эта статья изначально была размещена на https://josh.works.