Каково это изучать программирование самостоятельно?

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

"Любая достаточно развитая технология неотличима от магии." - Третий закон Кларка

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

Добро

Обучение программированию дает множество преимуществ. Вот тройка лучших для меня.

Вы можете изучить новый навык

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

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

Более того, программирование - это не просто какой-то другой навык. Учит думать иначе. Компьютеры понимают только логику. Вы не можете быть более или менее точными. Ваши команды должны быть точными.

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

У тебя больше возможностей

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

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

Но вы можете найти и другие причины, по которым обучение программированию может быть отличной идеей. Прежде всего, этот навык дает вам одно большое преимущество: гибкость.

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

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

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

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

Программирование - это весело

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

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

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

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

Плохо

Некоторые моменты в жизни начинающего программиста бывают неловкими. Вот три моих главных препятствия.

Программирование - это сложно

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

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

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

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

Так что не позволяйте никому вводить вас в заблуждение: программировать нелегко, и это не для всех.

Программирование занимает много времени

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

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

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

Синдром самозванца сильно бьет по тебе

"Я недостаточно хорош. Мне нужна степень. Я слишком тупой. Эти мысли будут сопровождать вас годами. Это серьезное препятствие для программистов-самоучок - они чувствуют себя хуже «настоящих программистов» с дипломом IT.

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

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

Уродливый

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

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

Заключение

Как вы себя чувствуете? Стоит ли учиться программировать? Для меня это того стоило. У меня есть работа, которая мне нравится, и я узнал больше вещей, чем мог себе представить. Если вы все еще не уверены, попробуйте. Возможно, вам понравится программирование.