Это был утомительный и трудный месяц. Во-первых, моя жена, которая была беременна, пошла на УЗИ в 12 недель, и у плода было обнаружено несколько анатомических аномалий, которые вызывали серьезное беспокойство. Были назначены дополнительные испытания. Когда через несколько дней было проведено УЗИ, которое должно было быть плацентарным анализом, выяснилось, что плод погиб внутриутробно. На следующей неделе было запланировано D&C, а пока мы собирались поехать в Анн-Арбор, штат Мичиган, где моя жена должна была представить плакат на ежегодной конференции по нейронаукам Павловского общества. Мы действовали, как и планировали, но опасались, что моя жена в какой-то момент на выходных извергнет плод, возможно, на одном из наших рейсов. К счастью, этого не произошло, но в понедельник, когда мы вернулись домой, у нее случился довольно драматический выкидыш, за ночь до того, как было назначено ее D&C. К счастью, она работает в больнице, и из-за обильного кровотечения ей нужно было только перейти улицу, чтобы добраться до отделения неотложной помощи. Это была долгая ночь; Я забрал ее около 2:30 ночи. Это был неприятный поворот событий, но у нас было время, чтобы обработать его, и мы просто благодарны, что обошлось без серьезных осложнений.

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

Что касается первого, я переработал свое сопроводительное письмо (снова) и пересмотрел свои портфолио проектов. К моему смущению, я обнаружил пару проблем с моим симулятором торговли акциями Fideligard (https://hidden-gorge-20342.herokuapp.com/). Первая проблема заключалась в том, что приложение вылетало всякий раз, когда я передвигал ползунок даты за пределы 30 сентября при просмотре своего портфолио. Несколько операторов console.log показали, что строка даты, передаваемая DateWidget (ползунку даты), была неправильно отформатирована. В результате соответствующие данные API не фильтровались, так как условие, используемое в методе обратного вызова вызова Array.prototype.filter для данных API, зависит от даты. Результирующая структура данных была просто пустым массивом. Вспомогательная функция моего портфеля обращается к определенным индексам в массиве данных, чтобы выбрать соответствующие биты данных для отправки и отображения в компоненте портфолио, поэтому эти ссылки вызывали ошибку, поскольку они не существовали. Я нашел и исправил проблему в своем вспомогательном методе, который создает строку даты.

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

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

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

Я еще не принял никаких конкретных решений, но я оставляю свои варианты открытыми.