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

Меня пригласили принять участие в буткемпе в Andela, стартапе, который набирает талантливых разработчиков в Африке, формирует из них разработчиков мирового уровня и размещает их в качестве штатных членов распределенной команды в технологических компаниях. Чтобы подготовиться, мне пришлось увеличить темп обучения и быстро погрузиться в работу с Node.js, Express и MongoDB. Если вы не знакомы с этими терминами, они используются для написания сценариев на стороне сервера. То есть это технологии, которые позволяют вам кодировать с помощью Javascript на бэкенде. Это отличается от внешнего интерфейса, который вы видите и с которым напрямую взаимодействуете при использовании веб-приложения. В качестве рабочего пространства для практики я выбрал Cloud9, среду разработки, которая сочетает в себе редактор кода с полноценным терминалом Ubuntu в облаке, чтобы я мог писать весь свой код с помощью браузера. Cloud9 предлагает бесплатный план, достаточный для учебных целей, а также отличный пользовательский интерфейс. Через несколько минут я настроил свое рабочее место и начал программировать.

Насколько я помню, следующие семь дней были самым сложным периодом в моей жизни. Я использовал видеоуроки, чтобы учиться, и возвращался в свое рабочее пространство Cloud9, чтобы практиковать то, чему я научился, создавая настоящее веб-приложение. Было так много всего, что нужно было узнать, от фреймворка на стороне сервера — Express до использования баз данных, написания RESTful-маршрутов, связывания данных, аутентификации, авторизации и многого другого. Во время обучения мне приходилось применять каждую изученную технику на своем рабочем месте. Это была трудная часть. В программировании вы можете легко просмотреть серию видеороликов, которые научат вас новому навыку или взгляду, но пока вы не сможете применить их в проекте, вы на самом деле не изучите его. Я проделал так много работы за этот период, спал в среднем всего 5 часов в день, в отличие от моих обычных 7 часов. Как это обычно бывает при обучении кодированию, время от времени я сталкиваюсь с проблемой, но всегда нахожу способ ее обойти.

В конце периода я мог эффективно реализовывать серверную логику в своих веб-приложениях. Несмотря на то, что изучение серверного программирования в течение периода, который я для себя установил, было очень напряженным, я понимаю, что мое рвение развиваться как разработчику сыграло огромную роль в том, что помогло мне так многому научиться за ограниченное время. Как нас учили в учебном лагере Andela, человек с установкой на рост сказал бы: «Мой дефицит навыков — это не ограничение, а возможность для роста».