Technical Breadth
Technical Breadth
— определение, которое я впервые услышал в английском
варианте от архитектора Марка Ричардса (Mark Richards). Если грубо переводить
его на русский язык, оно означает “технический кругозор”. Аналогом этого
слова у дизайнеров является “насмотренность”.
Что делать с этим понятием и как расширять свой технический кругозор?
Во-первых, следует понимать, что наращивание технического кругозора не означает становление экспертом во всех областях. Скорее, речь идёт о получении более глубокого понимания инструментов и технологий, чем поверхностное знакомство.
Приведу пример. Все мы видели информативные дашборды grafana
, из которых
понятно, что происходит с сервисом в данный момент времени. Но, как только перед
вами встаёт задача создать собственный дашборд, вы, скорее всего, впадаете в
ступор. Первые попытки создать наглядный дашборд приводят не к тому результату,
на который вы рассчитывали. Вы получаете набор нечитаемых бесполезных графиков,
которые не несут никакой смысловой нагрузки.
Как выйти из этой ситуации?
Разумеется, речь идёт о тренировках, о наращивании технического кругозора, который переходит в глубину технических знаний.
Возвращаясь к примеру с grafana
, вы могли бы найти официальный плейлист на
youtube, ознакомиться с возможностями инструмента хотя бы в теории. Затем, вы бы
узнали про grafana playground
, где можно попрактиковаться составлять дашборды.
В какой-то момент вам станет тесно в плейграунде, и вы развернёте себе локальную
версию, пусть даже в docker compose
, настроите автопровижн и перейдете к
использованию grafonnet
.
Так, постепенно, широта будет переходить в глубину. Для этого нужна постоянная практика.
Во-вторых, не с каждой технологией следует знакомиться глубоко. Последние несколько лет в фокусе большинства людей и компаний находится машинное обучение. Если ваша работа напрямую с ним не связана, пробегитесь хотя бы по верхушкам только с одной целью — понимать, о чём идёт речь. Общее понимание позволит вам при необходимости углубиться в тему и разобраться в ней досконально, если это будет необходимо.
А когда вообще отдыхать?
Это не мотивационный материал, призывающий вас забыть о свободном времени. Вы в состоянии самостоятельно спланировать ваш процесс обучения и расширения технического кругозора.
В завершение хочу привести ещё один пример. Многие из нас переходили на
язык go
, являясь разработчиками на других языках. И мы нашли время для
изучения нового синтаксиса, принципов и приёмов программирования на новом для
нас языке. Справились?
Примерно такая же ситуация складывается с языком python
. Разработчики, которые
давно в профессии, но не сталкивались с ним в разработке крупных или
mission-critical проектов, думают, что легко могут его освоить. Простой и
понятный синтаксис, современные среды разработки, подсвечивающие все ошибки и
подсказывающие исправления — всё это создаёт иллюзию глубокого знания и полного
понимания языка. Попробуйте заменить цикл for
в вашем коде на python
на list
- или dict-comprehension
и, возможно, вы столкнётесь с рядом проблем.
Избежать их вам помогут регулярные тренировки.
Наращивайте ваш технический кругозор, глубже изучайте языки и технологии, которые используете в данный момент. Ищите и изучайте альтернативы. Не останавливайтесь в своём техническом развитии.