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

Ви використовуєте застарілий браузер!

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

ШАГ логотип

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

IT STEP Academy

Програмування

08.09.2022

3989 переглядів

Клайв Томпсон — технічний письменник, журналіст у 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 програмістів. Часто люди повторювалися: навчитися програмувати не складно. Успіх залежить від уважності до деталей.

Для кодингу потрібна психологічна установка – ви щодня можете розчаровуватись. Це потрібно терпіти.

Чому ми розчаровуємось у кодингу

Програміст створює код, який має працювати. Написати його мало. Потрібно прогнати через налагодження – знайти та виправити помилки. У цьому головна причина, чому програміст розчаровується.

Розглянемо на прикладах:

  • Написали функцію – вона не працює.

  • Забули поставити кому в рядок коду або помилилися в змінних — код не працює.

  • Функція підтягує дані із сторонньої бібліотеки. А ви не розумієте, де помилилися.

  • Команда писала код кілька років. Проект закрили, а потім передали вам. Робіть із програмою все, що хочете. Але вона має працювати.

Ось що я написав у «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

Дизайн

3D візуалізатор - професія майбутнього

Сучасний світ став візуальним, а тривимірна візуалізація – невід'ємною частиною нашої епохи. Пам'ятаєте останній раз, коли ви бачили реалістичне зображення будівлі, інтер'єру або продукту до його створення? Це була 3D візуалізація, і вона грає велику роль у нашому житті. 3D візуалізатор – це той, хто створює цю магію.

Сучасний світ став візуальним, а тривимірна візуалізація – невід'ємною частиною нашої епохи. Пам'ятаєте останній раз, коли ви бачили реалістичне зображення будівлі, інтер'єру або продукту до його створення? Це була 3D візуалізація, і вона грає велику роль у нашому житті. 3D візуалізатор – це той, хто створює цю магію.   Мистецтво 3D візуалізації проникає у багато сфер нашого життя. Від архітектури і дизайну інтер'єру до реклами та промислового проектування – скрізь можна знайти сліди роботи 3D візуалізаторів. Ми розглянемо, які завда

ШАГ логотип

Soft-skills

Як знайти роботу junior спеціалісту без досвіду роботи

Пошук роботи для фахівців у сфері інформаційних технологій завжди залишається актуальним питанням. Безліч новачків, які мають певні знання та навички в IT, стикаються із завданням: як розпочати кар'єру, не маючи досвіду роботи. Ринок IT надає безліч можливостей для джунів, які прагнуть застосувати знання на практиці.

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

ШАГ логотип

Soft-skills

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

Ефективне управління часом є однією з ключових навичок, необхідних айтішникам для успішної роботи в швидкому та динамічному світі інформаційних технологій. В індустрії, де терміни жорсткі, проекти багатозадачні, а вимоги до продуктивності високі, уміння ефективно планувати, організовувати та контролювати свій час стає невід'ємною частиною успіху.

Ефективне управління часом є однією з ключових навичок, необхідних айтішникам для успішної роботи в швидкому та динамічному світі інформаційних технологій. В індустрії, де терміни жорсткі, проекти багатозадачні, а вимоги до продуктивності високі, уміння ефективно планувати, організовувати та контролювати свій час стає невід'ємною частиною успіху.   У нашій статті ми представимо вам 10 найкращих технік тайм-менеджменту, спеціально підібраних для айтішників. Ви дізнаєтеся про різні стратегії, які допоможуть вам оптимізувати використ�

ШАГ логотип

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

Для успіху у програмуванні потрібні не тільки технічні навички, а й уміння ефективно керувати своїми завданнями та цілями. У цій статті ми поринемо у світ SMART-цілей та розглянемо, як програмісти можуть використовувати цей підхід для підвищення продуктивності та професійного розвитку.

Для успіху у програмуванні потрібні не тільки технічні навички, а й уміння ефективно керувати своїми завданнями та цілями. У цій статті ми поринемо у світ SMART-цілей та розглянемо, як програмісти можуть використовувати цей підхід для підвищення продуктивності та професійного розвитку.   Знайомство з концепцією SMART-цілей SMART - це акронім, який описує основні характеристики ефективної мети: Specific (конкретна), Measurable (вимірна), Achievable (досяжна), Relevant (пов'язана з поточними завданнями та цілями) та Time-bound (обмежена за часом). Кожен із цих аспектів �

ШАГ логотип

Пробні уроки

Щотижня в IT Step Academy проходять пробні уроки для дітей! Перелік усіх івентів шукайте у розділі "Заходи"

Детальніше

IT STEP SCHOOL

Триває набір в загальноосвітню ліцензовану школу з поглибленим вивченням ІТ та іноземних мов для 1-11 класів! Тисніть, щоб дізнатися більше!

Детальніше

Триває набір!

Інтернет-маркетинг, Тестування ПЗ (QA), 3Ds Max, Python, UI/UX дизайн -обирай курс для себе поки є вільні місця в групах!

Детальніше

3Ds Max

Новий курс від IT Step Academy! Встигни забронювати місце!

Детальніше

Увага!

Незважаючи на те, що навчальний рік вже давно розпочався, набір до ІТ STEP SCHOOL триває!

Детальніше

Цей сайт використовує Cookies

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