Developer

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

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

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

Давайте приступим!


Что такое знание?

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

Информация и знания

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

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

Сузьте область обучения 

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

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

Как учиться эффективно

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

Разработка простого приложения научит вас намного большему, чем просмотр видео, на такую же тему, на YouTube. И причина этого заключается в том, что автор видео решает, о чем важно рассказать, основываясь на собственном опыте, а не на вашем. А это значит, что автор научит вас малополезным вещам. 

Информация, основанная на опыте, гораздо важнее, чем ничего. 

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

Не отвечающий требованиям

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

Нет ничего плохого или постыдного в том, чтобы знать что-то одно, но знать очень хорошо. А вот знать много всего, но плохо, наоборот, постыдно.

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

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

Заключение

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

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

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

Перевод статьи Dler AriDevelopers that constantly want to learn new things, here’s a tip!