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

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

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

ШАГ логотип

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

ITSTEP Academy

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

08.09.2022

7998 просмотров

Клайв Томпсон — технических писатель, журналист в 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

Дизайн

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

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

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

ШАГ логотип

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

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

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

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

ШАГ логотип

Soft-skills

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

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

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

ШАГ логотип

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

Главные страхи в работе IT-специалистов и способы их преодоления

Как IT-специалисты справляются со страхами в работе: провал на собеседовании, дедлайны, ретроспективы? Узнайте, как их преодолеть и уверенно развиваться в IT | Блог ITSTEP Киев

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

ШАГ логотип

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

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