Компьютерная Академия IT STEP - полноценное IT-образование‎ для взрослых и детей. Мы обучаем с 1999 года. Авторские методики, преподаватели-практики, 100% практических занятий.

Ваш браузер устарел!

Вы пользуетесь устаревшим браузером Internet Explorer. Данная версия браузера не поддерживает многие современные технологии, из-за чего многие страницы сайта отображаются некорректно, и могут работать не все функции. Рекомендуем просматривать сайт с помощью актуальных версий браузеров Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

ШАГ логотип

Новички думают, что написать код сложно. IT-журналист рассказал, почему это ложное мнение

ITSTEP Academy

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

08.09.2022

8775 просмотров

Клайв Томпсон — технических писатель, журналист в The New York Times и Wired, автор книг «Coders» и «Smarter Than You Think». По мнению коллег, Клайв — самый узнаваемый автор публикаций о программировании и технологиях. 

В статье «Programming Isn’t Hard — But It’s Frustrating» журналист поделился личной историей: как Клайв разочаровался в программировании и понял причину. 

Главное — превращать неудачу в положительный опыт. 

Публикуем авторский перевод статьи Клайва.

Как я пришел к выводу: проблема разработчика — расстройства и неудачи

«Потерпите разочарование — только так вы научитесь кодингу»

Мое детство прошло в 70-х. Я частенько играл в Mattel Auto Race — приставка для одной игры. В ней вы водите машину (это точка на экране, размером с палец) и пытаетесь не врезаться в другие автомобили.

Приставка Mattel Auto Race. Справа — экран с машиной, а слева — рычаги управления. Под экраном — кнопка движения авто в стороны.

Спустя 50 лет я вспомнил об этой игре. В субботу вечером решил сделать версию гонки на P5 — фреймворке на Javascript.

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

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

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

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

Почему программирование — это ежедневное разочарование

Я осознал это после статьи «What Does Saying That 'Programming Is Hard' Really Say, and About Whom?» Бретта Беккера из школы компьютерных наук Дублина. В публикации Бретт ставит под сомнение: «программирование — это сложно».

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

«Программировать тяжело» — культурная традиция. Люди не могут объяснить, почему это так. Они приняли суждение за правило. Поэтому новичкам сложно начать, потому что верят: стать программистом — сложно.

Когда писал книгу «Coders», я опросил 200 программистов. Часто люди повторялись: научиться программировать не сложно. Успех зависит от внимательности к деталям.

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

Почему мы разочаровываемся в кодинге

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

Рассмотрим на примерах:

  1. Написали функцию — она не работает.

  2. Забыли поставить запятую в строку кода или ошиблись в переменных — код не работает.

  3. Функция подтягивает данные из сторонней библиотеки. А вы не понимаете, где допустили ошибку.

  4. Команда писала код несколько лет. Проект закрыли, а после — передали вам. Делайте с программой все, что хотите. Но она должна работать.

Вот что я написал в «Coders» по теме разочарования:

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

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

От чего разработчик может стать безумным

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

Когда спрашивают: «Могу ли я научиться программировать?» — я отвечаю: «Конечно. Каждый сможет, пока вы сражаетесь с разочарованием».

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

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

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

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

Люди программируют в 18 лет или после 30. С процессором на 2 ядра или на 10. Самостоятельно или с готовой обучающей программой.

В Академии ITSTEP Киев у студентов нет времени на разочарование. Каждую проблему нужно превращать в решение. Ученики находят ошибки вместе с преподавателями. И так пополняют портфолио задачами уровня Amazon, Cisco или криптовалютной биржи Binance с первых недель обучения.

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

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

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



АВТОР:

Редакция Академиии ITSTEP

Образование для взрослых

Эмоциональное выгорание на работе: что делать если не хочется работать

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

Причины и последствия выгорания на работе в эпоху удаленной занятости В последние годы формат труда претерпел существенные изменения. Пандемия COVID-19 ускорила массовый переход к удаленной занятости, который ранее считался преимуществом только для избранных отраслей, таких как IT. Сегодня миллионы людей по всему миру работают из дома, не выходя из собственной квартиры. Такая трансформация рынка труда создала новые вызовы - в частности, увеличение уровня стресса, потерю баланса между работой и личной жизнью и рост количества случаев эмоцио

ШАГ логотип

Дизайн

Основы графического дизайна: 10 ключевых принципов

10 главных принципов графического дизайна, которые помогут вам создавать стильные, удобные и эффективные визуальные решения для веба, печати и брендинга | Блог ITSTEP Academy

10 основных принципов графического дизайна Графический дизайн — это искусство визуальной коммуникации, которое сочетает в себе текст, изображения, цвета и формы для передачи информации или создания определённого настроения. Он используется в различных сферах: от рекламы и веб-дизайна до упаковки продуктов и мобильных приложений. Принципы графического дизайна — это основные правила, которые помогают создавать гармоничные и эффективные визуальные композиции. Без их понимания даже самые талантливые художники и дизайнеры могут столкн

ШАГ логотип

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

Какая зарплата у QA Engineer в Украине | Cколько зарабатывает тестировщик

Средние зарплаты тестировщиков в Украине: сравнение Manual и Automation QA, обзор доходов в крупных IT-компаниях и советы, как увеличить свою зарплату | Блог ITSTEP Academy

Зарплата тестировщика в Украине: сколько можно заработать? Тестировщик программного обеспечения (QA-инженер) — это специалист, который отвечает за проверку работы приложений, поиск ошибок и контроль качества продукта. Его основная цель — обеспечить стабильную и безопасную работу программных решений перед их выпуском. Профессия тестировщика стала особенно популярной благодаря низкому порогу входа. В отличие от разработчиков, которые должны досконально знать языки программирования, тестировщики могут начать карьеру с базового поним

ШАГ логотип

Soft-skills

Синдром самозванца в IT - прокачай уверенность для успешной карьеры

Узнайте, как преодолеть синдром самозванца, развить уверенность и успешно строить карьеру в IT с нашим пошаговым руководством ▶ Подробнее

Синдром самозванца у начинающих программистов: первые шаги к уверенности Синдром самозванца (Imposter Phenomenon)— это психологическое явление, при котором человек убежден в собственной некомпетентности и в том, что его успехи достигнуты случайно. Для начинающих программистов это может стать серьезным препятствием на старте карьеры. В условиях быстро развивающейся IT-индустрии чувство неуверенности может негативно сказаться на профессиональном развитии, препятствуя проявлению инициативы и разрушая мотивацию. Тематика синдрома самозванца

ШАГ логотип

Этот сайт использует Cookies

Политика конфиденциальности