Учеба без наставника: как программисту стать экспертом самостоятельно

0
3266
views

Перевод статьи «Learning without a mentor: how to become an expert programmer on your own».

Как стать экспертом самостоятельно

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

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

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

Как понять, учитесь ли вы

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

К счастью, есть простой способ определить, учитесь вы или нет: учеба вызывает дискомфорт. Если вы в зоне комфорта, если о том, что вы делаете, вы думаете «это не так сложно, я могу просто взяться и сделать это», – вы точно не учитесь. Вы просто занимаетесь уже хорошо знакомыми вам вещами, отсюда ваше чувство уверенности.

Если же вы раздражены и немного сбиты с толку, если чувствуете себя неловко и все кажется тяжелее, чем должно было бы быть, – вот в этот момент вы учитесь.

Когда вы учитесь, вы испытываете дискомфорт

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

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

Как выбрать тему для изучения

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

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

Давайте рассмотрим несколько способов приобретать новые навыки на работе.

Как учиться на работе

Обучение других

Если на работе у вас есть коллеги, вы периодически будете замечать, что они делают что-то совершенно неправильно (на ваш взгляд) или упускают что-то очевидно нужное (опять же, очевидно для вас).

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

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

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

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

  • Вам тяжело объяснить, почему вы приняли то или иное решение. Поскольку модель заложена у вас в подсознании, вы не можете четко объяснить, почему или как вы пришли к вашему решению.
  • Усвоенная вами модель действий редко будет самой лучшей из всех возможных, а поскольку вы применяете ее неосознанно, вы можете просто перестать улучшать ее.

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

Учить можно не только коллег, конечно. Вы можете писать посты в блогах, выступать на митапах или конференциях. Главное здесь – заметить, какие ваши знания перешли на подсознательный уровень, и попытаться сделать их явными, объясняя другим людям.

Смена работы

Смена работы

Хотя учеба некомфортна, лично я испытываю дискомфорт по противоположной причине: мне быстро становится скучно. Освоившись с какой-то задачей или приобретя новый навык и достигнув определенного комфорта, я начинаю скучать, а эта задача или навык становятся мне отвратительны.

В 2004 году я присоединился к команде, где писали высокопроизводительные приложения на С++. Как только я освоился достаточно хорошо, чтобы почувствовать себя комфортно, я заскучал. Поэтому я начал заниматься слегка отличающимися задачами или задачами, требующими немного других навыков. А затем мне опять стало скучно, поэтому я перешел в другую команду в той же компании, где приобрел еще больше навыков.

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

Учитесь у экспертов, при этом перенимайте навыки, а не знание технологий

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

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

Учиться можно у экспертов

С навыками дело сложнее. К ним относятся такие вещи как тестирование, рефакторинг, проектирование API, отладка и т. п. Эти навыки будут полезны вам в любом случае, на любой должности и при работе с любыми технологиями. Но при этом приобретение именно таких навыков куда легче проигнорировать или упустить из виду. Есть множество навыков, которые были бы всем нам очень полезны, но мы даже не знаем об их существовании.

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

Заключение

Чтобы учиться, наставник не обязателен. Разработчик и самостоятельно может стать лучшим специалистом. Для этого нужно:

  • Уметь распознать ситуацию, когда вы достигли зоны комфорта и перестали учиться.
  • Найти способы продолжить учиться, например, обучая других, поменяв работу или перенимая навыки у экспертов.
  • Заставить себя пройти через дискомфорт учебы: если вы чувствуете себя некомпетентным, значит, вы действуете правильно.