Готовясь к смене карьеры, я прохожу учебную программу FreeCodeCamp и игнорирую массу рабочих писем.

Если вы читали мой предыдущий пост, то знаете, что недавно я стоял перед жизненным выбором: оставаться ли мне в комфортной карьере в финансах или бросить ее, переехать в Силиконовую долину и выучиться на кодера. Что я выбрал…?

Что ж, пост был бы скучным, если бы я сказал, что остаюсь в финансовом отделе. Силиконовая долина, я иду! Я уже сбился со счета, сколько раз спрашивал себя: «Ты уверен?» — и я уверен, что буду спрашивать себя об этом еще много раз в ближайшие месяцы и годы. Но в конце концов я решил, что если это не сработает через 3 или 5 лет или когда я пойму, что все это было большой глупой несбыточной мечтой, у меня все еще будет много работы в финансовой сфере, к которой я смогу вернуться. Я, наверное, не пожалею, что сделал это, но я, вероятно, пожалею, что НЕ сделал этого!

Поэтому, готовясь к переезду в Силиконовую долину, я решил серьезно заняться программированием. Я все еще работаю полный рабочий день, поэтому я использую свои вечера, чтобы учиться (мои выходные дни заняты воспитанием моих 2 детей). Моя работа в Google требует больших усилий, и я обычно работаю по вечерам в будние дни, просто чтобы быть в курсе дел. Я должен быть безжалостным и сказать, что я не буду работать на своей основной работе после 6 вечера. Затем я могу поужинать, уложить детей спать, а затем вытащить ноутбук, чтобы немного поработать над программированием. Переключиться с работы на программирование может быть нелегко, и непрочитанные электронные письма накапливаются в папке «Входящие», но это также освежающая смена темпа и темы. Мне всегда нравилась поговорка: «Перемены не хуже отдыха»!

Сначала я решил пройти курс FreeCodeCamp.org. Кажется, это отличная отправная точка для бесплатных курсов по HTML, CSS, внешнему интерфейсу JavaScript и внутреннему интерфейсу Javascript. Он знакомит студента с React, Node и тестированием. Курсы HTML и CSS довольно просты (не считая нескольких разочаровывающих моментов с форматированием CSS, которые, я уверен, были у всех нас!) и содержание JavaScript становится интересным — по крайней мере, для меня. Их контент, охватывающий серверную часть, далеко не так совершенен, как внешний контент, но он действительно пробудил мой интерес (ознакомьтесь с Программирование веб-сайта на стороне сервера MDN для получения более подробного руководства, хотя некоторый контент немного устарел, например код до ECMAScript 6). Работать над интерфейсом — это здорово, потому что вы создаете то, с чем взаимодействуют пользователи, но работая над серверной частью, я чувствую, что нахожусь в нутре компьютера, возясь с ним. Я предполагаю, что передняя часть похожа на работу над дизайном и функциональностью органов управления автомобилем, тогда как задняя часть похожа на работу над двигателем. Я всегда больше увлекался движком :) (я знаю, что на самом деле я не в компьютерах, потому что я смотрел потрясающие видео этого парня о написании профессиональной игры с нуля на C++, и ЭТО разбираюсь во внутренностях компьютера. Я бы хотел однажды заняться C++. О, так многому предстоит научиться…)

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

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

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

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

Я думаю, что некоторые из проблем будут:

  • Работа с обещаниями и асинхронным кодом при работе с API
  • Как заставить Google Maps работать с React
  • Отработка правильного радиуса зоны поиска
  • Получение правильного местоположения пользователя
  • Дизайн приложения — не моя сильная сторона. Пока что!

Дайте мне знать, если у вас есть какие-либо советы или идеи, и в следующем посте я поделюсь своим приложением…