ЭТО ТО, КОТОРОГО Я ЖДАЛА ВСЕ ЭТО ПУТЕШЕСТВИЕ ААААА!
Итак, после недели завершения нашего первого проекта с полным стеком на прошлой неделе мы вышли на финальный спринт. Мамонт всех спринтов. Трехнедельный групповой проект, в котором нам по сути нужно просто «сделать что-нибудь». Это правда, когда я говорю, что почти все мы (особенно я) очень нервничали, увидев, с кем мы можем попасть в пару в последние несколько недель. Это было большое знаменательное событие, так как через несколько коротких недель мы представим это преподавателям, студентам и любым выпускникам, партнерам по найму и широкой аудитории, настроенным на прямую трансляцию наших групповых презентаций. Это было сложно, но захватывающе!

Первые несколько дней состояли из нескольких коротких лекций, объясняющих этап группового проекта, а также правил хорошего этикета для работы в наших группах и объяснения всех требований. Идея этапа группового проекта состоит в том, чтобы быстро создать что-то, будь то для Интернета, iOS или Android, используя как минимум две новые технологии, которые не были рассмотрены в курсе. Довольно сложная задача сама по себе, учитывая, что мы только что потратили 3 месяца на изучение Javascript и нескольких других технологий, как мы должны были изучать больше новых за короткое время?! Что ж, мы были к этому готовы! Как солдаты идут на войну!

В лекциях также объяснялась концепция планирования. Использование канбан-доски оказалось важным и, честно говоря, спасением на протяжении всего проекта. Нас также познакомили с концепцией спайков и RATS. Spiking, по сути, является практикой опробования и тестирования потенциальных технологий перед принятием решения. Нам также нужно было выяснить, каким будет MVP для нашего проекта, минимально жизнеспособный продукт и RATS. Тесты предположения о риске. RATS уделяет особое внимание обучению и преодолению любых основных камней преткновения, которые могут сорвать проект.

Когда команды, наконец, были раскрыты, это был очень волнующий момент! К счастью, я был очень доволен своей командой и очень рад работать с этими людьми. До этого момента я работал только с 1 из 3 других, но я слышал отличные вещи, и поэтому мы все были очень рады начать работу как можно скорее! Быстро определяем наше общее отношение ко всему, потенциальные идеи приложений, технологии, передовой опыт, что мы готовы делать, а что нет. Мы все были на одной волне, и это было потрясающе. В течение 24 часов мы должны были концептуализировать 3 потенциальных идеи и передать их преподавателям для обратной связи. Мы нервничали? Неа! У нас были отличные идеи, даже слишком! Слишком массивный для короткого времени сборки? Продолжайте читать, чтобы узнать!

После разработки трех сильных предложений для различных идей приложений и различных уровней обратной связи от наставников мы сократили наш выбор приложений до одного, My-Tinerary. My-Tinerary — это, по сути, одно приложение для записи всех ваших планов поездок в одном месте. Давно ушли в прошлое те напряженные документы Google или цепочки текстовых сообщений между друзьями о том, когда добраться до аэропорта, это было бы решено! Затем последовали решения по стеку технологий.

Несколько дней всплеска позволили нам остановиться на React с Ionic для внешнего интерфейса и Firebase для внутреннего интерфейса. Мы возлагали большие надежды на использование множества дополнительных функций Firebase, таких как чат и аутентификация пользователей, чтобы конкретизировать приложение и избежать необходимости впихивать дополнительные технологии, которые могут быть менее совместимы. Изначально мы думали о React Native для нашего внешнего интерфейса, однако после того, как наставник сказал, что это особенно популярный технологический выбор для групп, мы решили смешать его с чем-то другим. Скажем так, это было интересное путешествие.

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

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

Наступило утро понедельника, стендапы начались по-настоящему. Стендап — это, по сути, короткая встреча продолжительностью не более 5–10 минут, на которой каждый участник рассказывает своей команде: над чем он работает, над чем будет работать и какие проблемы предвидит. В течение следующих двух недель мы чередовали их размещение между собой, и в течение первых нескольких дней преподаватели проверяли их вместе с нами для получения конструктивной обратной связи. Честно говоря, мы в значительной степени прибили их с первого дня, но они позволили нам так легко спланировать день, что мы взялись за дело.

Разделившись на пары: одна сосредоточилась на Firebase, а другая — на Ionic React, мы начали строить. Через пару дней мы действительно проделали большую работу над приложением и построили каркас, а подключение к Firebase было немного быстрым, но в конце концов мы заработали, поработав с ним немного дольше. К счастью, то, что мы могли отталкиваться друг от друга и обращаться за помощью, означало, что мы могли сражаться и совершать вещи, которые в противном случае могли бы потерпеть поражение, если бы мы были одни.

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

У нас были основные функции приложения, работающие к концу игры в пятницу, и у нас оставалось примерно 3,5 дня, чтобы закончить кодирование. Однако у нас была огромная проблема с аутентификацией пользователей. Я думаю, что построение почти с нуля, как мы это делали, означало, что мы не могли полностью использовать функциональность Firebase должным образом, и что мы сделали? Мы построили сами! Конечно, он был не самым надежным, но он работал для того, что мы хотели продемонстрировать. Прорыв был удивительным, но он означал и другие желаемые дополнения (мы называли их безделушками, как безделушки, которые вы добавляете в качестве украшения к дереву. Самым ценным игроком будет дерево).

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

Мы сделали групповым правилом не заниматься кодированием над проектом после 8:30 утра — 17:00 (я нарушил это правило дважды, чтобы потратить пару дополнительных часов, чтобы привести в порядок несколько фрагментов макета, потому что я не мог спать, не делая этого). ), в то время как другие группы тратили несколько дополнительных часов почти каждую ночь, выполняя свою работу. Мы были счастливы, зная, что построим за это время.

Когда наступил 9-й день и кодирование пришлось остановить, у нас была еще одна вещь, на которой нужно было сосредоточиться… презентация! Каждая группа должна была подготовить 8-минутную презентацию, чтобы продемонстрировать свое приложение миру в пятницу вечером. У нас было примерно 24 часа, чтобы собрать демо-видео, презентацию и отрепетировать наши выступления. ЭТО БЫЛО НАСТОЯЩЕЕ ВЫЗОВ. Мое беспокойство по поводу этапа проекта было ничем по сравнению с беспокойством по поводу презентации. Я был совершенно уверен, что начал практиковаться в Zoom. НО ТОГДА НАСТАЛО НАСТОЯЩЕЕ ПОЛОЖЕНИЕ ПЕРЕД ЛЮДЬМИ! Это буквально потрясло меня до глубины души.

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

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

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

Фаза проекта была адским путешествием. Определенно стрессовый (мой разум никогда не был так занят по вечерам за все эти 2 недели) и, безусловно, отличный опыт обучения. Работать с моей командой было абсолютным удовольствием. У меня было лучшее время. Был стресс? да. Это было познавательно? да. Я бы изменил его? Никогда.