Как не бросить учебу и стать программистом? 7 важных правил
Данное правило является самым важным. Если вы ожидаете быстрых результатов с минимальными усилиями, то можете прекратить обучение прямо сейчас и даже не пытаться продолжать. Необходимо понимать, что даже самая простая профессия на профессиональном уровне требует длительного обучения и значительных усилий. В народе говорят о правиле "10000 часов", согласно которому для достижения успеха в определенной области деятельности необходимо потратить 10 тысяч часов на практику и обучение. Конечно, для позиции junior понадобится меньше времени, однако очевидно, что существуют профессии, в которых можно что-то зарабатывать, не обладая достаточными знаниями или навыками. Однако, такая работа ничего достойного не принесет вам в плане оплаты. Здесь вам либо нужно хитрить, либо действительно уметь программировать. Честно говоря, достойные зарплаты не выпадают просто так. Учиться придется много, и надо понимать, что этот путь будет долгим. Для кого-то потребуется больше времени, для кого-то меньше, но всем придется работать.
Второе правило вытекает из первого. Если вы хотите пройти путь до конца, то без дисциплины тут вообще никак не обойтись. Если ты занимаешься обучением два раза в неделю, то, скорее всего, тебе и 5 лет не хватит. Я убеждён, что заниматься каждый день по чуть-чуть гораздо эффективнее, чем, например, один раз в неделю, но вы просидите за компьютером весь день. Метод интервального обучения. Наверное, пока что это лучшее, что придумали для обучения, ну по крайней мере, я не знаю чего-то лучше.
В третьем пункте хотелось бы упомянуть о фанатиках, которые начинают обучение с полным энтузиазмом, проводя за компьютером целые дни, в надежде, что таким образом учебный процесс будет идти быстрее. Возможно, до определенной степени проведение большего времени за обучением поможет вам быстрее освоить программирование, но в таком случае вы рискуете выгореть, и это может произойти очень быстро. Просто так, в одно мгновение. И поверьте, если вы не сталкивались с явлением выгорания, это не значит, что оно не существует. Люди доходят до такой степени, что потом не только не хотят приступать к обучению, но даже просто думать о нем становится противно. Здесь важно понимать, что, например, проведение 8 часов за компьютером, играя в игры, и проведение 8 часов за учебой - это совершенно разные нагрузки для организма. В одном случае вы развлекаетесь и получаете эмоции, а в другом приходится заставлять себя учиться. Обучение иногда воспринимается как принуждение. Есть, конечно, люди, которые учатся с энтузиазмом и получают удовольствие от процесса. Однако, будем честными, таких людей - меньшинство. Давайте приведем простые аналогии для пояснения этой идеи.
Если вы начинаете ходить в спортзал и занимаетесь там каждый день по 2-3 часа, скоро вам надоест, и вы забросите тренировки. То же самое с иностранным языком - если вы занимаетесь каждый день в больших объемах, скорее всего, вы через месяц или даже раньше перестанете его изучать. Я думаю, что многие уже сталкивались с подобной ситуацией. И это же относится и к программированию. Лучше начинать с малого и постепенно увеличивать темпы. Постепенность помогает организму привыкнуть, и с каждым днем делать обучение все легче. Не нужно себя резко нагружать, все должно происходить постепенно. В какой-то момент вы привыкнете к регулярному обучению и даже начнете интересоваться процессом, особенно когда заметите свой прогресс. В итоге, самое важное - это дисциплина, но без фанатизма. Все нужно делать постепенно.
И на этом этапе я хотел бы упомянуть о регулярных занятиях спортом, которые являются неотъемлемой частью здорового образа жизни. Если не заниматься спортом регулярно, напряжение в спине и шее, а также головные боли могут привести к перегрузке организма. Все негативные последствия сидячего образа жизни станут ощутимы со временем. Кроме того, хочу повторить, что проводить 8 часов за компьютером, играя и проводить 8 часов за компьютером, работая или учась, — это совершенно разные вещи.
Важно понять, что математика, физика и программирование - это науки, которые доступны каждому, вне зависимости от их технического склада ума или знания математики. Часто слышу утверждения о том, что без соответствующего образования сложно стать программистом. Однако я не согласен с таким мнением.
У меня есть множество примеров, когда люди без технического образования, в том числе и гуманитарии, а также пожилые люди, успешно стали разработчиками. Хотя хорошее логическое мышление, базовые знания математики и понимание основ программирования могут ускорить процесс обучения, это не значит, что без них невозможно научиться чему-то новому.
Математика играет важную роль во многих областях программирования, в том числе в машинном обучении. Но даже в этом случае каждый может разобраться, если приложить достаточные усилия. В большинстве сфер программирования важно знать язык программирования, его структуру, основные фреймворки и библиотеки.
Таким образом, не стоит ограничивать себя предубеждениями о том, что технические науки не для вас. С достаточной мотивацией и усердием каждый может освоить новые навыки и стать успешным в программировании. В бизнес коде нет супер сложных вычислений, формулы и прочего, там исключительно объем ваших знаний. Архитектурные моменты — это все можно изучить точно так же, как вы изучаете какой-нибудь иностранный язык. Ваша задача состоит в решении бизнес-задач, за что вам платят деньги. Обучить абсолютно любого человека этому можно, за исключением, возможно, редких случаев, когда люди совсем не поддаются обучению. Однако такие люди, вероятно, не проявляют интереса к этой идее. Избавляйтесь от синдрома самозванца, это, наверное, худшее, что только может быть.
Переходим к шестому правилу, и это правило самое важное по качеству обучения. Могу сказать, миллион раз, чем больше практики и меньше теории. Делайте проекты, хотите освоить новую библиотеку, сделайте небольшой проект, хотите изучить фреймворк, сделайте проект, хотите понять алгоритм, решите задачи, хотите понять, как работают структуры данных (например, деревья, графы, списки), попробуйте реализовать их самостоятельно. В интернете есть вся информация, но недостаточно просто ее прочитать, попробуйте руками все это самому реализовать с нуля. Лучше один раз реализовать свое бинарное дерево с нуля, чем прочитать про него 20 раз. Если вы учили теорию, смогли пройти собеседование, но как дело дошло до написания кода, человек теперь начинает переживать за то, что его выгонят. Это все банально, просто на этапе обучения нужно было решать реальные задачи.
Мы все прекрасно используем какие-то приложения и прекрасно знаем, какие задачи они решают, попытайтесь сделать что-то похожее, начните с нуля, с малого, но научитесь писать код. Возможно, ты не будешь знать, как, например, работает замыкание в and look, то что могут спросить у тебя на собеседованиях, но лучше ты сможешь писать действительный прикладной код. И теория тогда раз в десять будет лучше ложится на практику. Когда ты неоднократно применяешь promise на практике, ты становишься намного лучше понимать теорию, которую ты читаешь об этом promise. Это помогает повысить качество и глубину твоего понимания этой концепции. Осваивать теоретические концепции нужно через практику. Можно 50 раз прочитать про интегралы, 50 раз запомнить формулы нахождения интеграла, но как только сядешь решать задачу, не вспомнишь, что читал, не вспомнишь формулу, все забудешь. Зато, если решить 10 задач с интегралом, запомнишь эти формулы, возможно, до конца жизни, а теорию сможешь рассказать заодно. Здесь, думаю, все понятно, практика на первом месте.
Заключительный седьмой пункт - это резюме. Составьте нормальное резюме, примеров в интернете полно. Многие почему-то не понимают, что их оценивают по резюме. Резюме в данном случае это ваше лицо, вы можете быть гениальным разработчикам, но какой от этого толк, если у вас паршивое резюме, и вас не хотят звать на собеседование. Пожалуйста, уделите достаточно времени и внимания этому вопросу. Помните, что в первую очередь ваше резюме смотрит отдел кадров, и именно отдел кадров определяет, попадете вы на собеседование или нет. И в большинстве случаев люди там сидят, которые в программировании ничего не понимают. На этом все. Друзья, старайтесь следовать этим 7 правил, и вы обязательно получите то, к чему стремитесь.