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

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

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

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

В этой статье я объясню, почему наставничество важно, и предложу простой способ найти его для себя.

Обратная связь - это ключ

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

На самом деле есть только два основных способа получить обратную связь:

  • Вы можете оставить отзыв с помощью самообучения
  • Кто-то другой может это предоставить

Метод самообучения - самый распространенный в мире программирования. Обычно, когда мы застреваем или нам нужно узнать что-то новое, мы заходим на такие сайты, как Stack Overflow или GitHub. Цель состоит в том, чтобы узнать новую информацию, чтобы мы могли поразмышлять о нашей работе и подойти к проблеме под новым углом.

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

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

Недостатки самообучения

Самостоятельная работа важна, но есть две большие проблемы.

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

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

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

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

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

Зачем нужен наставник

У наставника есть много преимуществ.

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

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

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

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

Как найти наставника

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

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

Встречи и группы пользователей - отличное место для начала. Если вы живете в городе приличных размеров, скорее всего, каждую неделю происходит множество различных технических мероприятий. Просто зайдите на Meetup.com и найдите мероприятие, которое вам интересно.

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

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

Взаимодействие с опытными разработчиками

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

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

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

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

Продолжить диалог

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

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

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

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

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

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

Думайте об опытном разработчике как о компасе. Они физически не доставят вас к месту назначения, но они позаботятся о том, чтобы вы двигались в правильном направлении. Это поможет вам не тратить время на вещи, которые могут оказаться бесполезными при поиске работы. Как минимум, они дадут вам новые вещи для размышлений и помогут вам проанализировать свой прогресс.

Помните: отношения, которые вы строите, важнее ответов, которые вы получаете. Ответы конечны. Отношения бесконечны.

Заключение

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

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

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

Они тебя не найдут. Вам нужно будет выйти в мир и найти их. Но убедитесь, что вы это делаете.

Подпишитесь на информационный бюллетень Learn to Code, чтобы получать нетехнические советы о том, как стать разработчиком-самоучкой. Http://bit.ly/ 2JUlD27