Это вполне может быть результатом вашего пятого поиска в Google. Путь, который начался с вашего оптимизма и поискового запроса типа "Как мне научиться программировать за неделю?"

Но теперь ты здесь. Ищите подтверждение обратного. Окончание здесь является неизбежным исходом для некоторых. Но почему?

Программировать тяжело. Программировать сложно.

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

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

Я прав?

Не чувствуй себя плохо. Это не ты, это код.

Я видел, как выпускники программных инженеров ломались, пытаясь настроить свои системы для работы на C++. Те же выпускники бились головой о стену, пытаясь понять, почему их импорт Python не работает.

Они, как и вы, безнадежно заблудились еще до того, как доберутся до уютных удобств редактора с его красочным текстом на темном фоне (Да, Дракула), автодополнением и автоотступом. Так что простое «Hello World» кажется лунным выстрелом, верно?

1. Требуется тонна настойчивости

Означает ли это, что умение программировать дано лишь немногим? Нет, не совсем. Но держу пари, что большинство из тех, кто умеет программировать, сделали около 10 000 поисковых запросов в Google и часами просили помощи на Stackoverflow. Это сводится к настойчивости.

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

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

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

Тут же, в радости после решения одной проблемы, вас настигает следующая, более крупная проблема. Не как легкий джеб, а как апперкот. Прямо в лицо. Вы ложитесь?

Нет. Ты снова встаешь. Вы не можете быть обескуражены. Это название игры.

TL;DR Вы тушите пожары, которые разжигают новые пожары, разжигают новые пожары… Вы понимаете. Продолжайте бороться с пожарами.

2. Ваши ожидания завышены

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

Бьюсь об заклад, вы можете это сделать. Я уверен, что у вас есть настойчивость и смекалка, необходимые для успеха — в соответствии с их критериями.

Но каковы ваши ожидания?

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

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

Я программирую с 10 лет, а сегодня мне 30 лет. Это долгое время, и я даже близко не похож на кодера-волшебника.

TL;DR Вы не станете звездным программистом, пройдя онлайн-курс. Инвестируйте 5 лет, и вам еще предстоит многому научиться.

3. Вы потеряете концентрацию

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

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

Я понимаю вашу рационализацию.

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

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

TL;DR Фокус. То, что дает вам возможность строить великие дела, вероятно, заставит вас потерять фокус на цели.

4. Программирование — это решение проблем, а не написание

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

Как это может пойти так неправильно? Они молоды, целеустремленны и открыты для изучения нового.

Перспектива.

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

Кодированию не говорят, что делать и какой синтаксис использовать.

5. Неправильные причины

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

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

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

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

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

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

Если вы хотите узнать больше, загляните на наш сайт busywork.co.

Первоначально опубликовано на https://blog.busywork.co 30 августа 2019 г.