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

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

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

Триває набір в Малу Комп'ютерну Академію!

03

днів

16

годин

15

хвилин

Отримати консультацію
ШАГ логотип

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

ITSTEP Academy

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

08.09.2022

7931 перегляд

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

В Академії виводимо ваші навички та знання не наступний рівень. В результаті ви — розробник, дизайнер, фахівець з кібербезпеки, який вміє працювати над труднощами. Знаєте, як вирішувати проблеми компаній та в чому корисні. Залишиться останній крок — успішно закрити співбесіду та отримати першу роботу.

Спробуйте! Перейдіть за посиланням, щоб дізнатися про навчальні програми ITSTEP більше.

Хтось думає, хтось так і не наважується. Ви ж робите перший крок. Ви попереду 9 із 10 новачків, які залишаються зі своїми думками та не рухаються далі.



Автор:

Редакція Академії ITSTEP

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

Яка зарплата у QA Engineer в Україні | Скільки заробляє тестувальник

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

Зарплата тестувальника в Україні: скільки можна заробити? Тестувальник програмного забезпечення (QA-інженер) - це фахівець, який відповідає за перевірку роботи додатків, пошук помилок і контроль якості продукту. Його основна мета - забезпечити стабільну та безпечну роботу програмних рішень перед їхнім випуском. Професія тестувальника стала особливо популярною завдяки низькому порогу входу. На відміну від розробників, які повинні досконально знати мови програмування, тестувальники можуть почати кар'єру з базового розуміння принципі

ШАГ логотип

Soft-skills

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

Дізнайтеся, як подолати синдром самозванця, розвинути впевненість і успішно будувати кар'єру в IT з нашим покроковим посібником ▶ Детальніше

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

ШАГ логотип

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

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

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

Чого бояться IT-фахівці: 8 ключових страхів у роботі, які переслідують розробників та інженерів IT-фахівці працюють у середовищі, що швидко змінюється, де висока відповідальність, жорсткі терміни та постійний потік нових технологій створюють додатковий тиск. Навіть досвідчені розробники та інженери стикаються з тривогами, які можуть впливати на їхню продуктивність, мотивацію та емоційний стан. Страх - це природна реакція людини на невизначеність і можливі ризики. В IT-індустрії він може проявлятися в різних формах: страх припуститися крит

ШАГ логотип

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

Хто такий Team Lead у команді розробників

Що робить Team Lead? Обов'язки, ролі та важливість в IT-команді для досягнення цілей

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

ШАГ логотип

Набір у розпалі

Триває набір в Малу Академію для дітей 7-14 років! Кількість місць обмежена!

Детальніше

ITSTEP SCHOOL

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

Детальніше

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

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