Technical Breadth

Technical Breadth — определение, которое я впервые услышал в английском варианте от архитектора Марка Ричардса (Mark Richards). Если грубо переводить его на русский язык, оно означает “технический кругозор”. Аналогом этого слова у дизайнеров является “насмотренность”.

Что делать с этим понятием и как расширять свой технический кругозор?

Во-первых, следует понимать, что наращивание технического кругозора не означает становление экспертом во всех областях. Скорее, речь идёт о получении более глубокого понимания инструментов и технологий, чем поверхностное знакомство.

Приведу пример. Все мы видели информативные дашборды grafana, из которых понятно, что происходит с сервисом в данный момент времени. Но, как только перед вами встаёт задача создать собственный дашборд, вы, скорее всего, впадаете в ступор. Первые попытки создать наглядный дашборд приводят не к тому результату, на который вы рассчитывали. Вы получаете набор нечитаемых бесполезных графиков, которые не несут никакой смысловой нагрузки.

Как выйти из этой ситуации?

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

Возвращаясь к примеру с grafana, вы могли бы найти официальный плейлист на youtube, ознакомиться с возможностями инструмента хотя бы в теории. Затем, вы бы узнали про grafana playground, где можно попрактиковаться составлять дашборды. В какой-то момент вам станет тесно в плейграунде, и вы развернёте себе локальную версию, пусть даже в docker compose, настроите автопровижн и перейдете к использованию grafonnet.

Так, постепенно, широта будет переходить в глубину. Для этого нужна постоянная практика.

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

А когда вообще отдыхать?

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

В завершение хочу привести ещё один пример. Многие из нас переходили на язык go, являясь разработчиками на других языках. И мы нашли время для изучения нового синтаксиса, принципов и приёмов программирования на новом для нас языке. Справились?

Примерно такая же ситуация складывается с языком python. Разработчики, которые давно в профессии, но не сталкивались с ним в разработке крупных или mission-critical проектов, думают, что легко могут его освоить. Простой и понятный синтаксис, современные среды разработки, подсвечивающие все ошибки и подсказывающие исправления — всё это создаёт иллюзию глубокого знания и полного понимания языка. Попробуйте заменить цикл for в вашем коде на python на list- или dict-comprehension и, возможно, вы столкнётесь с рядом проблем. Избежать их вам помогут регулярные тренировки.

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

Ссылки