Найти тему

Как стать программистом ТОП 5 причин почему у вас не получается

Бинарный салют друзья! На связи снова Инженер Спок!

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

Лайкосы / Подписки / Курсы

В интернете, не в последнюю очередь, благодаря маркетологам GeekBrains, SkillBox и иже с ними, бытует мнение, что программированию может научиться каждый и что, мол, это вообще всё легко и просто. Достаточно занести им сто тысяч рублей и, вуаля, через пол-года-год вы не просто «научитесь программированию», а станете настоящим программистом, устроившись на работу. Замечу, что требований к будущим студентам, как правило, вообще никаких не предъявляется. Получается, что любой дворник или домохозяйка с тремя классами образования может без особых проблем получить профессию программиста.

Для начала я хочу внести ясность в определение «научиться программированию». А что это вообще означает? Когда вы пишете «хеллоу ворлд» вы, в принципе, программируете. Можно ли сказать о человеке, умеющем писать «хеллоу ворлд», что он «научился программированию»? Отнюдь. Тут, конечно, кроется подвох. Писать «хеллоу ворлды» может научиться действительно каждый за исключением умственных инвалидов. Обычные умственно здоровые люди, даже с тремя классами образования, могут гораздо больше, чем хеллоу-ворлд. И тут мы подходим к другой границе. А как далеко могут уйти в программировании такие люди?

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

Открою секрет как в таком случае отрабатывают претензию скиллбоксы с гикбрэйнасами.

Они успокаивают, говорят, что всё у вас получится, вот вам решение, кладут его в рот и даже могут разжевать. Человек, когда видит решение, мгновенно понимает, что, блин, решение-то и правда простое. И так повторяется до конца курса N раз. Человек получает сертификат. Теперь зададимся вопросом: «научился ли такой человек программированию?» Ответ, я думаю, очевиден, ибо такой специалист по-прежнему не способен к абстрактному мышлению и самостоятельному решению задач.

Это не делает эти компании плохими, речь тут идёт о другом: о том, что не каждый может стать программистом.

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

в первую очередь вам необходимо подписаться на ютуб-канал AvitoTech и, в частности, начать смотреть уникальный курс по паттернам и практикам написания кода. Теперь этими знаниями AvitoTech делится совершенно бесплатно. Курс будет полезен.
- тем, кто неплохо изучил один или несколько языков программирования и теперь хочет разобраться в практиках и подходах к разработке.
- тем, кому интересно, как работать с небольшими и крупными проектами
- тем, кто хочет прокачать свои знания до синьора и понять, что же представляет из себя ООП на самом деле
- тем, кто хочет понять, какие возможности предоставляет ООП и чего можно с помощью него добиться.
Видео на курсе - универсальны. Независимо от используемого ВАМИ языка программирования они будут полезны каждому, кто пишет код.
Подписывайтесь на канал AvitoTech, там очень много всего интересного и полезного, всё как вы любите. И обязательно смотрите курс по паттернам и практикам написания кода. Ссылку я оставлю в описании.

Итак, почему же, окунаясь в программирование, даже вменяемые люди испытывают трудности?

На то есть несколько причин.

  1. Сваливается невероятное количество новых знаний. Эта причина характерна, разумеется, не только для программирования, однако программирование одна из тех областей, широта которых превосходит все мыслимые и немыслимые пределы. Каждая вторая книга на добрую тысячу страниц по любой мало-мальски значимой теме.При интенсивном погружении, а сегодня все хотят вкатиться в АйТи не за пять лет, а максимум за год, приводит к тому, что человек ощущает себя выброшенным посреди океана. Это давит психологически. Чтобы въехать на должном уровне в программирование, вам придётся ознакомиться с таким количеством тем, что, если просто начать их перечислять, вся статья уйдёт лишь на это. Далеко не все люди на планете готовы такое количество времени посвящать учёбе. А самое «неприятное» заключается в том, что после вкатывания в айти, вам придётся продолжать учиться и делать это на протяжении всей карьеры. Интенсивность, при желании, правда, можно будет понизить. Но если захотите на самый верх – то лет десять придётся вкалывать как лошадь.
  2. Айтишные профессии сегодня, несмотря на всевозможные кризисы, являются одними из самых востребованных, и, поскольку, все хотят вкатиться в АйТи, вокруг этой темы появляется огромное количество компаний, коучей, блогеров, которые хотят на вас заработать. Само по себе это неплохо, мы живём при капитализме: есть спрос – есть предложение. Проблема заключается в том, что не все йогурты одинаково полезны, и, изучая C# по мануалам Гоши Дударя, вам впоследствии придётся переучиваться.
  3. Третья проблема проистекает из второй. Когда вокруг столько предложений научить вас программированию – как выбрать адекватные источники информации, где если и косячат, то минимально? Вопрос непраздный и, если честно, простого ответа на этот вопрос у меня нет.
  4. Необходимость самостоятельно осмысливать и решать поставленную задачу длительное время. На самом деле, оказывается это очень серьёзная проблема. Далеко не все готовы часами решать одну и ту же задачу без достижения результата. Однако в программировании, такое происходит сплошь я рядом. Особенно, когда в этом деле вы ещё совсем зелёный. Помню, как на первом курсе, я решал два дня одну задачу по матану. Мне было принципиально никуда не лезть, никого не спрашивать, да и если честно, на тот момент, я даже не знал кого спрашивать и где найти ответ. Через двое суток я нашёл решение и был очень-очень рад. Стоит ли говорить сколько ещё на курсе было таких же упёртых студентов, добившихся результата? Всего человека 3-4. В программировании, вы нередко встречаете проблему, над решением которой можно думать пару дней. Все профессиональные программисты сталкивались с этим внезапным озарением в душе, когда в голову приходит решение. С уверенностью могу сказать, что далеко не все готовы к такой профессии.
  5. Отсутствие привычки искать решение проблемы всеми возможными способами.

Частенько я получаю вопросы на курсе из разряда: «после установки postgresql у меня вылезла такая-то ошибка при подключении к серверу – как это исправить?»

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

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

Какие в целом можно дать рекомендации по изучению программирования?

  1. Составьте план и график. Нельзя учить программирование один раз в неделю или месяц. Вы должны стараться это делать регулярно и не брать перерывы. Объем изучения очень велик и если вы будете редко заниматься программированием, то вы просто начнете забывать, что и как делать.
  2. Старайтесь использовать разные источники для изучения программирования. Вы можете купить платные курсы и найти в Интернете бесплатные. Одновременно, не впадайте в состояние бесконечной закачки курсов и книг на диск. Это уже целый вид прокрастинации, когда вы только и делаете, что качаете книги и курсы, но не приступаете ни к одному из них.
  3. Постарайтесь найти ментора, который уже состоялся в программировании. Я учился без ментора и это сильно меня тормозило, потому что мне приходилось бегать на форумы со своими тупыми вопросами и не всегда я получал на них квалифицированный ответ.
  4. Не бросайте программирование при первых трудностях. На первых порах вам может показаться, что программирование это очень сложно и вообще не ваше. Все программисты в начале своего пути сталкивались с этим. Даже опытные программисты частенько страдают синдромом самозванца.
  5. Учите английский язык. Без знаний английского вы автоматически оказываетесь отрезанным от 90% знаний, произведённых человечеством. Наиболее качественные и квалифицированные ответы на ваши вопросы изложены именно на английском языке. Будь то вопрос общего характера или вопрос касательно конкретной ошибки компиляции.

Подведём итоги

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

На начальных этапах может показаться, что программирование — это очень сложно, так как требуется собрать кучу знаний в единую картину, привыкнуть к абстрактному мышлению и к исключительно логическому подходу к решению задач. Однако, при старании и упорстве, вы сможете достаточно быстро преодолеть этот этап. И если вы думаете, что начальный этап самый сложный, как бы не так. Дальше последуют этапы «скала растерянности» и «пустыня отчаяния», которые преодолевать будет ещё сложнее. Хотя определённое вооружение к этому моменту у вас уже будет иметься.

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

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

Ну а я, как всегда, хочу напомнить, что абсолютно все статьи пишу с единственной целью – как следует на вас заработать. Поэтому срочно идите по ссылке и покупайте все мои курсы по программированию. До скорого!

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц