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

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

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

ШАГ логотип

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

ITSTEP Academy

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

08.09.2022

5532 просмотра

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

Дизайн

3D визуализатор - профессия будущего

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

Современный мир стал визуальным, а трехмерная визуализация – неотъемлемой частью этой эры. Помните последний раз, когда вы видели реалистичное изображение здания, интерьера или продукта до его создания? Это была 3D визуализация, и она играет огромную роль в нашей жизни. 3D визуализатор – это тот, кто создает эту магию. Искусство 3D визуализации проникает во многие сферы нашей жизни. От архитектуры и дизайна интерьера до рекламы и промышленного проектирования – везде можно найти следы работы 3D визуализаторов. Мы рассмотрим, какие задачи они

ШАГ логотип

Soft-skills

Презентация

Как найти работу junior специалисту без опыта работы

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

Поиск работы для junior специалистов в сфере информационных технологий всегда остается актуальным вопросом. Множество новичков, обладающих определенными знаниями и навыками в IT, сталкиваются с задачей: как начать карьеру, не имея опыта работы. Рынок IT предоставляет множество возможностей для джунов, которые стремятся применить знания на практике. Однако, несмотря на потребность компаний в новых специалистах, поиск работы для junior'ов без опыта может стать определенным вызовом при конкуренции с более опытными кандидатами. Также, не всегда

ШАГ логотип

Soft-skills

10 лучших техник тайм-менеджмента для айтишника

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

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

ШАГ логотип

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

SMART-цели: лучший помощник в планировании для программистов

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

Для успеха в программировании нужны не только технические навыки, но и умение эффективно управлять своими задачами и целями. В этой статье мы погрузимся в мир SMART-целей и рассмотрим, как программисты могут использовать этот подход для повышения производительности и профессионального развития. SMART - это акроним, который описывает основные характеристики эффективной цели: Specific (конкретная), Measurable (измеримая), Achievable (достижимая), Relevant (связанная с текущими задачами и целями) и Time-bound (ограниченная по времени). Каждый из этих аспектов играет важн

ШАГ логотип

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

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