Я ужасный программист. Что мне с этим делать


Оглавление (нажмите, чтобы открыть):

Я ужасный программист. Что мне с этим делать?

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

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

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

1. Обращаетесь с debug на «вы»

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

Чтобы видеть системные сбои ещё до их появления, рекомендуем использовать утверждения в коде (assertions). Научиться использовать debug-приложения достаточно просто, так удастся пошагово проследить стабильность работы кода на всех этапах. Важно понимать принцип работы всех строк кода по отдельности, а затем составить в голове или на бумаге схему действия.

2. Отсутствуют навыки хорошего проектирования программы

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

3. Нет понимания принципов исполнения кода в системе

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

4. Не можете взаимодействовать с чужим кодом

Разобраться в постороннем коде действительно бывает сложно, но есть несколько советов, способных помочь внести ясность:

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

5. Вам недостаёт усердия

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

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

6. Вы себя недооцениваете

Если у вас есть решимость браться за тяжёлые проекты и внимать в составление алгоритмов, у вас есть большой потенциал. Реализовать поставленные задачи возможно только за долгое время, которое явно превосходит изучение алгоритмов. Если недостаточно решимости даже для вникания в суть, то программировать вам не стоит. Ещё больше времени может занимать отладка – это нормальный режим работы программиста.

7. Вы наступаете на те же грабли

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

8. Нет удовольствия от работы

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

Предупреждаем! В современном интернете есть масса решений различных задач, с которыми пользователи часто сталкиваются. Велико искушение просто использовать чужой код, но так вы не извлечёте урок. Лучше всё же потратить время и найти решение самостоятельно, это поможет понимать принцип действия программы, а возможно и удастся найти лучший способ достижения задачи. Также рекомендую попробовать использовать всего 2-3 источника для ознакомления с возможностями языка. Такой подход позволит концентрировать внимание на пути решения проблемы и поможет вам стать профессионалом с глубоким пониманием принципов работы программ.

10 признаков того, что программирование не для вас

Часто на Reddit или Quora я вижу вопросы “Как понять, что я могу стать хорошим программистом?”. Такие вопросы о программировании часто всплывают, когда люди задумываются о переменах в карьере и хотят знать, что для этого нужно.

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

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

За 2 года, в течение которых я веду курсы, я видел разных студентов, которым обучение давалось тяжело. И причины их трудностей часто были одни и те же. Если в этом списке вы найдете признаки, относящиеся к вам, будьте уверены, программирование точно не для вас, и вам стоит найти другое занятие. Но если вы всё же задались целью стать программистом, вы легко можете справиться с этими проблемами и изменить себя.

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

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

1 | Вам не хватает любопытства

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

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

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

Найдите свои интересы: Спросите себя, действительно ли вас интересует программирование? Если ваш честный ответ “нет”, найдите что-нибудь другое, что будет вам более интересно. Поберегите время и силы. Но если ответ “да”, заставляйте себя постоянно находить что-то новое, чего вы раньше не замечали. Познайте этот огромный океан и погрузитесь ещё глубже.

2 | Вам не хватает самостоятельности и гибкости

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

Вне сомнений, для того, чтобы стать успешным программистом, вы должны быть уверены в СВОЕЙ способности учиться. Это очень важный навык —после 18 лет никто не обязан вас ничему учить. Это реальность. Вам самим нужно искать необходимую информацию и помощь, чтобы учиться чему-то важному.

В мире программирования вся необходимая информация находится в волшебном месте, ранее известном как Информационная Супер-Автострада. Это внушительная библиотека с одним огромным входом: Google. Понимание, что вы просто можете ввести что хотите в Google и получить нужную информацию, — ваша первая задача при изучении необходимых для программирования навыков.

Вы должны не только умело пользоваться Google. У всех языков программирования есть документация и инструкции, в которых предельно ясно объясняется, как работает язык. Это как пользоваться словарем — когда вам встречается незнакомое слово, вы ищете его там. Чтение документации — самый быстрый и надежный способ развить навыки программирования. В ней есть буквально всё.

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

3 | Нехватка настойчивости при возникновении проблемы

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

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

Перспектива решения этой кучи проблем может быть пугающей и обескураживающей. Если вы считаете, что всё должно “просто работать”, тогда у вас не будет запала продолжать работать, когда проблемы продолжат возникать и потихоньку подтачивать вашу силу воли. И это и есть ваша работа: выяснить, почему программа не работает.

По моему опыту работы, в классе обычно есть 1–2 ученика, обладающих, похоже, удивительной способностью сталкиваться с большим количеством проблем, чем другие. Часто это просто случайные и скрытые проблемы. Я напоминаю студентам, что чем больше проблем встаёт перед ними, тем больше у них возможностей учиться. Если, решая эти проблемы, они понимают что-то новое, они будут чувствовать себя увереннее, так как решили больше проблем, чем “средний” студент.

Терпеливое принятие: Вам нужно понять, что проблемы — неотъемлемая часть работы. Да и вообще это не проблемы, а, скорее, вызовы. Каждый вызов, который вы принимаете и разрешаете, даёт вам более глубокое понимание, способность лучше воспринимать новые вызовы и справляться со старыми.

4 | Вы не чувствуете удовлетворения после решения проблемы.

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

Отсутствие “позитива” после успешного решения проблемы относится к предыдущему признаку — быстрому отказу от поиска решения. Когда устранения багов и недочетов становится бесконечной рутиной, вы забываете об удовольствии, которые приходит при решении проблемы.

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

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

5 | Вы нетерпеливы при обучении и понимании чего-либо

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

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

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

Мастер Йода рекомендует:  Учимся понимать гистограммы изображения в низкой и высокой тональности

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

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

6 | Вам лень или сложно думать

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

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

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

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

Ваш мозг — мышца: Представьте, что ваш мозг — это мышца. Чем чаще вы им пользуетесь, тем лучше и эффективнее он думает. Когда вы поймете это и разработаете психологические правила работы, находить решения станет гораздо проще.

7 | Вы не можете думать самостоятельно

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

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

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

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

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

8 | У вас ограниченное, узкое и беспорядочное мышление

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

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

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

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

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

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

9 | Вы ищете “правильное” решение, не понимая, что есть спектр “хороших” и “плохих” решений

Если для вас цель программирования — это поиск единственно правильного решения, а не нескольких подходящих решений, вы никогда не станете успешным программистом.

Когда мы только начинаем изучать программирование, ученики часто спрашивают, “правильно” ли они всё делают. Ответ на такой вопрос будет: “Когда как”.

В компьютерной науке всегда важно находить компромисс. Какой вариант решения лучше в данных условиях? Всё зависит от условий и ваших целей. Если для вас программирование — это тест, в котором есть только верные и неверные ответы, вы не видите общей картины и не используете творческий потенциал. Любое решение может быть “правильным”, если вы можете обосновать его в данных условиях.

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

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

10 | Вы не уделяете внимания деталям

Если вы игнорируете детали и не замечаете мелочей, вы никогда не станете успешным программистом.

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

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

Говорят, дьявол в деталях. И в программировании это действительно так.

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

Бонус: Вы думаете о бизнесе

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

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

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

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

Вывод

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

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

Почему так тяжело учиться программировать

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

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

Изучая различные языки, фреймворки, технологии одну за одной, легко забыть, насколько устрашающе выглядит программирование для человека, с ним не знакомого. Начало обучения, которое обычно включает в себя изучение какого-либо языка программирования, многих пугает настолько, что они сдаются. К примеру, вот «Hello, World!» на Java — широко известном языке, который стал промышленным и образовательным стандартом:

Когда я впервые написал эти строки, я абсолютно не понимал, что происходит. Я мог только догадываться о значении слов вроде println . Я начал искать в сети значения остальных слов и натыкался на такие понятия, как классы, методы, модификаторы доступа, массивы строк и return даже в самых примитивных объяснениях. И насколько простым бы ни было это объяснение, даже читать его было страшно, не говоря уже о том, чтобы запомнить, о чем там написано.

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

4 октября 2020 – 1 марта 2020, Москва и онлайн, беcплатно

Я хотел бы обратить внимание на то, с чем сталкивается человек, когда только начинает учиться. Кроме изучения синтаксиса совершенно незнакомого языка, новичкам приходится знакомиться с методами решения задач, которые далеки от реальной жизни (вложенные циклы, рекурсия), с фундаментальными понятиями (ООП), вырабатывать правильные привычки, запоминать множество готовых решений, изучать API. Все это, особенно без хорошего преподавателя, не только заставляет учащихся работать на пределе своих возможностей, но и сильно демотивирует, поскольку нет надежды, что дальше будет легче. В конце концов, нельзя судить их за тот негатив, который они испытывают в начале пути.

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

В заключение я хочу сказать всем, кто сейчас учится программировать: неважно, что вы изучаете, чувство потерянности — это нормально. Люди уделяют гораздо меньше внимания изучению основ, чем изучению более сложных вещей — и это тоже нормально. Чувство «я ничего не смогу» со временем сменится на «я просто этого еще не знаю», но для этого нужно набраться опыта и познакомиться с программированием в целом. Хороший программист — не тот, кто знает все вдоль и поперек, а тот, кто способен быстро адаптироваться в новой технологии.

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

Я ужасный программист. Что мне с этим делать?

У вас когда-нибудь возникало чувство, что вы плохой специалист? У Алисии Лю, старшего инженера-программиста в Lift Worldwide, такое случалось. В своей статье на Medium она говорит, что во всем виноват синдром самозванца. Пост пятницы — нелегкая история женщины, которая просто хотела быть великим программистом.

Как я перестала бояться и полюбила программирование

Со стороны кажется, что я неплоха в разработке. Начала делать сайты в 15. Ходила на курсы программирования и веб-дизайна в моей технологически ориентированной средней школе. Была принята в первый же выбранный университет, специализировалась на вычислительной технике. Прошла отличную стажировку в технологическом гиганте. Написала код, которым пользуются миллионы людей. Окончила с отличием. Основала софтверный стартап.

Мастер Йода рекомендует:  Лекция 1. Что такое ASP.NET. Инсталляция и тестовый проект.

Я все делала правильно, но не считала себя хорошим программистом.

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

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

Несмотря на академические и профессиональные достижения, женщины, страдающие от синдрома самозванца, продолжают верить, что они ничего из себя не представляют, и просто сумели одурачить тех, кто думает иначе. На мнение «самозванца» не влияют объективные доказательства.

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

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

Хорошие программисты знали много, а я — мало. Я просто не понимала, как кем-то могу стать с такими качествами.

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

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

У программирования есть две особенности. Первая — по мере работы вы гарантированно узнаете новые вещи. Технологии меняются с невероятной скоростью. Кое-кто постоянно чувствует себя отстающим, при этом объем материалов для изучения растет.

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

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

Со временем я поняла, что между мной и хорошим программистом нет невидимого барьера.

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

Два года назад я вернулась в программирование. Оказывается, в нем я лучше, чем в маркетинге. Я взялась за IOS, Ruby On Rails и отправилась на передовую фронтэнда. Обучение, практика и поддержка друзей и коллег позволили мне считать, что на самом деле я могу хорошо с этим справляться.

Прошло более десяти лет, и теперь я верю — я хороший программист. Как и говорили мне люди все это время.

5 признаков плохого программиста

Для многих программист – это профессия мечты. Молодые (и не очень) люди штурмуют приемные комиссии технических вузов, изучают видеоуроки и смеются над умными шутками в сообществах “Типичный программист” и подобных.

Более того, многие изучают программирование в университетах и в учебных центрах, искренне считая, что заветная корочка откроет им двери в увлекательную профессию, а представители компаний выстроятся в очередь, чтобы заполучить новоиспеченного специалиста в свой штат. Увы, так бывает редко. И причиной тому – ошибки, которые совершает сам программист.

Мы проанализировали множество высказываний работодателей и преподавателей из сферы IT и вывели 5 признаков, по которым они отличают хорошего программиста от плохого. Прочитай это, чтобы стать одним из них и не стать другим. ��

Неумение строить алгоритмы

Есть мнение: плохой программист сразу пишет код, а хороший сначала выстраивает архитектуру проекта. С этим сложно не согласиться – за 8 лет работы мы убедились, что большинство начинающих программеров не выработали привычку тщательно обдумать и структурировать задачу, которая перед ними стоит, а только затем приниматься за ее решение. Это касается и разработки системы комментариев на PHP, и калькулятора на Delphi и даже написания пресловутого “Hello, World!” на любом ЯП.

Вывод: развивай структурное мышление. Всегда разбивай крупную задачу на подзадачи. Рассуждай о коде вслух. Рисуй схемы будущего проекта на бумаге. И только затем открывай редактор. Так ты, конечно, не избавишься от багов и “костылей” полностью, но хотя бы снизишь их количество.

Отсутствие самодисциплины

Уж сколько раз было сказано, но мы повторим это снова: программирование – это не только творчество, но и тяжелый труд, требующий усидчивости, терпения и умения организовать свой рабочий процесс. Не можешь усидеть на стуле более 30 минут кодинга? Этого и не требуется – в конце концов это может навредить здоровью. Поработал – сделай перерыв, выпей чаю. Главное – функциональность: задача должна выполняться, ошибки исправляться, а весь код должен быть чистым и актуальным.

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

Впадение в крайности

Часто нам приходится сталкиваться с чужим кодом, который не компилируется. Что в этом случае сделает плохой программист? Сотрет все и начнет писать снова. Это чревато несколькими вещами:

  • Риск усугубить ситуацию. Кстати, излишне самоуверенный программер очень не любит, когда его ловят за руку при совершении ошибки.
  • Лишение себя возможности учиться, разбирая чужой код, пусть и нерабочий. Умение читать код другого специалиста – отличный навык.

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

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

Недоведение проектов до конца

Итак, ты начал изучать программирование. Это вызывает уважение. Если ты делаешь это самостоятельно, то заслуживаешь уважения вдвойне. В одно утро ты берешь тяжелую книгу и начинаешь читать. Дойдя до упражнений, решаешь, что их можно пропустить (вроде и так материал понятен), затем пропускаешь несколько глав, а через неделю понимаешь, что уже забыл, где эта книга лежит. Все – дело до конца не доведено. Узнал себя? Быстро исправляйся.


Вывод: в программировании важен процесс, но не меньшее значение имеет результат. Ты ДОЛЖЕН найти ответ на поставленный вопрос. Ты ДОЛЖЕН решить задачу, которую поставил перед тобой преподаватель или автор учебника. Ты ДОЛЖЕН закончить проект. Однажды “доведение дел до конца” войдет в привычку, и ты станешь профи.

Нежелание учиться

Сфера программирования развивается ежедневно, и использование старых методов (даже если они еще рабочие) не является признаком хорошего специалиста.

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

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

Я ужасный программист. Что мне с этим делать? . #[email protected]

Вам постоянно кажется, что вы плохой программист? Тогда мы написали эту статью для вас: https://proglib.io/p/bad-coder/

Я — ужасный программист. Что мне с этим делать?

Вам кажется, что вы очень плохой программист. Тогда эта статья — для вас! Она расскажет вам, почему вы можете так думать и что с этим делать.

Комментарии (33)

Татьяна Раевская

Я — ужасный админ. Что мне с этим делать?

Евгений Симпсонов

Я — ужасный подписчик. Что мне с этим делать?

Тёма Вайсман

Я — ужасный комментатор. Что мне с этим делать?

Библиотека программиста

Евгений Симпсонов

Библиотека программиста, ok, только гайд напишите ,как это сделать. Нужна документация, без неё не разобраться.

Александр Семёнов

Я не смог даже визуал поставить.

Мария Борозденко

Ужасные программисты таким вопросом не задаются обычно))

Саша Коган

Прочитал первый параграф, понял, что не программист вообще :С

Тёма Вайсман

Саша, Или же первый абзац?����

Роман Дворянов

Я хочу трафик на сайт. Что мне с этим делать? — копипастить дерьмовые статьи и в паблике давать кричащие заголовки

Вадим Ворон

Вы ужасная группа, что вам с этим делать? =D

Библиотека программиста

Александр Жуков

Вадим, Получать удовольствие =)

Вадим Ворон

Библиотека, да яж пошутил(

Библиотека программиста

Вадим, тогда прощаем

Максим Брусникин

Супер статья. Не стараешься — может программирование не твоё? Не получаешь удовольствие — может это не для тебя? Ты плохой программист — так ты наверно не программист. В чем смысл?

Edward Zakharov

Максим, в том чтобы убрать конкурентов)))

Максим Давыдов

Следите, пожалуйста, за тем, кому продаете рекламу у себя на сайте.

Дмитрий Бричаг

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

Дмитрий Аверин

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

Максим Давыдов

Дмитрий, с каких пор гугл продает рекламу студиям веб-моделей?

Дмитрий Бричаг

Максимъ, с тех пор как появился. Реклама — его хлеб. Вся поисковая система задумывалась именно для этого. И реклама веб-моделей не самое страшное, что он рекламирует. Хотя, безусловно, до уровня Яндекс.Директа он не опускается. Откровенные пирамиды он не рекламирует.

Алексей Мешков

Максим, а Вы поищите в гугле пылесос, да вот прямо сейчас. И в течение недели-двух наслаждайтесь рекламой пылесосов ВЕЗДЕ!

Максим Давыдов

Дмитрий, ну и самое главное — гугл знает, что я не девушка. Это больше похоже на таргетированную рекламу по региону (спб). В любом случае, не думаю, что у гугла так просто можно купить рекламу для такого бизнесе.

Алексей Мешков

Максим, чёрт! А ведь Вы правы!

Максим Давыдов

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

Дмитрий Бричаг

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

Алексей Мешков

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

Максим Давыдов

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

Дмитрий Бричаг

Максим Давыдов

Дмитрий, рискну предположить, что ты не в спб. У двух людей в треде уже такая проблема.

Сергей Новиков

А можно без мата на картинке?

Иван Бирюков

Положим, вы не написали, а лишь перевели И не статью, а ответ на кворе

О проекте

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

ОК. Куда, мать его, поступать-то? Или как я стал ненавидеть программирование

Короче, я заканчиваю 11 класс.

Сегодня я понял, что уже конец марта, а я все никак не решаюсь определится с ВУЗом, да и со специальностью даже. А фишка вот в чем. 5 лет я учился на курсах программирования (давно это было, лет с 10 начинал), сейчас зарабатываю фрилансом (сайты делаю, модули и т. д.). Работаю уже года 2 + прибавьте 5 лет дотошного изучения ИТ.

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

а) Знаю весь материал, что мне дадут в ВУЗе на парах, непосредственно связанных с программированием, возможно даже лучше, чем сам препод, ведь я еще и практикуюсь. Почему я так уверен? Во-первых, я общался с преподом курсов программирования еще на третьем году обучения, он учился на третьем курсе института и давал нам в качестве ДЗ курсачи с МИФИ по C++. Было жестко, но сдавал на отлично с плюсом. Во-вторых, я просто отлично знаю основные языки программирования, даже такие богом забытые, вроде Pascal, C++ или Delphi, на «ты» общаюсь с PHP+MySQL, JQuery+CSS+HTML, хотя на практике предпочитаю работать с фреймворками, т. е. более узконаправленные знания — этому в ВУЗе не учат. + Год учился на Python, знаю пару библиотек для облегчения жизни, которая и так не трудная, если писать на питоне.

Мастер Йода рекомендует:  Опасные сайты – как избежать трагедии

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

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

+VBasic, Pascal, Delphi, Assembler мне по-любому будут вдалбливать в ВУЗе, а я это просто не вынесу. Нет, вся «прелесть» в том, что я понимаю их, решаю олимпиадки исключительно на паскале, а на для tasm я даже компилятор писал (правда, так и не доделал), мне было это интересно. Сейчас же мне привлекательней ВСЕ ЧТО УГОДНО, ТОЛЬКО НЕ эти «замечательные» вещи. Например: литература, биология, биохимия, физика, химия, биржа (это отдельная тема, я вообще заболел новой фишкой — меня тянет на трейдера, на изучение рынка и т. д.)

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

Так вот. Может, кто-то сталкивался с подобной ситуацией?

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

Всегда интересовали биохимические процессы, по физике — кванты, от МКТ и СТО просто тащусь. Такие вот дела.

И встаю перед выбором: поступить на прогера, 5 лет блевать, но зато ТОНЧО не вылететь и благополучно работать (если зарабатывать тем, что надоело до мозгокостей, можно назвать благополучной работой), либо метнуться на другую специальность и забыть искусство программирования на ближайшие лет 5 как страшный сон. Авось и пригодится в дальнейшем, но не будет основной направленностью.

Как не сдаться и все же стать программистом?

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

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

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

Знакомо? Иногда, особенно в процессе изучения чего-то нового и сложного, ваш мозг начинает играть с вами в каверзные игры. Он всеми силами пытается сопротивляться обучению, вгоняя вас в состояние прокрастинации и ступора. Самым неверным в сложившейся ситуации будет сдаться и отдаться во власть отчаяния. В этом материале мы поговорим с вами, как справиться с прокрастинацией, как заставить мозг учиться и как в конечном итоге получить желаемую работу, влиться в среду профессиональных разработчиков.

Что такое прокрастинация?

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

Как бороться с прокрастинацией?

Вот несколько советов, что стоит делать и на что необходимо обращаться внимание:

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

Не оставляйте все на последнюю минуту. Представьте спортстмена, который начинает тренироваться за два дня до забега. Как думаете, как он будет себя чувствовать и в каком состоянии будут его мышцы, если он будет заниматься два дня по 10 часов каждый, вместо 2-х месяцев по часу? Как думаете, после такого у него будут шансы пробежать марафон? Очевидно, что нет. Как и с мышцами, мозг необходимо тренировать постепенно, понемногу, но постоянно. Лучше учитесь по 20 минут, но на протяжении 10 дней, чем по 10 часов, но на протяжении двух дней.

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

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

«Коллективная мудрость». Не бойтесь обращаться за советом к коллегам, другим студентам. Если вы занимаетесь в одиночку, найдите обязательно себе ментора, к которому сможете обращаться за советом в моменты ступора. Если у вас нет возможности найти наставника, сходите на курсы. Старайтесь больше задавать вопросов, даже если они вам кажутся чрезвычайно глупыми.

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

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

Когда прокрастинация побеждена

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

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

Например, цель: я найду первую работу за 3 месяца.

Обязательно спланируйте, какие шаги вы будете предпринимать для того, чтобы найти работу:

— напишу хорошее резюме на двух языках,

— буду отслеживать вакансии и реагировать на них,

— составлю список компаний, которые подходят мне по профилю — разошлю им резюме с мотивационным письмом,

— начну готовиться к собеседованиям: подтягивать теоретические знания, подготовлю свое первое программистское «портфолио».

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

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

Почему программисты некрасивые?

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

Как по Вашему, почему в их организме происходят такие изменения?

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

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

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

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

Не тратьте время на изучение программирования

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

В этом году я обязательно выучу PHP!

Надо бы всерьёз начать изучать Javascript.

Я непременно овладею Ruby к следующему году!

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

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

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

Научившись кодить, я смогу общаться с разработчиками

Если вам трудно общаться с разработчиками, то, скорее всего, проблема в самих разработчиках. Альберт Эйнштейн как-то сказал:

Если вы не можете объяснить это простыми словами, вы не до конца это понимаете.

Для программирования это высказывание так же верно. Хороший разработчик должен уметь объяснять сложные вещи понятным языком. А это достигается в процессе общения. Не стоит думать, что постигнув азы программирования, вы будете на одном уровне с разработчиком. Это то же самое, что думать, будто вы стали профессиональным арбитражером только потому, что у вас получилось купить трафика на 500 рублей и продать его за 550.

Это дополнительный пункт для резюме

Серьёзно? А я вот, например, знаю алфавит. И знаю, как из букв алфавита составлять слова. Я даже знаю, как из этих слов предложения складывать. А в те дни, когда мне особенно везёт, из всего этого получается что-то пригодное для чтения!

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

Я хочу учиться ради самого процесса обучения

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

Приведу наглядный пример. На протяжении довольно длительного периода времени я изучал английский язык. Сначала в школе, затем в институте, а позже – в аспирантуре. Причём, изучал я его не как обычный предмет (лишь бы сдать на трояк), а с большим увлечением. Даже выступал на паре конференций. Но из-за отсутствия практики язык начал потихоньку забываться. Дошло до того, что я забыл, как переводить предложения с русского на английский. А о временах и подавно.

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

Я хочу править собственный код

Ну так вперёд! Решение возникшей проблемы – лучший способ узнать что-то новое. Благодаря такому подходу, кстати, у меня на блоге появляются посты для решения определённых проблем. Однако, многие люди думают, что перед тем, как устранять определённую неисправность, нужно проштудировать всю теоретическую часть. Что же получается, например, для того, чтобы работать с компьютером, мы должны знать, как там внутри функционирует каждый отдельный элемент микросхемы? Решать нужно те проблемы, которые встают перед нами сейчас, а не те, которые могут гипотетически существовать. Боитесь совершить ошибку при правке кода? Так сделайте бэкап перед началом работ, и всё будет в порядке.

В чём ваша проблема?

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

ПОНРАВИЛАСЬ СТАТЬЯ? ПОДЕЛИСЬ С ДРУЗЬЯМИ!

Добавить комментарий