👨‍💻 11 признаков того, что программирование не для вас Часто в интернете можно встретить вопросы: «Как понять, что я могу стать программистом?», «Ну вот что мне почитать, чтобы быстрее войти в IT?», «А эта книга подойдет для новичка?», «Эта книга по алгоритмам разве актуальна?», «На какую зарплату я могу рассчитывать через 5 месяцев изучения JS?». Что объединяет все эти вопросы? Напишите своё мнение в комментариях. На мой взгляд, все эти вопросы не являются главными. Человек, который их задаёт, просто успокаивает свою совесть тем, что якобы он стал интересоваться, что он уже вот-вот начнет изучать программирование. А по факту получается, что это откладывается на дни, недели, месяцы, года. С чем связана основная причина? Страх начать? Проблема в том, что если вы не разбираетесь в программировании, то одного желания будет недостаточно. Большую роль сыграет дисциплина. Хочется ли кому-то заниматься сложной умственной деятельностью, за которую пока никто не платит? Вот вот. Однако, программирование является навыком, таким же как умение читать и писать. Все люди могут научиться этому, потратив время и усилия. Но можно составить небольшой список причин того, почему вы не начинаете: ▪ 1. Нет любопытства Вам не интересны компьютерные технологии. Вряд ли удастся находить энергию, чтобы разбираться в том, как работают вычислительные машины. Нужна врождённая внутренняя мотивация, чтобы осмелиться погрузиться в Computer Science и исследовать всё, что можно. Спросите себя, действительно ли вас интересует программирование? Если ваш честный ответ “нет”, найдите что-нибудь другое, что будет вам более интересно. Поберегите время и силы. Но если ответ “да”, заставляйте себя постоянно находить что-то новое, чего вы раньше не замечали. ▪ 2. Не хватает самостоятельности и гибкости Если вы не развиваете способность решать проблемы самостоятельно, вы никогда не станете успешным программистом. Вне сомнений, для того, чтобы стать успешным программистом, вы должны быть уверены в СВОЕЙ способности учиться. Это очень важный навык —после 18 лет никто не обязан вас ничему учить. Это реальность. Вам самим нужно искать необходимую информацию и помощь, чтобы учиться чему-то важному. В мире программирования вся необходимая информация находится в волшебном месте: Google + Яндекс. Нужно не только пользоваться поисковиком. У всех языков программирования есть документация и инструкции, в которых объясняется как работает та или иная конструкция языка. Чтение документации — самый быстрый и надежный способ развить навыки программирования. В ней есть буквально всё. Пользуйтесь ресурсами: Поймите, что вы сами можете найти ответы на все ваши вопросы. Если появился вопрос, заставьте себя поискать в Google, прежде чем спрашивать у кого-либо или искать ответ в документации. Сберегите чужое время для тех моментов, когда, несмотря на все поиски, вы не найдете ответ на ваш вопрос. ▪ 3. Нехватка настойчивости при возникновении проблемы Если вы легко сдаетесь при любой возникшей проблеме, вы никогда не станете успешным программистом. Проблемы являются сущностью программирования. Только из-за них и были изобретены компьютеры! Когда вы начинаете работать над программой, вы сталкиваетесь с целой кучей проблем. И когда вы решаете одну, за ней практически всегда возникает новая. Вы продвигаетесь вперед, но всегда появляются новые проблемы. Перспектива решения этой кучи проблем может быть пугающей и обескураживающей. Если вы считаете, что всё должно “просто работать”, тогда у вас не будет запала продолжать работать, когда проблемы продолжат возникать и потихоньку подтачивать вашу силу воли. И это и есть ваша работа: выяснить, почему программа не работает. Важно понимать: чем больше проблем возникло у вас, тем больше у вас возможностей научиться новому и обогнать тех, у кого эти проблемы не возникали. Вам нужно понять, что проблемы — неотъемлемая часть работы. Да и вообще это не проблемы, а, скорее, вызовы. Каждый вызов, который вы принимаете и разрешаете, даёт вам более глубокое понимание, способность лучше воспринимать новые вызовы и справляться со старыми. ▪ 4. Вы не чувствуете удовлетворения после решения проблемы Если вы не испытываете радости и чувства выполненного долга после решения проблемы, вы никогда не станете успешным программистом. Отсутствие “позитива” после успешного решения проблемы относится к предыдущему признаку — быстрому отказу от поиска решения. Когда устранения багов и недочетов становится бесконечной рутиной, вы забываете об удовольствии, которые приходит при решении проблемы. Когда вы находите решение, вы получаете необходимую дозу дофамина. Это похоже на эмоции, которые вы испытываете, проходя уровень в видеоигре, или решая судоку или кроссворд. Мы все знаем, что если после долгого и сложного решения задачи, вы все-таки одерживаете верх, то испытываете положительные эмоции. Но если вы больше их не испытываете, или вообще никогда не придавали этому значения, вы не испытаете удовольствия от программирования. Если программирование для вас — скучная работа, где вам просто нужно достичь результата легчайшим способом, вы никогда не станете действительно успешным программистом. Радуйтесь своим успехам: Когда вы решаете проблему, над которой долго бились, независимо от её сложности, гордитесь выполненной работой, отдыхайте и поздравляйте себя. Дайте чувству удовлетворения проникнуть в вас и наполнить энергией для решения следующей проблемы. ▪ 5. Вы нетерпеливы при обучении и понимании чего-либо Если вы нетерпеливы при обучении и ожидаете, что всё будете понимать быстро и без усилий, вы никогда не станете успешным программистом. Возможности человека не безграничны. Хотя мир развивается всё быстрее, и главной причиной этого являются компьютеры, мы не можем развиваться быстрее. Наши мозги работают с определенной скоростью. В зависимости от нашего прошлого, наших взглядов, эмоционального состояния, здоровья, все мы учимся и обрабатываем информацию с разной скоростью. Мир технологий — это огромный океан. Вы никогда не достанете до его дна, никогда не станете абсолютным знатоком, которому больше нечего изучать. Если вы будете перегружены информацией, вы будете чувствовать необходимость “нагнать” и всегда думать, что знаете недостаточно. Если вы не можете трезво оценивать свои способности, чтобы потихоньку изучать новое, вы скоро станете думать, что двигаетесь в никуда и бросите обучение. Наоборот, вам нужно наслаждаться самим процессом обучения. Каждая кроха знаний или новый навык, который вы получаете, должен радовать вас. Как и при решении проблем, вы должны чувствовать гордость, осознавая, что вы сделали шаг вперед, пусть и небольшой. Осознавайте свой прогресс: В мире всегда есть, что изучать, и ваш путь в программировании никогда не закончится. Но знания нужно накапливать. Поэтому гордитесь своими знаниями, и верьте, что любое усилие, приложенное при обучении, поможет вам создать прочную базу знаний, куда бы вас ни занесла ваша карьера. ▪ 6. Вам лень или сложно думать Если вам лень думать, и долгие мыслительные процессы о конкретных вещах кажутся вам изнурительными, вы точно никогда не станете успешным программистом. Программирование заставляет нас думать. Люди, в принципе, легко справляются с этим, но на самом деле, хоть мы и думаем постоянно, иногда нам очень лень пошевелить мозгами. Очень сложно долгое время сохранять концентрацию при решении одной проблемы, если вы не привыкли это делать. Симптомами могут быть: пустой взгляд на экран, ощущение, будто в вашей голове туман, прокрастинация, перещелкивание вкладок браузера и отчаянный поиск решения на StackOverflow. Всё это признаки того, что вы столкнулись с психологической преградой, которую нужно преодолеть. Вы будете уставать во время программирования. Мыслительные процессы сжигают нашу энергию не хуже физических упражнений. Если вы не привыкли прилагать умственные усилия, когда это необходимо, то вам сложно будет сохранять свою концентрацию. Этот процесс схож с занятиями в спортзале: чем больше вы занимаетесь, тем сильнее становитесь. Ваш мозг — мышца: Представьте, что ваш мозг — это мышца. Чем чаще вы им пользуетесь, тем лучше и эффективнее он думает. Когда вы поймете это и разработаете психологические правила работы, находить решения станет гораздо проще. ▪ 7. Вы не можете думать самостоятельно Если вы ждете, что кто-то подумает за вас, и вы не хотите сами обращать внимание на детали, вы никогда не станете успешным программистом. Когда вы изучаете что-то новое, очень часто может казаться, что вам не хватает знаний и опыта, чтобы иметь свое мнение. Проявление инициативы или какие-либо ошибки кажутся вам рискованными У каждого из нас есть внутренний страх допустить ошибку. Если этот страх перед ошибкой уничтожает ваши интерес и любопытство, вы подавляете свою способность получать реальные знания, которые получаются путем проб и ошибок. Если вам нужен совет “гуру”, популярного блогера, готовое решение или ответ из учебника, вы не получаете настоящих знаний о программировании. Вам нужно самому понимать, что будет работать, а что нет. Вы должны понимать, почему ваше решение сработает, и каковы его достоинства. Вы должны иметь конкретную точку зрения, которая не ограничивается очевидными понятиями. Вы должны уметь отстоять свое мнение. И даже если вас убедят его изменить, вы сможете понять и отстоять новую точку зрения. Думайте сами: Формируйте собственное мнение, основанное на вашем опыте и критическом мышлении. Делайте обоснованные предположения, отстаивайте свою позицию, но будьте готовы изменить мнение, если появляется новая информация. ▪ 8. У вас ограниченное, узкое и беспорядочное мышление Если ваше мышление ограничено, и вам сложно содержать в порядке код, а также ваши мысли, вам никогда не стать успешным программистом. В учениках я иногда замечаю две крайности. Первая — это ограниченное и узкое мышление. Такие ученики не принимают помощь, и ничего не меняют, несмотря на советы. Они видят ситуацию только с одной стороны и игнорируют все предложения. Вторая крайность — это беспорядочное мышление. Такие ученики всё слишком усложняют, их код слишком запутанный и непонятный. Они начинают мудрить и пишут 100 строчек кода, когда хватило бы и 10. В комбинации эти два образа мышления дают ограниченный подход к программированию, что-то вроде метода “грубой силы”, который ведет к появлению всё новых фиксов и “костылей”. В таком случае нужно вернуться к решению задачи, повторно его проанализировать, отказаться от первоначального подхода и начать всё заново. Если вы не видите других вариантов решения или не слушаете советов, вы на корню рубите свою возможность расти и развиваться. Беспорядочное мышление замедляет вашу работу и не позволяет вам увидеть решения, которые в иной ситуации были бы очевидны. И в итоге общее качество вашей работы снижается. Самоанализ: Вы должны сделать шаг назад и посмотреть в общем на то, как вы подходите к решению задачи. Как вы можете улучшить свой подход? Есть ли у вас возможность упростить себе жизнь? Возможно, вы упускаете что то полезное. ▪ 9. Вы ищете “правильное” решение, не понимая, что есть спектр “хороших” и “плохих” решений Если для вас цель программирования — это поиск единственно правильного решения, а не нескольких подходящих решений, вы никогда не станете успешным программистом. Когда мы только начинаем изучать программирование, ученики часто спрашивают, “правильно” ли они всё делают. Ответ на такой вопрос будет: “Когда как”. В компьютерной науке всегда важно находить компромисс. Какой вариант решения лучше в данных условиях? Всё зависит от условий и ваших целей. Если для вас программирование — это тест, в котором есть только верные и неверные ответы, вы не видите общей картины и не используете творческий потенциал. Любое решение может быть “правильным”, если вы можете обосновать его в данных условиях. На самом деле программирование можно сравнить с написанием поэма или рассказа (или даже романа, если программа большая). В вашем коде может присутствовать эстетика и красота, которую можете разглядеть только вы и другие программисты. Причины, которые подтолкнули вас к этому решению, и ваш способ поиска этого решения важнее, чем “правильный” или “неправильный” способ. Творческое мышление позволяет вам играться с различными вариантами и возможностями, а не упираться в один-единственный способ решения. В этом и есть красота программирования: существует множество способов решения, и, держа в уме несколько вариантов, вы сможете найти самый подходящий в данной ситуации. Мыслите творчески: Поймите, что существует множество путей решения проблемы. И со временем, благодаря опыту и знаниям, вы сформируете четкое понимание, какое решение будет лучше других. Понимание общей картины, представление разных вариантов решения и доверие своему внутреннему голосу позволят вам находить подходящие решения, которые будут приносить вам удовольствие. ▪ 10. Вы не уделяете внимания деталям Если вы игнорируете детали и не замечаете мелочей, вы никогда не станете успешным программистом. Компьютеры — точные машины. Про программировании вы должны давать компьютеры необходимые команды в точности так, как их должен понять компьютер. Если вы не сделаете этого, ничего не будет работать. Нет средней позиции, когда программа почти работает. Она либо работает, либо нет. Это значит, что при программировании вы обязаны уделять внимание деталям. Каждому пробелу, каждой скобке, каждой точке с запятой. Если что-то не на своём месте, программа не будет работать. Если компьютер выдаёт сообщение об ошибке, вы должны, глядя на сообщение, точно понимать, о чем оно говорит. На самом деле, если вы пропустите такую мелочь, вы можете потратить несколько часов на поиск проблемы, которая произошла всего-лишь из-за опечатки. Говорят, дьявол в деталях. И в программировании это действительно так. Обращайте внимание на детали: Детали имеют значение, и вы должны усвоить это. Когда вы это поймете, вы будете всегда проверять, все ли символы на своих местах в вашем коде. Вы сможете грамотно выстроить свой код и использовать инструменты, которые помогут вам быстрее устранять недочеты. ▪ 11. Вы думаете только о бизнесе Те, кто слишком часто думают о бизнесе, больше сконцентрированы не на процессе программирования, а на результате. Они хотят получить “рабочее приложение”, которое поможет им реализовать их бизнес-идею. Они хотят “первыми выйти на рынок”, и длительное обучение для них — это преграда, мешающая запустить бизнес. Нетерпеливость замедляет процесс обучения. Есть много людей, для которых технология — это средство достижения результата, а не область знаний, которую нужно исследовать и получать от этого удовольствие. Как следствие, ученики, которые были более склонны к бизнесу, но имели проблемы с изучением программирования, часто искали работу в качестве фрилансеров. При этом они брались за заказы, с которыми не могли справиться самостоятельно! Они экстренно искали ресурсы и шаблоны, подходящие для клиента или же передавали заказ кому-то ещё. Они ничего не понимали в программировании, но очень легко находили людей, готовых платить им за разработку программ! 📝 А с какими проблемами из этого списка сталкиваетесь конкретно Вы ? Напишите в комментариях. #article@physics_math #программирование@physics_math #it@physics_math #образование@physics_math #мотивация@physics_math