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

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

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

ШАГ логотип

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

ITSTEP Academy

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

08.09.2022

5705 переглядів

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

Дизайн

Майстер клас

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

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

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

ШАГ логотип

Soft-skills

Презентація

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

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

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

ШАГ логотип

Soft-skills

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

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

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

ШАГ логотип

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

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

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

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

ШАГ логотип

Безкоштовно!

Безліч бекзоштовних заходів від ITSTEP Academy, клікай на банер та обирай той що до вподоби!

Детальніше

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

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