Фреймворк для обучения программиста

Джозеф Джуд — бизнес-технолог, автор книги «Ionic 2: Definite Guide». Редакция techrocks.ru представляет вам адаптированный перевод статьи о том, как развиваться специалистам в индустрии программного обеспечения.


Я закончил университет в 1994 году. COBOL был популярным языком программирования в то время.

Затем пришел Dbase

Затем FoxPro

Затем Power Builder

Затем Visual Basic

Каждый раз при появлении нового языка, появлялись сопутствующие технологии: ODBC, COM, ATL и другие.

В 90-х начали появляться комплексные решения, такие как Vantive и Peoplesoft. В то время также стал популярен SAP.

За последние годы появились новые языки – Swift, Go, Scala, и другие.

Зачем я тут описываю историю?

В индустрии программного обеспечения работает только один принцип: если не обновляться, то устареешь.

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

1. Изучай

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

Книги

Обычно я избегаю книг по языкам программирования. Вместо них я читаю книги по архитектуре, дизайну или процессам. Например, недавно я подписался на Safari Books Online, где есть огромная коллекция книг по технологиям. И я рекомендую такие:

Блоги & Сайты

Книги хороши для изучения базовых работающих идей. Но для такой быстро меняющейся индустрии, как разработка ПО, их недостаточно. Чтобы идти в ногу с новейшими веяниями в области разработки, я читаю:

Я подписался на них и читаю, используя Feedly.

Новостная рассылка

Если у вас нет времени на чтение этих сайтов, вы можете подписаться на рассылку. Я подписался на: Node Weekly и Software Lead Weekly. SLW – отличная рассылка для всех профессий в IT. Другие рассылки можно найти здесь: Awesome-Weekly.

Репозитории кода

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

Сейчас я изучаю nodejs. Вот некоторые nodejs репозитории:

  • Node.js — программная платформа Javascript на сервере
  • Typescript — надстройка JavaScript от Microsoft
  • Hapijs — фреймворк для веб-приложений на базе nodejs, созданный Walmart
  • d3.js — библиотека JavaScript для визуализации данных
  • Bootstrap — HTML, CSS, и JavaScript фреймворк для разработки responsive, mobile first приложений
  • Hexo — генератор статических сайтов
  • Punch — еще один генератор статических сайтов
  • Ghost — блог-платформа

 Можно еще найти много других отличных репозиториев, к примеру:

2. Экспериментируй со сторонними проектами (для обучения)

Изучение — это только один из аспектов обучения. Если вы хотите уловить концепцию и усвоить что-то, то нужно опробовать это на практике.

Чтобы попрактиковаться, создайте свой собственный проект. Он должен быть достаточно маленьким, чтобы вы успели сделать его за пару недель, и достаточно большим, чтобы была возможность попрактиковаться. Цель таких проектов — не создание готового приложения и зарабатывание денег, а только обучение.

Несколько идей для своего проекта:

Зайдите на 52 technologies in 52 weeks. Шекар использовал новую идею каждую неделю в 2016 году (он создал всего 43 проекта, но это тоже достаточно много). Можно реализовать несколько подобных идей на выбранном вами языке.

Если вы начинающий программист, то можно попробовать решать проблемы Эйлера на выбранном вами языке. Таким образом, вы изучите и алгоритмы, и язык программирования.

Джастин Джексон сошел с ума и создал 100 проектов в 2016. Если для вас это слишком, то пробуйте создавать один проект в месяц.

В общем, выбирайте то, что вам подходит — будь то 100 проектов, проблемы Эйлера, один проект в месяц, но при этом обязательно последовательно в течение длительного времени выполняйте задания в соответствии с выбранным подходом. Тренируйте мозг такими экспериментами.

Если вам кажется, что у вас нет идей, посмотрите здесь: Ideas Watch и Idea Space. Оба ресурса — о стартапах, но на них можно выбрать идею для своего проекта.

Как я уже упоминал ранее, цель собственных проектов — обучение. Поэтому не сильно переживайте из-за качетсва. Пока вы учитесь, количество важнее качества.

3. Делись знаниями и общайся с другими

Делитесь. Делитесь тем, что вы изучили. Делитесь в GitHub, или в Medium, или в собственных блогах. Это вклад в будущее. Также это дает возможность общаться с другими разработчиками, которые уже делали это либо еще делают. В первом случае, это поможет выяснить, есть ли более хороший путь сделать то, что сделали вы. Во втором случае, вам будут задавать уточняющие вопросы по ходу разработки. В обоих случаях, ваши знания улучшатся.

4. Продолжать учиться

Программное обеспечение завоевывает мир. По мере расширения границ, мы вынуждены изучать все больше и больше. Но если понять систему — обучаться можно намного быстрее.

Продолжайте учиться.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх