Блог | Почему программирование следует изучать каждому
Виртуальный мемориал погибших борцов за украинскую независимость: почтите Героев минутой вашего внимания!
Нещодавно я мав цікаву розмову з маркетологом великої компанії (декілька тисяч співробітників, мільйони клієнтів) мова йшла про необхідність писати код, навіть якщо ти не програміст. Для того, щоб планувати акції та підводити їх підсумки Катерині (маркетолог) потрібно обробляти багато даних. Але була певна проблема: у великій компанії програмісти виконують дуже різноманітні таски, тому їм потрібно детальне технічне завдання. А коли маркетолог шукає ідею на мільйон, то він добре не знає, що хоче. А часу на формування цих ТЗ і комунікацію не вистачає. Ось і вирішила Катерина опанувати SQL з Python і робити запроси та прогнози самостійно. Було не легко, тому що ніколи не програмувала раніше, але зараз пише скрипти для прогнозування поведінки клієнтів, шукає закономірності в їх витратах та звичках, обробляючи великі масиви даних. Продуктивність зросла і нові навички у цьому допомогли, зараз лише шкодує, що не почала програмувати раніше.
На сьогоднішній день, в світі приблизно 25 мільйонів розробників, працюють 50-80 годин на тиждень, і кожного дня вони пишуть код. Код, який автоматизує чиюсь працю, збільшує вагу технологій в світовому ВВП, залишає когось без роботи, але і створює нові ринки, компанії та можливості. І вміння програмувати, звичайно допоможе використати ці можливості в швидкозмінному, технологічному світі.
Чому ж варто почати писати код з дитинства?
Творчість та креативність. Під пальцями програмістів народжується нові світи. Пам’ятаєте мультфільм "Що живе в коробці з олівцями"? В програмуванні так само, але ще краще, бо комп’ютерний код або робот "живий": він рухається, ставить питання і відповідає на них, реагує на чиюсь поведінку, допомагає нам або розважає нас, вчить та відволікає і ще багато іншого. І все це можливо вже з дитинства, з 8-9 років. Дуже часто дітям не подобається щось у реальному світі, і вони тікають у віртуальний бо там їм цікавіше. Так от, якщо вони вміють програмувати, то можуть самі створювати світи, в яких їм буде цікаво. Це схоже одночасно і на малювання, і на написання книги, і на ігри, і на фільми, тобто повна свобода, творчість та креативність. Якщо мудрі батьки або вчителі будуть заохочувати дітей писати комп’ютерні програми, спочатку для розваг, а потім і для допомоги (вирішення якоїсь проблеми) або автоматизації якогось процесу, то в майбутньому у таких дітей буде великий шанс на успіх в сфері IT. Стів Джобс вважав, що програмувати повинен вміти кожен, тому що це вчить мислити і називав програмування вільним мистецтвом.
Логічне та критичне мислення. Логіка – це здатність робити висновки з набору припущень. Так комп’ютерна програма постійно, щось виконує (робить висновок) з вхідними даними (набор припущень) і програміст повинен ретельно побудувати логіку цього процесу, щоб отримати бажаний результат. На мою думку, програмування, шахи та математика найбільше розвивають логічне мислення у дітей та дорослих. Критичне мислення, тут все дуже просто, не поставив кому - отримав ЕРОР. Тому учні успішно програмують ретельно перевіряють свій код. А пізніше в більш складних програмам постійно потрібно шукати\думати про якісь граничні випадки, коли програма не працює. Бо вона таки часто працює не завжди . Тому це привчає задавати собі питання - що може піти не так?
Розуміння технологій. Чому ми вивчаємо в школі біологію, географію, фізику, математику чи хімію? Мабуть не тільки тому, що плануємо стати математиком чи хіміком, а просто для того, щоб розуміти світ навколо нас. Цей світ змінився, і віртуальна, технологічна його складова постійно зростає. Тому програмування, та комп'ютер сайнс просто маст хев для розуміння цього світу. Учні, які сьогодні пішли в перший клас, будуть активними на ринку праці в 2040 році. Чи повинні вони розуміти як працюють комп'ютери, роботи, штучний інтелект? Звичайно, і чим раніше, тим краще. 200 років тому, більшість людей (85%) у світі не вміли читати чи писати, 50 років тому, більшість людей не вміли працювати на комп’ютері, на жаль зараз лише 0.3% пишуть код. Проблема в тому, що не вміти писати чи працювати на комп’ютері зараз не можливо, для адекватної людини. І дуже ймовірно, що писати код - це грамотність 21 сторіччя.
Кар’єрний успіх. Уявіть собі 2032 рік, і ви обираєте між двома кандидатами, на роботу, наприклад, біологами. Ваша компанія, скажімо, робить ліки від короновірусу. При рівних резюме, один з них ще й дуже добре знає комп’ютер сайнз. Кого візьмете на роботу? В Стенфорді, наприклад, вже зараз половина бакалаврських програм - комп’ютер сайнз мають одним з основних предметів. І вони весь час поєднують комп’ютер сайнз і архітектуру, мистецтво, лінгвістику і т.д. В будь якій компанії де є СРМ система чи просто бухгалтерія, вже потрібні програмісти. А оскільки життєвий цикл бізнес моделей постійно зменшується (швидко змінюється світ), то постійно потрібно змінювати бекофіс, автоматизацію менеджменту, бухгалтерії, СРМ і т.д. А це постійна робота програмістів. Хоча, можливо, в майбутньому робота бухгалтера буде скоріше налаштування автоматизованих бухгалтерських програм, ніж робота складання звітів (їх робитимуть алгоритми). А якщо ваша дитина захоче створити стартап, хіба навички створення сайтів, мобільних додатків і т.д. не допоможуть їй стати успішною?
Хороша новина для тих, хто не любить програмувати в тому, що напрямки, які зараз розвиваються в цій сфері, стають дуже різноманітними, і можуть підійти для дуже різних людей. Наприклад, для математиків - розробка ігор чи дата сайнз, для фізиків - робототехніка, для творчих людей - веб-програмування і т.д.
Якщо підсумувати, то програмування це просто грамотність 21 сторіччя. І хоча більшість людей не стане програмістами. Так само як більшість людей не стали письменниками, але вміють писати, більшість людей не стали математиками, але вивчають математику і т.д. Вміння писати код буде і розвивати нас, і допомагати в майбутній роботі.