Краткое введение

В апреле этого года я закончила Программу Грейс Хоппер в Академии Fullstack — 17-недельный учебный курс по программированию, призванный помочь женщинам и небинарным людям окунуться в технологии.

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

Grace Hopper была запущена в Нью-Йорке, который остается ее штаб-квартирой, в 2016 году, и с тех пор более 400 выпускников выполнили ее требования и начали новую карьеру.

Учебная программа Grace Hopper сосредоточена на полнофункциональном JavaScript — JavaScript как языке, используемом преимущественно для веб-разработки (с потенциалом применения к мобильным приложениям и т. д.) — наряду с соответствующими фреймворками для программирования интерфейса (пользовательский интерфейс веб-сайта, для например), а также серверную часть (например, базу данных и сервер, которые управляют данными, на которые веб-сайт может динамически полагаться).

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

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

Подготовка к буткемпу, поступление и основа удаленного буткемпа

Процесс подачи заявки на Грейс Хоппер очень прост: соискатель подает заявку, затем выполняет задание по программированию, чтобы продемонстрировать базовое понимание JavaScript и его алгоритмических принципов, затем проходит поведенческое интервью — обычно с коллегой, выпускником (na ) из направления Fullstack или Grace Hopper, которые остались работать в группе, следуя своим собственным, проводя собеседования и наставляя нынешних студентов.

Чтобы подготовиться к, вероятно, самому сложному этапу процесса подачи заявки — заданию по кодированию — большинство кандидатов тратят несколько недель до подачи заявки на прохождение специально разработанной для подготовки программы Fullstack программа подготовки к тренировочному лагерю. >», интенсивное погружение в основы JavaScript [природа переменных и синтаксиса JavaScript, использование структур данных (массивы, объекты и т. д.), использование рекурсии для решения многомерных задач и многое другое].

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

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

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

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

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

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

Грейс Хоппер также считает, что фондам требуется 20 или более часов рабочего времени в неделю, но были недели, когда я тратил на получение соответствующих знаний и выполнение заданий от 5 до 10 часов.

В прямом эфире

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

Моя группа, как и следовало ожидать, учитывая пандемию, была полностью удаленной, поэтому я провел несколько недель за своим компьютером, ежедневно заходя в Zoom-комнату, в которой было более пятидесяти студентов. (Помимо ограничений, наложенных пандемией, Грейс Хоппер обычно предлагает очные занятия в Нью-Йорке и Чикаго.)

Живая часть Грейс Хоппер разделена на две части:

1. младшая фаза, во время которой учащиеся получают ежедневные лекции от младших или старших инструкторов Грейс Хоппер, практикуют преподаваемый контент в любой день в индивидуальных лабораториях и/или парную программу со случайно выбранным сокурсником. через семинары, все время изучая, а затем применяя учебную программу Fullstack — с соответствующим названием — fullstack JavaScript (JS);

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

Учебная программа, как упоминалось выше, фокусируется на том, что можно назвать «ванильным» — или чистым — JavaScript, а также на нескольких вспомогательных или родственных технологиях.

Эти связанные технологии включают React, разработанный Facebook фреймворк JavaScript для создания пользовательских интерфейсов; Redux, инструмент, используемый для управления состоянием приложения (или состоянием данных в приложении в любой момент времени, будь то на всех платформах пользователей или в отдельном сеансе одного пользователя); и SQL, реляционная база данных (в которой разные модели данных имеют неотъемлемые связи друг с другом), а также использование PostgreSQL для управления созданными базами данных и Sequelize, который переводит код SQL в JavaScript для упрощения реализации; среди прочих.

Учебная программа также включает более глубокое введение в среду разработки и тестирования приложений, требующую свободного владения Node.js (среда выполнения для JavaScript) и контроля версий git (с помощью которого разработчики архивируют изменения в своих кодовых базах, управляя версиями программы с течением времени). , наряду с практикой написания и выполнения тестов с использованием таких фреймворков, как Jasmine и Mocha/Chai.

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

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

Первый проект метко назван Grace Shopper, и в течение четырех-пяти дней требуется, чтобы группа разработала сайт электронной коммерции (например, Grace & Co.). Grace Shopper служит введением Грейс Хоппер в командную разработку и управление проектами, а также дает возможность попрактиковаться в инструментах, приобретенных за предыдущие недели, в настоящей среде разработки.

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

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

(«Например, мои сольные и завершающие проекты в значительной степени зависели от использования React Native — родственной среды React для разработки мобильных приложений.)

Отзыв выпускника о программе Qua Program

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

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

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

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

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

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

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

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

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

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