Иногда вы выигрываете, иногда учитесь

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

# Books:

1› Счастье преследования: найти квест, который принесет цель в вашу жизнь

- Крис Гильбо

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

2› Правило 10x: единственная разница между успехом и неудачей

- Грант Кардоне

  • Есть расхожая поговорка, что тяжелая работа не гарантирует успеха, но без нее у человека нет шансов. Эта книга развивает эту идею и просто призывает читателей делать все в 10 раз больше, чем другие обычные люди, чтобы преуспеть в какой-либо области. Хотя у нее хороший рейтинг на Amazon, мне книга не очень понравилась, может быть потому, что я купил аудиоверсию книги, и все повествование звучало как громкое рекламное предложение. Здесь и там есть несколько хороших советов, но ничего такого, чего бы я не слышал или не читал раньше.

3› Soft Skills: жизненное руководство разработчика программного обеспечения

- Джон Сонмез

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

4› 300 вопросов, которые задают новые родители

- Уильям и Марта Сирс

  • Моя жена и я ожидаем нашего первого ребенка в этом году и поэтому эта книга. Есть так много всего, что можно прочитать и узнать даже для пап, чтобы обеспечить правильную поддержку и помощь мамам. Реальность настолько отличается от того, что мы видим в фильмах и сериалах. Это довольно старая книга на эту тему, но она все еще актуальна, а ее формат вопрос-ответ позволяет легко читать и переходить от одного раздела к другому.

5 › Мастер CSS

- Тиффани Браун

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

6›YDKJS: развитие

- Кайл Симпсон

  • Раньше я читал несколько книг по JavaScript, но эта новая серия Кайла Симпсона, безусловно, лучшая. Это все о моментах лампочки, когда все становится кристально чистым. Одна из вещей, которую я узнал из этой первой книги серии, заключалась в том, что движок JavaScript фактически компилирует программу на лету, а затем сразу же запускает скомпилированный код. Как и у большинства других, у меня было неправильное предположение, что JavaScript интерпретируется, потому что его исходный код обрабатывается каждый раз, когда он запускается. В целом, эта книга является хорошим повторением всех основ JS, таких как объекты, прототипы, подъем, приведение и т. д.

7› YDKJS: объем и закрытие

- Кайл Симпсон

  • В этой второй книге Кайл определяет и объясняет назначение Engine, Compiler и Scope и то, как они взаимодействуют друг с другом для компиляции и выполнения JS-программы. Например, компилятор объявляет переменную в текущей области видимости, и при выполнении движок ищет переменную в области видимости и присваивает ей значение. Как только вы хорошо разберетесь в этих концепциях, вы сможете намного лучше понять свой код. Моя цель состояла в том, чтобы закончить всю серию в прошлом году, но мне удалось прочитать только первые 2 книги. Надеюсь, в этом году я найду время прочитать оставшиеся 4 книги.
# Side Projects:

1› Электронная коммерция

  • В июле прошлого года я завершил 10 лет профессионального программирования. За эти 10 лет я работал над множеством разных приложений, но у меня никогда не было возможности поработать над проектом электронной коммерции. Поэтому в качестве одной из моих целей на 2017 год я решил поработать над побочным проектом по созданию мобильного веб-сайта для ресторана. Идея заключалась в том, чтобы создать что-то простое, где пользователи могли бы просто видеть пункты меню, добавлять их в корзину и оформлять заказ.
  • Я построил сайт со следующим стеком:
{
  "host"        : "heroku",
  "database"    : "mongo db",
  "framework"   : "sails js",
  "payment_lib" : "stripe"
}

Я решил использовать фреймворк Sails JS в основном из-за его акцента на счастье разработчиков и философии «конвенция важнее конфигурации». Выбор платежной библиотеки был намного проще из-за популярности Stripe. Stripe ориентирован на разработчиков, поэтому его API чистый, хорошо документированный и очень простой в использовании.

# Courses:

1› JavaScript 30: создайте 30 вещей за 30 дней с помощью 30 руководств

- Вес Бос

  • Как и большинство других фронтенд-инженеров в наши дни, я использую фреймворк JavaScript для различных проектов на работе (в моем случае это Ember JS). Все фреймворки предназначены для того, чтобы сделать вас более продуктивным, но за это приходится платить одной потерей контакта и забвением низкоуровневых DOM API и других языковых функций, а иногда и не изучением всех новых языковых дополнений, которые вводятся каждые несколько месяцев. Поэтому, когда этот курс вышел где-то в прошлом году, я был рад найти несколько интересных упражнений для решения в vanilla JS. Это отличный курс Веса Боса, который охватывает множество различных частей клиентской разработки, от анимации и макетов до функций ES6 и API геолокации.

2 › Изучите узел

- Вес Бос

  • Я программировал на PHP для всех своих внутренних задач с тех пор, как начал работать над проектами веб-разработки. Поэтому в прошлом году я поставил перед собой цель научиться разработке JavaScript на стороне сервера. Этот курс Веса Боса содержит 44 видеоролика, в которых рассказывается, как создать полнофункциональное веб-приложение с помощью Node.js. Он охватывает все, от учетных записей пользователей и аутентификации до загрузки изображений и развертывания приложений на Heroku и Digital Ocean. Конечным результатом является адаптивное ресторанное приложение в стиле Yelp, которое позволяет пользователям искать рестораны и оставлять отзывы.

3› Разработка веб-приложений в Node.js и Sails.js

- Майк Макнил

  • В прошлом году я выбрал Sails.js для своего побочного проекта электронной коммерции, и чтобы подробно изучить все концепции фреймворка, я посмотрел этот курс создателя фреймворка Майка Макнила. Большинство концепций легко понять, если кто-то уже создавал веб-приложения с другими фреймворками. Концепция Blueprints в Sails.js упрощает быстрое создание маршрутов и действий API, а его ORM Waterline обеспечивает чистую абстракцию для работы с любой базой данных.

4› Метод Брэдли

  • Это был курс из 10 занятий (один раз в неделю), который мы с женой прошли в прошлом году, чтобы узнать обо всем процессе родов. Он предназначен для молодых родителей, чтобы научиться всему в небольшой группе под руководством независимого аффилированного инструктора. Мы очень рады, что прошли этот курс, так как узнали так много о предродовом питании и упражнениях, методах релаксации и о том, как мужья могут играть роль тренера во время родов. На занятии также рассказывается о составлении планов родов и о том, как общаться с персоналом больницы, чтобы максимально упростить весь процесс. Со всеми операциями, связанными с родами, которые происходят так часто в наши дни, важно быть в курсе всех различных способов, которыми можно избежать медицинских вмешательств.
# Other Activities:

1› Конференции

  • В прошлом году я посетил So Ember Conf в Сан-Дейго и прекрасно провел время, обучаясь и общаясь с лучшими умами сообщества Ember JS. Это была моя первая конференция Ember, и поэтому было очень волнительно, наконец, лично встретиться с некоторыми из emberenos. Это была однодневная конференция, которая проходила в красивом отеле Catamaran Resort, и все мероприятие было очень хорошо организовано компанией Dockyard. Быть частью какого-то сообщества имеет большое значение для карьерного роста. Помимо этой конференции, я многому научился на местных митапах Ember, онлайн-каналах slack и даже благодаря небольшим вкладам в открытый исходный код.

2› Подкасты

  • Обычно я слушаю подкасты каждое утро по дороге на работу. Это отличный способ максимально использовать свое ежедневное время в пути.В прошлом году я выбрал для прослушивания несколько новых шоу, которые были действительно впечатляющими. Первым был Как я построил это Гая Раза. В этом шоу Гай берет интервью у основателей стартапов о том, как они построили свои компании. Мне нравилось слушать истории о Reddit, Starbucks, Airbnb и Chipotle. Другой новый подкаст, который я выбрал и из которого многому научился, — это Подкаст EmberMap Сэма Селикоффа и Райана Торонто. В этом шоу очень практичные и подробные обсуждения различных проблем, с которыми приходится сталкиваться при создании интерфейсных приложений в Ember JS.
# Summary:

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

С нетерпением ждем напряженного, но плодотворного и захватывающего 2018 года!