С тех пор, как я покинул аспирантуру в UW-Eau Claire весной 2013 года, я мог видеть себя только тренером по плаванию. Плавание было спортом, которым я жил, спал, истекал кровью и плакал почти два полных десятилетия.

Я просто не мог себе представить, что делаю что-то еще.

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

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

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

Мы вернемся к этому моменту, так как это будет важно позже.

Я поискал в Хьюстоне очные программы и нашел DigitalCrafts. После осмотра их помещений в Cannon я решил, что это то место, куда я хочу пойти. Чтобы попасть в программу, мне пришлось пройти очень простой тест по кодированию, который оказался для меня невероятно трудным, поскольку у меня почти не было опыта программирования. Но я настоял, и мне удалось попасть в программу. Поступив, я начал готовиться к курсу. DC выделил нам примерно 30–40 часов на подготовительную работу, чтобы подготовить нас к началу программы. Я сделал базовое руководство по использованию CLI (интерфейса командной строки) и сделал гораздо более подробный обзор Python 3, а также то, что я бы назвал «первой веб-страницей ребенка». Не все в когорте смогли выполнить эту подготовительную работу, так как некоторые были приняты менее чем за неделю до того, как мы начали. Так что я был очень благодарен за то, что начал подготовку почти за два месяца до того, как мы начали.

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

У меня есть это, я ТАК подготовлен к этим первым нескольким неделям

… А затем мы запустили Python. И оказывается, если вы проследите за 30-часовым учебным курсом по CodeAcademy, то многому вас не научите. Вы можете подумать, что чему-то научились, но пока вы не будете делать это снова, и снова, и снова, и снова, это просто не собираюсь придерживаться.

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

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

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

Итак, несмотря на мои сомнения в себе, я посвятил себя продвижению вперед и обучению как можно большему. Наша часть курса, посвященная питону, завершилась простой текстовой ролевой игрой. Это помогло нам узнать о классах в Python, и хотя в начале проекта у меня были огромные трудности, я не мог перестать работать над ним к концу. Думаю, я потратил 8 часов в воскресенье, прежде чем мы представили, я зашел так далеко, что добавил несколько концовок и даже ASCII-арт.

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

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

Python

raw_input = вход ()

если raw_input == «1»:

dodgeChance = random.randint (1, 10)

если dodgeChance == 10:

spiderman.health - = shademan.power

человек-паук. атака (теневой)

else: print («{} качнулся и {} ловко уклонился от удара! \ n» .format (shademan.name, spiderman.name))

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

JavaScript (с React)

const {изображение} = this.state;

const uploadTask = storage.ref (`images / $ {image.name}`) .put (изображение);

uploadTask.on («state_changed», (снимок) = ›{console.log (« Создание снимка… »);

const progress = Math.round ((snapshot.bytesTransferred / snapshot.totalBytes) * 100);

this.setState ({прогресс}); },

(ошибка) = ›{console.log (ошибка); },

Это отрывок из моего замкового камня, который является частью нашей логики загрузки. Полный код (который я не включил сюда по очевидным причинам) загружает изображение в корзину Google Firebase и отправляет информацию об изображении и пользователе, который его загрузил, на наш сервер, чтобы его можно было отобразить позже. Проще говоря, Python легче читать.

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

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

Http://alexplaetzer.dev.s3-website.us-east-2.amazonaws.com/

Затем мы перешли на серверную часть и изучили Node.js и Express. Хотя все еще оставался JavaScript, это определенно сбивало с толку. Как раз в тот момент, когда мы собирались начать наш бэкэнд-проект, COVID превратился из того, о чем все знали, в что-то, выходящее на передний план повседневной жизни. В результате мы перешли от обучения в классе к обучению дома.

Излишне говорить, что это значительно усложнило нам задачу. Одним из главных преимуществ DC для меня было то, что это была иммерсивная программа с личным участием. Я не был уверен, насколько хорошо я буду учиться удаленно. В первый день, когда мы перешли на удаленный доступ, мы узнали об аутентификации, и между задержкой экрана и наличием только одного экрана (в отличие от двух в нашем классе) многие из нас в тот день боролись.

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

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

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

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

В этом проекте мы столкнулись с парой препятствий, главная из которых - время. Две недели - не так много времени для создания полноценного проекта (отчасти поэтому нам и посоветовали работать в группах). Первоначально мы попытались создать приложение на React Native, которое позволяет развертывать iOS и Android. Однако после нескольких дней работы над приложением мы не были уверены, что сможем закончить работу вовремя, поэтому вернулись на React и сосредоточились на том, чтобы сделать его удобным для мобильных устройств.

Я работал больше, чем когда-либо прежде, над этим проектом, и последние дни были очень напряженными. Мэтт, Джей и я работали за 15 минут до начала презентации, но: МЫ СДЕЛАНО. Облегчения, которое я почувствовал, когда мы в последний раз перешли на GitHub в проекте и в последний раз слились с основной веткой, я не чувствовал себя долгое время. И я был очень горд представить наш проект в демо-день. Вот демонстрация приложения, если вам интересно.

В целом мой опыт работы с DigitalCrafts и этим 16-недельным учебным курсом был исключительно положительным.

Первые шесть недель были для меня чрезвычайно трудными. В то время я все еще тренировал для Village HS, поэтому чаще всего я просыпался в 5:15, чтобы тренировать их, а затем ехать в Cannon для занятий. Я определенно ценил возможность поспать после окончания купального сезона.

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

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

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