Жизнь и испытания новичка в JavaScript

Бланшированный. Тушеный. Жареный. Филе. Вымачивается и тушится в сложном маринаде. Эти и многие другие термины, общие для кухни, также могут описать мой опыт первых 2,5 недель интенсивного общения по программному обеспечению под названием Project Shift.

Это полное погружение в обучение, шаг без заключенных к полноценной инженерии. Программа рассчитана на двенадцать недель. Двенадцать студентов. Два инструктора. Одна ТА. Учебная программа, сосредоточенная на JavaScript, для интерфейсной веб-разработки и для внутренней веб-разработки - а также для развлечения в ваших мечтах, если вы погрузитесь достаточно глубоко. Мы встречаемся в угловом классе в сияющем пространстве WeWork на самом новом и самом высоком небоскребе города. В числе удобств окна от пола до потолка, настольный футбол и разливной чайный гриб. Это разительно контрастирует с мельницей со скрипучим полом, где более десяти лет я рисовал карандашом по бумаге за старым залитым кофе столом в качестве редактора литературного журнала.

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

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

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

Я поговорил с друзьями в этой области и познакомился с новыми. Я посещал технические встречи и учебные собрания в надежде найти родственные души - а также ответы на мой растущий список вопросов. На одной из этих технических встреч меня познакомили с Аароном, знающим, очаровательно самоуничижительным соучредителем Project Shift. На следующем я познакомился с Шоном, вторым соучредителем, с мастером в области искусственного интеллекта / машинного обучения, длинным списком достижений в этой области и жестким подходом к обучению. Ян для инь Аарона.

К этому времени я взял в руки Eloquent JavaScript Марин Хавербек и Вы не знаете JS Кайла Симпсона. Чередуя две книги, одну главу или тему на время для меня было лучшим способом впитать материал. Я подумал о разных стилях двух авторов как о подсказках глубины, которые придали моему пониманию больше перспективы. По утрам и выходным я выполнял упражнения по кодированию и играл в редакторе кода. Работа находила во мне отклик. Мне нравились логические головоломки и решение проблем.

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

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

Вот что привело меня сюда. К метко названному Project Shift.

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

Некоторые из концепций программирования, которые изучает моя когорта, обширны и на первый взгляд устрашают. Некоторые из тех, которые, казалось бы, не оказываются обманщиками, играющими в Попался! в моей консоли. Новый материал поступает к нам стремительно. Темп прямо противоположен моему стремлению исследовать и дополнять повторяющимися упражнениями и играми. (Что произойдет, если я сделаю… это…?) Я всесторонне учусь, часто иду против, и я ценю действовать медленно и осознанно. Я в основном сдерживаюсь в этом отношении, ограничиваясь временем и необходимостью. В конце концов, это ускоренная программа. Но я также доверяю своему инстинкту, следую своему внутреннему задающему ритм и исследую внешние источники, когда это возможно. Иногда я расслабляюсь на диване, просматривая учебник на YouTube, который предлагает щедрый Брэд Трэверси. Или просмотрите ответы на вопросы на Quora. Или проведите время с яркими идеями Эрика Эллиотта, прочитав его многочисленные статьи.

В какой-то степени я должен проделать дополнительную работу, чтобы добиться значительного прогресса. Мне уже за двадцать, а к середине двадцати ваши нейронные пути вымощены и укреплены. В остальном вам придется приложить значительно больше усилий, чтобы уговорить эти нейроны и синапсы построить другой маршрут, чтобы получить желаемый навык. Иногда этот процесс неизбежно вызывает дискомфорт. Следует ожидать некоторого разочарования, головной боли и душевной боли. И прощен. Возможно, обнял. Потому что неудача и сопутствующий ей дискомфорт - это симптомы обучения. В своем романе Улисс Джеймс Джойс называет ошибки порталами открытий. Мне нравится это вращение. Куда могут привести эти порталы, есть многообещание. Я стараюсь напоминать себе об этом во время уныния, когда соскребаю дно своей баночки с желе.

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

Ранее сегодня двенадцать из нас склоняли головы на плотном уроке, который включал в себя механизм шаблонов Handlebars, асинхронные обновления с AJAX и шаблон проектирования Модель-Представление-Контроллер - все это, как нам сказали, является прелюдией к нашей предстоящей работе с библиотека JavaScript под названием Backbone. Примеры кода, предоставленные нашими инструкторами, если я могу говорить от имени группы, чуть не сломали нам мозг.

Конечно, переживание этого в сообществе может объединить. Помогло то, что наш ТА Эдвард напомнил нам, что это часть процесса.

Мне также помогает, когда стихи появляются в классе в неожиданное время. Например, когда нас учили концепции «единого источника истины», принципу разработки программного обеспечения для защиты целостности ваших данных. Хорошая фраза, не правда ли? Подсказка к размышлению о собственном источнике истины, о собственной целостности. Если хотите, можете некоторое время кружить вокруг него.

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

Здесь уместны и другие слова, привычные для кухни: Обмазанный. Застеклен. Настоянный. Запеченный.

Еженедельно мы переключаемся на нового партнера для парного программирования, что позволяет нам общаться друг с другом. В первую неделю меня пригласили в пару с Мэдлин, которая наполнила мои дни смехом и остроумием. Она не стесняется задавать вопросы при первом намеке на замешательство, и всем нам это выгодно. К тому времени, когда все это будет сделано, она также сможет выиграть премию «Скорее всего, у нее появится лучший друг в лифте». Но даже социально опытным людям иногда нужно уйти. Три раза в неделю Мэдлин уезжает в 18:00 на занятия бокса. Я ей завидую. Я не могу придумать более подходящего релиза после дня погружения в код, чем урок бокса.

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

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

var poor_Bob_who_sits_alone_in_a_small_room_all_day_and_reliably_adds_an_object_to_an_array_over_and_over_again_and_that_is_all_he_ever_does_poor_guy_wont_somebody_at_least_bring_him_some_ice_cream = function (moreWorkForPoorBob) { ... }

В целом, двенадцать из нас составляют хорошую команду, состоящую из взаимодополняющих частей: разного возраста, происхождения и личностей; 4 женщины, 8 мужчин; фанат Дьюка, фанат UNC, фанат State и некоторые люди, которым наплевать на спорт. Все мы стремимся научиться программировать, а также изучить его периферию: инструменты разработчика Chrome. Контроль версий с помощью Git. Хосты репозитория, такие как GitHub, на котором размещается почти любой проект, который только можно вообразить. И элегантная техника: отойти от машины и позволить своему разуму вырваться из узкой колеи, в которой он находился, и без особых усилий подняться ближе к решению, которое вы искали, в то время как вы стремитесь к своей человечности и связи с другими. Например, когда наш однокурсник Ричи закутался и вышел сегодня днем, после того, как наши мозги чуть не сломались, и вернулся с рожком мороженого и пинтой печенья со сливками для класса. Потому что это был тот бальзам, который был нужен.

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

И, может быть, помогите своему соседу, когда сможете.

Сейчас уже далеко за 17:00. Наши инструкторы уехали домой. Многие профессиональные программисты в здании ушли. Но мы все еще здесь, все двенадцать человек. После череды дождливых дней солнце светит в окно. Мы клацаем по клавиатуре. Гримасничать. Совещание. Иногда просто откинулся назад и смеялся. Я думаю, после такого дня немного невинного бреда заслужено. Через 2,5 недели вот так. "В мире как этот".

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

Шашлык и жареный, как двенадцать кусочков шашлыка.

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

Что-то готовят.