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

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

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

ШАГ логотип

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

IT STEP Academy

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

01.12.2022

619 просмотров

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

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

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

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


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



Авторские обучающие технологии:

IT STEP Academy

Это авторский перевод статьи Клайва Томпсона https://levelup.gitconnected.com/programming-isnt-hard-but-it-s-frustrating-6cb740085243

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

Что такое объектно-ориентированное программирование: мир и небольшие человечки

В программировании есть несколько парадигм — это набор правил и приёмов, как писать код.

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

ШАГ логотип

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

Что выбрать PHP или Python для веб-разработки

Мир современной разработки переполнен языками программирования — с преимуществами и недостатками. В этой статье поговорим о двух серверных языках: php против python. Оба подходят для Back-end и Full-stack веб-разработки.

Мир современной разработки переполнен языками программирования — с преимуществами и недостатками. В этой статье поговорим о двух серверных языках: php против python. Оба подходят для Back-end и Full-stack веб-разработки.   👉 Веб-разработка — это не только сайты. Еще онлайн-сервисы для музыки, ТВ, интернет-магазинов. И даже онлайн-игры. PHP для веб-разработки Язык используют с 1995 года. Тогда у разработчиков был ограниченный выбор инструментов для сайтов. Не было такого языка, где можно самостоятельно прописать содержимое и управлять действиями поль

ШАГ логотип

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

Где используется SQL и почему он так необходим программистам

Эта статья — не справочник по SQL. Мы постарались ввести новичков в мир баз данных, показать примеры и сферы использования. А также, почему нужно знать хотя бы базовые понятия SQL, чтобы быть хорошим программистом.

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

ШАГ логотип

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

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

По данным ресурса Statista, в 2021 году мобильные приложения скачали 230 миллиардов раз. А 60% пользователей покупают товары или услуги через мобильные приложения.

По данным ресурса Statista, в 2021 году мобильные приложения скачали 230 миллиардов раз. А 60% пользователей покупают товары или услуги через мобильные приложения.  Компания теряет трафик и деньги, если она может продавать через телефоны и для этого есть аудитория. Но у нее нет мобильного приложения. В статье расскажем об этапах сборки приложений для смартфонов без стадии рекламы. Чтобы погрузить вас в концепцию разработки, некоторые детали не упомянуты или упрощены. ============================================================ Чтобы создать мобильное приложение, нужны:

ШАГ логотип