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

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

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

Я предлагаю простой способ справиться с этим — называть его «фреймворком», вероятно, было бы претенциозно, но я уже некоторое время работаю таким образом. На самом деле — структуру этого «каркаса» можно найти в моем блокноте Moleskin 2013 года.

Речь идет о трех слоях знаний — большинство тем, которые вы можете изучить, можно отнести к одному из этих слоев. Вы сможете изучать и решать темы из уровня, когда вы знаете что-то из более низкого уровня.

1. Уровень основ (или основа или основы)

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

Как начинающий разработчик, вы должны вкладывать большую часть своих усилий в обучение в этой области.

Несколько тематических примеров:

  • язык программирования
  • ООП
  • шаблоны проектирования
  • http-протокол
  • базы данных — типы и запросы
  • алгоритмы
  • написание тестов

2. Уровень инструментов (или технологий, или фреймворков)

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

Преимущество такой информации в том, что как только вы привыкнете к одной технологии или фреймворку, вам будет легче переключиться на другую.

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

Некоторые темы:

  • .net framework (включая все их API, например, Entity Framework)
  • веб-серверы
  • JavaScript-фреймворки
  • DI-контейнеры
  • инструменты (IDE)

3. Уровень интеграции (или улучшения)

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

Однако знания этого уровня помогут вашему приложению работать в пределах ожидаемых оптимальных параметров.

Мои примеры относятся к темам, связанным с:

  • архитектура
  • производительность, масштабируемость
  • исправление проблем
  • больше паттернов: интеграционные корпоративные паттерны, облачные паттерны
  • более продвинутые инструменты/фреймворки (например, WCF)

Как действовать

Определив три слоя, теперь мы можем перечислить некоторые правила того, что и когда мы можем изучать:

  • Если вы только начинаете работать разработчиком, вам нужно сосредоточиться на темах из слоев «Основы» и «Инструменты».
  • Вы должны знать, что темы из слоя «Инструменты» лучше раскрываются, если вы осваиваете темы из слоя «Основы».
  • На протяжении всей своей карьеры вы будете заниматься слоем «Инструменты», потому что он довольно изменчив — с годами они постоянно меняются; но будет легче выучить новые.
  • Когда у вас появится некоторый опыт, ожидайте, что вы будете все больше и больше затрагивать темы уровня «Интеграции».

Непрерывное обновление

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

Одним из примеров может служить парадигма контейнеризации, возникшая в последние годы: в этом случае контейнеры будут темой на уровне «Основы», а Докер — на уровне «Инструменты. ", а оркестрация / Kubernetes — на уровне " Integrations".

Заключение

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

Первоначально опубликовано на https://grigoresc.net.