Учиться всегда сложно, даже если у вас уже есть опыт. Сегодня мы поговорим подробнее о процессе обучения.

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

Практика против теории

Что важнее, практика или теория? Есть много людей, чей мозг учится только на практике, правда? И да и нет :)

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

ИМХО оба очень важны, вы не учитесь только на практике или только путем усвоения теории. Как мы изучим Java без понимания полиморфизма, наследия, инкапсуляции и т. Д.? Как понять это? Практикуете? Читаете?

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

О технологии

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

Как мы можем работать с микросервисами, не понимая REST, событий или тем? К сожалению, хотя я видел, как это происходит, результат не может быть хорошим. Другой пример - компания, работающая со схваткой, даже когда высшее руководство или даже команды не соглашаются на это, даже если культура не задумывается.

Как только вы узнаете, что такое объектная ориентация, станет намного проще изучить любой другой объектно-ориентированный язык. То же самое и с функциональным программированием. То же самое и с обменом сообщениями. И т.д …

Теория очень важна, все должны говорить на одном языке. Если я создаю конечную точку в своем RESTful API, она должна соответствовать принципам REST.

Как говорил мой бывший коллега:

Вы не делаете что-то только потому, что кто-то сказал вам это сделать, вы не должны просто делать это, вы должны понимать, зачем это делать и как это влияет на все остальное.

Учимся учиться

Как только вы усвоите эти концепции, вы сможете легче усвоить другие вещи.

У каждого человека свой способ учиться, потому что люди отличаются друг от друга. Глубоко, правда? :)

Мне нравится использовать Trello, чтобы ставить цели, сроки, определять методологию. Большая часть кода, который я пишу для изучения, находится на моем github или bitbucket (практика). Большая часть теории, которую я изучил, написана в блогах или в личных заметках (теория).

Преподавание - это способ учиться

Написание сообщений в блогах о том, что вы узнали, - хороший подход, потому что вы будете писать об этих вещах, которые вы узнали, что побуждает вас учиться больше (вы же не хотите писать что-то не так, верно?). Вы можете попросить более опытных людей просмотреть то, что вы только что написали. Medium - хорошее место для этого.

Другой способ - сделать короткие презентации, такие как LT (Lightning Talks), своим коллегам / друзьям.

Поговорите с более опытными людьми

Допустим, вы только что изучали Кафку, все это свежо в вашей голове, вы кодировали несколько примеров и писали об этом. Но вы знаете, что у вас есть друг / коллега, который много знает о Kafka и уже использовал его.

Это хороший способ учиться. Расскажите этому другу, что вы только что узнали, задавайте вопросы, приглашайте вместе написать сообщение в блоге, приглашайте заниматься парным программированием, спрашивайте, как его [ее] опыт с этим.

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

Общение очень важно.

Спасибо, что дочитали до этого места. Не стесняйтесь писать свои комментарии, и давайте обсудим больше.