суботу, 20 липня 2019 р.

Програмісти в Україні - пришестя штучного інтелекту


«Програмісти в Україні і штучний інтелект – щастя чи криза»



19 липня 2019 року

Цей пост – чисто мої думки і висновки. Я не працюю ні на Госдеп, ні на «світовий таємний уряд фізиків і антипрограмерів». Ті хто зібрався в нашій країні вибрати спеціальність програміста і мають хворе серце – не читайте цей текст, ну його…
Цей текст для тих школярів, хто любить фізику і коливається, куди піти - бо зараз дітям, які комфортно відчувають себе з математикою, фізикою і подібними шкільними предметами, модно йти на навчання програмістом. «Доброзичливці», які в цьому нічого не розуміють,  (і це найм’якіше слово, яке підходить) розкажуть, що після навчання фізиці випускаються виключно майбутні жебраки і невдахи, а от програмісти живуть і будуть жити багато, щасливо і безтурботно. А ось моя оцінка. Враховуючи скажений перекіс в нашій країні в сторону кодерів в порівнянні з алгоритмістами, я думаю, що вони років через десять (навряд чи більше) підуть в ту ж сторону, куди років через 5 підуть професійні водії (більшість з яких про це ще не здогадується, чи засовує голову в пісок), куди вже «стрункими рядами» йдуть за кордоном велика кількість біржевих маклерів, клерків юридичних контор, банків і т.п. – і в тій стороні не ситно, не щасливо і точно вистачає турбот. Починається ера Штучного Інтелекту. Також стаття буде, на мою думку, трохи корисна для хіміків, біологів, програмістів-алгоритмістів (які ставлять собі високу планку розвитку), технологів і технічних спеціалістів (хто хоче стати інженером серед найкращих), хоч я орієнтуюся на фізиків, але ідеологічно все підходить і для цих напрямків. І точно я спробую переконати молодь - не йдіть по шляху «лаборантів» (не залежно від напрямку), якщо відчуваєте силу і маєте достатні накопичені знання – «лаборантів» завжди вистачатиме і без вас серед тих,  хто не відчуває сили і не ставить перед собою високих планів.  Навіть якщо такі люди тимчасово і отримують прийнятно високу зарплату – це тимчасово, а в старшому віці переучуватися на висококласного спеціаліста, та ще й іншої спеціальності – ой як важко, особливо після багатьох років биття баклуш на «лаборантській печі», де достатньо освоїти кілька простих операцій, за які непогано платять. Як не стати «лаборантом», вибравши фізику – тема окремої статті, і я якось її напишу. А зараз спробую переконати вас, що, якщо відчуваєте силу і любите фізику – вибирайте фізику, при нинішній структурі програмістського середовища вам дуже важко буде стати алгоритмістом верхнього ешелону (я далі наведу приклади, хто це і який шлях до цього) – подавляючу більшість затягує болото кар’єри «кодера» (хто поки не знає цього визначення – розкриємо далі по тексту), на початку солодке, але підступне і з усіма негативними атрибутами болота. Перед тим, як читати далі рекомендую прочитати мій пост «Фізика – попелюшка (золушка) української освіти» http://obezsh.blogspot.com/2009/12/blog-post.html.

Отже, тепер про штучний інтелект. Фрази «нейронні мережі», «штучний інтелект», «роботизація», ще чули ваші бабусі і дідусі, які займалися природничими і технічними науками і інженерною роботою, з кінця 60-х років минулого сторіччя про це говорили багато, але реально без будь яких серйозних значимих результатів. Як виявилося зараз – не вистачало потужності обчислювальних ресурсів. Але за останні 2-3 роки (реально не більше) все кардинально змінилося – поступове кількісне  зростання  потужності комп’ютерів і вбудованих систем призвело до якісного скачка – ті алгоритми, які раніше не працювали, або працювали нескінченно довго раптом запрацювали і запрацювали часто ефективно – тепер тільки лінивий не чув термінів «Artificial Intelligence» (AI), «Machine Learning», «Deep Learning», «Neural Networks», «Big Data». За кордоном почалися активні розмови про старт нової епохи штучного інтелекту, правда, в наших медіа про це говорять іноді і з обережністю. Для нас фізиків важливо що: той скачок, який розпочався кілька років назад, стався завдяки критичному збільшенню потужності апаратних засобів, а не із-за нових програмних алгоритмів, як іноді вводять в оману вас в нашій країні деякі працівники програмної індустрії. Взагалі програмісти у нас несправедливо захопили в мас-медіа і рекламі тему штучного інтелекту як свою вотчину, не вірите мені, читайте закордонні джерела інформації, наприклад https://hi-news.ru/research-development/gorkij-urok.html. Насправді їм (кодерам, яких більшість) треба лякатися цієї теми, а не бігати радісно і всюду розповідати, які великі можливості відкриваються для програмістів з розвитком систем машинного інтелекту. Це все одно, що приречений на розстріл, якому пропонують викопати яму для себе, буде бігати і радіти тому, що у нього є нова цікава робота (вибачте, хто образився, чорний гумор :((( ). Для алгоритмів штучного інтелекту, машинного навчання з використанням шаблонів великого попереднього досвіду критичне збільшення об’ємів оперативної пам’яті і, особливо, оптимальність для використання виробничого підходу масових паралельних апаратних систем стали ключовими для старту нового витка технічного розвитку («Як прогресує штучний інтелект: звіт про останні досягнення» https://www.epravda.com.ua/publications/2019/07/15/649648/?fbclid=IwAR0Msuyu9j0KFGraa2ufutN7jHos8jVLpICgh2hX3ui1XFVA6bl9q9wIaYk .  Зараз практично немає і близько підходу-конкуренту, який міг би масштабовано і ефективно використовувати для аналізу тисячі, десятки тисяч, а в недалекій перспективі і мільйони процесорів на одному чипі. Можливо, тому і природа вибрала цей шлях. І завершуючим акордом появи нового короля числових розрахунків стала можливість ефективно вбудовувати в чипи апаратно цілі шматки алгоритмів штучного інтелекту, які до цього виконували програмно – прискоривши розрахунки в сотні і тисячі раз. І сьогодні системи розмірами в одну-дві долоні досягають потужності в десятки (близько сотні) тераоперацій (префікс тера – 1012) штучного інтелекту за секунду. Ще відносно недавно про таке можна було тільки мріяти навіть користувачам суперкомп’ютерів (за 2001 рік найбільший суперкомп’ютер, який коштував багато десятків мільйонів доларів мав потужність близько 7 терафлопів). Спеціалізований чип фірми Tesla для автономного руху автомобіля має потужність 35 трильйонів операцій за секунду і витрачає усього 72 Вт енергії (https://avto.informator.ua/2019/04/24/ilon-mask-pokazal-miru-novyj-chip-avtopilota-tesla-v-chem-ego-preimushhestva/) , чип штучного інтелекту для управління роботами фірми NVIDIA за 1100 доларів з 10 Вт має потужність 30 трильйонів операцій за секунду (https://www.techcult.ru/robots/6134-chip-iskusstvennogo-intellekta-dlya-robotov-ot-nvidia) , флагман звичайних «побутових» відеокарт фірми NVIDIA карта TITAN V на базі архітектури VOLTA забезпечує 110 терафлопсів для задач Deep Learning (https://www.nvidia.com/ru-ru/titan/titan-v/). З 2017 року почали як гриби після дощу народжуватися стартапи для розробки чипів для алгоритмів штучного інтелекту (AI, https://sharespro.ru/news/739-chipy-iskusstvennogo-intellekta ). Зараз практично кожна велика компанія розробляє свій спеціалізований чип для таких задач. І хоча на даному етапі сильний ухил в розробку алгоритмів технічного зору, розпізнавання образів зображень, автономного руху транспорту, але тут вже виходять на чудові достатні результати і загальна тенденція вже очевидна – розробка і використання спеціалізованих AI чипів для кожного напрямку виробництва і промисловості в широкому сенсі, техніки, науки, надання послуг (http://www.tadviser.ru/index.php/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82:%D0%98%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82_(%D0%98%D0%98,_Artificial_intelligence,_AI)#.D0.9C.D0.B8.D1.80.D0.BE.D0.B2.D0.BE.D0.B9_.D1.80.D1.8B.D0.BD.D0.BE.D0.BA_.D0.98.D0.98) . І тут зараз молоді (і не тільки) спеціалісти повинні швидко навчатися - як в їх специфічній області (наприклад у нас, у фізиків) ефективно використовувати такі чипи для швидких розрахунків згідно модельних підходів в їх області (у кожного свої моделі і закономірності). В перспективі добре було б і приймати участь в розробці чипів AI. А не будете цього робити – вимрете, як мамонти (чи динозаври, якщо так приємніше :) ). І якщо ви це зрозуміли, то вам буде смішно, коли деякі (та ні – більшість, у нас в Україні точно) програмістські і не тільки мас-медіа розказують, що штучний інтелект – це вотчина програмістів, їх джерело нової сили. Так, із тисяч кодерів одна людина вивчить і розбереться в конкретній специфіці наукового напрямку замовника (аналогія з тим, що домохазяйка без відповідних базових знань за два тижні дома по інтернету вивчить фізику університетського рівня – шанси є, але дууууууже маленькі). Як правило така робота обмежується простими операціями – використати стандартну функцію із стандартної бібліотеки штучного інтелекту, а в тій  каші результатів (дуже сумнівно, що корисних) запропонувати розбиратися замовнику, він же спеціаліст у своїй області, і взяти купу грошей за просту операцію використання бібліотечної функції. Ну і навіщо мені така допомога як замовнику, краще самому розібратися в алгоритмах штучного інтелекту і отримувати реально корисні результати. Велика кількість спеціалістів в базових не програмістських областях на своєму досвіді знають, що навчитися програмувати на кодерському рівні не так вже і складно, особливо молодим, а алгоритмістами ви автоматично стаєте по суті своєї роботи як висококласні фізики, хіміки, біологи, технічні спеціалісти  і т.п. (наприклад, алгоритми розпізнавання мовних структур вимагають такого ж складного і довгого навчання і прості кодери цього за тиждень не вивчать). Під кодером (або кодерською фірмою) я розумію таких людей і структури, які на розмахування пальцями і руками, прохань замовника зробити  «ось таке», і далі йде «невнятний» набір слів і термінів із специфічної області замовника, (що є, практично, правилом в реальному житті) відповідають: «Не морочте мені голову, дайте формулу чи готовий алгоритм і я вам таку лялю-програмку напишу – «конгфетка», з пречудовим інтерфейсом». А алгоритмісти – ті, хто із «махання рук і незв’язного набору речень і бажань» можуть зформувати адекватний набір формул та рівнянь, систем рівнянь і нерівностей, алгоритмів і ходу вирішення. І все це вже передати на кодування. Ідеально, коли спеціаліст в специфічній області може бути і алгоритмістом (або навпаки). Я ні в якій мірі не хочу принизити чи образити кодерів, вони пишуть дуже складні і чудові по виконанню програми, вони потрібні світу і країні, як українець я пишаюся тим, що наші програмісти так ефективно працюють (IT–індустрія України забезпечила експорт на 4,5 мільярда доларів в 2018 році «https://www.epravda.com.ua/news/2019/01/31/644857/»). Але від цього більшість з них не перестають бути кодерами, не має значення чи програмується графічний інтерфейс для Айфона, Андроїда, чи пишуться Linux драйвери для того чи іншого типу вбудованого обладнання, чи розробляються WEB сторінки і портали – все це ідеологічно відносно прості і повторювані операції і тому для кодерів є великий ризик стати третіми в черзі в якості жертв штучного інтелекту (після професійних водіїв), за моєю оцінкою навряд чи пройде більше 10 років до часу активного старту цього процесу, це не така вже велика цифра для молодих людей, які сьогодні закінчують школи.
Пройшло тільки 2-3 роки з початку буму штучного інтелекту, а вже почалися чи то успіхи, чи то жахи (з якої сторони дивитися) нової ери. Як колись із-за поширення потужних персональних комп’ютерів практично зникла дуже велика група професійних перекладачів іноземних мов (залишилися тільки одиниці висококласних перекладачів в нішевих використаннях), так зараз штучний інтелект фактично ліквідує для людей спеціальність за спеціальністю, приносячи при цьому підвищення продуктивності праці, здешевлюючи витрати на відповідне виробництво чи послуги. Вже зараз AI може замінити (і цей процес вже активно пішов за кордоном) юристів низької кваліфікації, велику кількість молодших клерків юридичних контор (http://iltf.ru/news/lawyers_and_artificial_intelligence, https://tech.liga.net/technology/opinion/net-rutine-kak-iskusstvennyy-intellekt-menyaet-yurisprudentsiyu ,
Більшість юристів цього не бояться, але не все так незаперечно добре, тут ситуація схожа на програмістську – нові ситуації і випадки AI поки не може якісно інтерпретувати, а от зона стандартних повторюваних операцій швидко захоплюються послугами штучного інтелекта.

Юристы не боятся: искусственный интеллект не способен заменить хорошего адвоката, но зато может изменить профессию” (https://vc.ru/flood/36070-yuristy-ne-boyatsya-iskusstvennyy-intellekt-ne-sposoben-zamenit-horoshego-advokata-no-zato-mozhet-izmenit-professiyu)

Искусственный интеллект лучше юристов разбирается в юридических контрактах” (https://www.popmech.ru/technologies/news-412712-iskusstvennyy-intellekt-luchshe-yuristov-razbiraetsya-v-yuridicheskih-kontraktah/)

На біржах ще немає кардинальних результатів, але всі в позиції низького старту (https://habr.com/ru/company/iticapital/blog/330884/), вже використовуються технології робоедвайзінгу (https://vc.ru/iticapital/62148-kak-primenyayut-roboedvayzing)
В банківській сфері активно тестуються системи штучного інтелекту, які можуть у великій мірі заміняти клерків нижньої ланки в багатьох функціональних задачах (http://archilab.online/tekhnologii/404-banki-aktivno-vnedryayut-tekhnologii-iskusstvennogo-intellekta), (https://www.raexpert.ru/researches/banks/bank_ai2018)

А ось погані новини для гравців в покер -  «Искусственный интеллект обыграл пятерых профессиональных игроков в покер. В 2017 году создатели Pluribus уже представляли программу Libratus, которая обыграла четверых профессиональных игроков в покер и выиграла два миллиона долларов. вместе с тем, они решили не останавливаться на достигнутом и создали более совершенную версию искусственного интеллекта.»


Штучний інтелект швидко захоплює ігри людей, де вважалося, що йому нема чого робити – шахи, Go, складні ігри стратегії (StarCraft, https://hi-news.ru/robots/ocherednaya-pobeda-deep-mind-posle-shaxmat-i-go-iskusstvennyj-intellekt-pokoril-starcraft.html).

AI в парі роботами невблаганно освоює професії мерчандайзера, заводських робітників, водіїв, лікарів нихької кваліфікації і інших професій (https://www.ferra.ru/review/techlife/jobs-that-soon-will-be-taken-by-ai-and-robots.htm).

В цих напрямках процес пішов, це не значить, що ці спеціальності через 2 роки зникнуть, просто в найближчі роки почнеться чи вже почалося поступове і достатньо швидке скорочення людського персоналу в цих областях. Знову ж таки не значить, що людей будуть масово викидати на вулицю. Велику частину з них будуть перенавчати для сфери обслуговування, не виключне лобіювання на державному рівні заборон по таким скороченням (згадайте, таке в історії вже було – луддизм і луддити https://uk.wikipedia.org/wiki/%D0%9B%D1%83%D0%B4%D0%B4%D0%B8%D0%B7%D0%BC).
Але прогрес можна пригальмувати, зупинити – навряд чи. Зараз алгоритми і виробничі процеси з використанням AI в першу чергу захоплюють області діяльності людей, де є масовість і високе відношення заробітної плати до простоти операцій, які виконуються. Алгоритмістів (по суті виконпння операцій, а не по назві) відносно мало, відношення зарплати до складності операцій у них досить низьке а іноді просто непристойно низьке :) – тому поки що не вигідно вкладати великі кошти і ресурси великих фірм в моделювання  штучним інтелектом їх роботи. Вони знаходяться на останніх редутах людської фортеці, яку потихеньку захоплює AI, прийде час і ці редути також  падуть. Що буде далі, не знаю, і не хочу особливо думати про це – я не доживу, а наші діти, нинішня молодь нехай думає, боюся, у неї дожити шанси є. Надіюся, це не буде майбутнє «Матриці», колись життя продовжилося і після луддитів, хоча я більше прихильник позиції Ілона Маска (https://www.youtube.com/watch?v=FpRZTuntoJ8). Але це тема іншої статті і дискусії, зараз я веду мову про найближчі 10-15 років, які, як на мене, проглядаються достатньо добре. І тут особливо показова ситуація для програмістів з майбутнім професійних водіїв автомобільного транспорту – спитайте у представників  цієї професії чи хвилюються вони за своє професійне майбутнє у найближчі 5-10 років, я впевнений, що 9 з 10 водіїв скажуть, що немає за що хвилюватися, а даремно - хвилюватися є за що. Системи технічного зору і автономного керування транспортними засобами за кілька років зробили карколомний стрибок у своєму розвитку. Ціла група великих компаній вже анонсувала виведення на ринок автомобілів без водіїв, з повноцінним автономним керуванням. Компанія Tesla заявила, що вже у 2020 році автомобілі Tesla Model 3 без водія будуть використовуватися як таксі – в режимі мобільного додатку Robotaxi (https://ua.korrespondent.net/business/auto/4090148-bezpilotni-taksi-z-2020-roku-scho-pokazala-Tesla).  Компанії Volvo і Uber презентували безпілотний позашляховик XC90 (https://biz.liga.net/keysy/avto/video/volvo-i-uber-prezentovali-bespilotnyy-vnedorojnik-foto).
Компанія Apple купила стартап Drive.ai, який займався розробкою IT-систем для безпілотних автомобілів (https://www.unian.ua/economics/other/10598709-apple-pridbala-rozrobnika-it-sistem-dlya-bezpilotnih-avtomobiliv.html).
Amazon інвестує понад півмільярда доларів в стартап, який розвиває технології автопілота і яким керують колишні інженери Google, Tesla і Über (https://www.unian.ua/economics/transport/10440357-amazon-vitratit-ponad-pivmilyarda-dolariv-na-stvorennya-bezpilotnogo-avtomobilya.html).
Тесла вже випробує електричний вантажний автомобіль з автопілотом (https://www.unian.ua/economics/transport/10440357-amazon-vitratit-ponad-pivmilyarda-dolariv-na-stvorennya-bezpilotnogo-avtomobilya.html).
Водії на даному етапі підпадають під основні вимоги швидкої жертви.

Так, кодування, навіть просте – складніша процедура, ніж процес управління автомобілем, але успіх розробки автопілотів надихає розробників на нові звершення і у справі автоматизації програмного кодування, тут все тільки починається, але серед спеціалістів є консенсус про невідворотність цього процесу у короткій перспективі («ИИ оставит программистов без работы к 2040 году» https://hightech.fm/2017/12/08/ai_code_2040) , https://dou.ua/lenta/articles/ai-future/https://www.youtube.com/watch?v=r3r0j9etq8k

От в списку вимираючих професій стоять і програмісти (https://strana.ua/articles/analysis/66544-top-25-vymirayushih-professij-v-kotoryh-lyudej-zamenyat-roboty.html)
Цікаво, я  провів короткий бліц набір опитувань програмістів щодо моїх висновків і в основному отримав відповіді типу таких: чушь, брєд, навпаки кодування чекає розквіт…, а на прохання пояснити, аргументувати свої слова отримував в основному трохи істеричні відповіді, щоб відчепився, що не будуть відповідати на очевидні речі, в найкращому випадку – що тоді кодери-програмісти перекваліфікується на сферу надання послуг (дуже радісно в 40-45 років розклеювати об’яви на під’їздах типу «Потенційний робітник Силіконової долини надасть послуги установки операційної системи, чистки комп’ютерів від вірусів, чистки реєстра і ремонту пральної машини, ну і т.д. …). Ті, хто не засовують голову в пісок і задумуються над тим, що я написав, можуть спитати – а що ж тоді робити. Я маю свою версію руху вперед, але перед цим відповім на потенційне питання «Що може говорити про життя програмістів кадр, який не написав за своє життя ні одної програми». Написав, і не одну :)), і не дві (відповідь «гумористам»), а по кількості різноманітних типів програм ще можу посперечатися з багатьма конвеєрщиками програмістської праці. Я за спеціальністю фізик-експериментатор – ядерна фізика і фізика високих енергій, викладач, але в нашій спеціальності без програмування і роботи з електронікою – нікуди не просунешся… Програмував багато і різноманітно (зараз поменше, але достатньо, щоб тримати руку на пульсі цієї спеціальності) - кодування в молодості DSP в машинних двійкових кодах, 5-7 асемблерів  для різних мікроконтролерів (програми на 2-3 тисячі команд), С для мікроконтролерів різних типів, програмована логіка (FPGA, CPLD і т.п.), великі і дуже великі програми на Fortran і С++ для моделювання фізичних процесів (спробуйте хоча б розібратися і щось зробити в GEANT4, https://geant4.web.cern.ch/, наворочене об’єктно орієнтоване програмування і жорсткі алгоритмічні дєбрі), Bash+awk (в минулому) і Python програмування для допоміжних і «зшиваючих» кодів, зараз йде науковий проект, де треба зформувати перший чорновий варіант системи планування доз при лікуванні в радіаційній онкології (програмний продукт типу https://www.raysearchlabs.com/raystation/), з потужними графічним інтерфейсом та моделювання фізичних закономірностей з використанням графічних процесорів (NVIDIA GPU) і чипів штучного інтелекту. Тому маю моральне право називати себе практикуючим досвідченим алгоритмістом (нехай не найкращим) з достатніми навичками кодера.
Моя порада така (хочете – слухайте, хочете - ні). Якщо вам подобалися і подобаються фізика, хімія, біологія, генетика, сучасна техніка, високі технології, нанотехнології і т.п. і ви хочете досягати вершин в майбутньому – йдіть на ці спеціальності у найкращі Виші України по цим напрямкам. Можете попасти в найкращі Виші світу – йдіть туди. Але готові до цього після школи одиниці випускників, тому вчіться – напружено, інтенсивно і насичено в наших університетах, щоб далі вже з висоти отриманого досвіду вибрати напрямок, цікавий для вас (в тому числі і як алгоритмісти і спеціалісти з штучного інтелекту), намагайтеся попасти в першу десятку-тридцятку світового рейтингу університетів, тоді обмеження далі для свого росту – тільки небо)). Не хочете чи не можете дивитися в небо (бо це - пахать з ранку до ночі все життя, вічно учитися напружено і важко, важка конкуренція) – не страшно, вже після закінчення нашого повноцінно навчаючого вишу можна непогано влаштуватися в житті (забудьте про копійки заробітків для цих спеціальностей, як в 90-х роках, це вже в минулому), але обов’язково захистіться (кандидатська дисертація, PhD), якщо облаштовуватися захочете за кордоном деталі читайте в моїй статті «Фізика – попелюшка (золушка) української освіти». Тільки не піддавайтеся на казки, що цим спеціальностям можна навчитися за пару тижнів в сuorsera чи чомусь подібному. І не сповзайте в підпрацювання на цілий робочий день програмістами, репетиторами для школярів (і т.п.) замість навчання, це засмоктує і веде в глухий кут в майбутньому. Голодаєте, не маєте за що знімати житло – по мінімуму заробіть і вчіться, а на Айфони і Версачі ще встигнете заробити((. Не пропустіть свої найкращі роки для навчання і професійного росту…І ще одне зараз пішла мода одразу за кордон їхати вчитися - не кожний закордонний університет кращий за наші кращі (і наші фізичні спеціальності зараз безоплатні - державна підтримка), а то ще нарветеся на "обманку" - університет кількорічної давності заснування з супер-пупер космічно-всегалактичними-всеєвропейсько- президентсько-орденоносними назвами і "дешевою платою за навчання", який заснували вихідці з країни бувшого СРСР із темним минулим... Дивіться всіми визнані рейтинги університетів - шукайте там університет свого вибору.
Для тих, хто мріяв все життя стати програмістом, мої поради принципово не відрізняються, ну тільки початково у вас будуть якісь інші, IT спеціальності, але тоді пізніше прийдеться окремо навчатися і одній з вище вказаних спеціальностей, де вам більше сподобається стати алгоритмістом - ну НЕ НАВЧАТЬ вас за пару лекцій для «домохазяйки» фізиці, хімії, біології і т.д., навіть такий модний зараз у програмістів технічний зір і обробка зображень – тонюсінький прошарок в усій фізиці і техніці, але знання їх (ну і ще деяких напрямків математики) є ключевими, а програмування (кодування) лише мала допоміжна частина. Додавання (фактичне, по суті робіт, які виконуєте) до вашого професійного визначення окрім слова кодер ще добавки алгоритміст  (з тої чи іншої галузі науки чи техніки) забезпечить вам довге і щасливе професійне життя (коли ви почнете боятися штучного інтелекту – все людство вже буде його боятися) і високий конкурентний рівень в світі (за кордоном теж більшість програмістів  – тільки кодери, а вищі керівні програмістські посади займають алгоритмісти-кодери). Ну, ще застережу від популярної помилки в середовищі людей, які зібралися на програмістські спеціальності чи вже навчаються. Часто один із аргументів за те, щоб йти на програмістське навчання в виш, кажуть, що вже з 3, а то і 2 курсу можна піти працювати на повну ставку в програмерську фірму і заробляти непогані гроші, а в університет приходити зрідка – на здачі заліків і т.п., все одно там нічому новому не вчать, а на фірмі ви навчитеся набагато краще, та й ще грошиків заробите. Як можна вірити в таку чушь. Це можуть казати тільки або дуже наївні люди, або дуже зацікавлені, щоб талановитих і перспективних молодих людей, замість поглядів у небо заземлити на себе. Ну ви ж розумієте, що робочий на конвеєрі, який чудово-пречудово прикручує із дня в день дверцята до автомобіля, не може стати інженером і створити новий чудовий автомобіль. Навіть, якщо його поставлять потім  на прикручування колес, а потім на установку багажника, ідеально навчиться, все одно  ситуація не зміниться, інженером йому не стати (та ще й немає часу з конвеєра зійти і вчитися на інженера). Так чому ви думаєте, що в програмістському середовищі інша ситуація? Скільки б ви програмістських фірм не змінили і не «стрибали» б від фірми до фірми. Я не виключаю, що керівники деяких фірм дивляться в майбутнє і деяку талановиту молодь за свій рахунок надсилають вчитися кудись у стенфорди, прінстони, кембріджи (хоча б по мінімуму на пару років), я таких не знаю, знаєте, поділіться досвідом – бо таких людей треба рекламувати і прославляти (без краплі сарказму) на всю Україну. Тепер по аргументу, що в українському університеті вчать застарілому і безглуздому, неефективно. Як викладач з багаторічним стажем приймаю цю критику і погоджуюся, що ми, викладачі у вишах, повинні намагатися забезпечити не гірше навчання, ніж у «стенфордах», і ми намагаємося розвиватися в цю сторону, не дивлячись на всі складнощі і палиці в колеса. Але зовсім інша справа, коли студент так говорить, щоб «відмазатися» від навчання, навіть і не пробуючи послухати викладача і попрацювати з ним – дайте шанс викладачу вас навчити, головне не те, який він «хлопець свій у доску», гарно пісеньок співає і т.д. – а ким ви вийдете після його курсу, розвинетеся до сучасного рівня чи залишитеся бовдуром з його предмету...
Для прикладу програмістам наведу історію розвитку одного з ведучих програмістів компанії Тесла старшого директора компанії зі штучного интелекту Андрія Карпатого (Andrej Karpathy, https://cs.stanford.edu/people/karpathy/, спробуйте назвати його кодером – не вийде). Народився у Словакії і в 15 років переїхав з батьками у Торонто (Канада), там закінчив бакалаврат (Double major in Computer Science and Physics, зверніть увагу - і фізики, double major), магістратура в University of British Columbia (consistently ranked among the top 20 public universities in the world) і тема магістерської «Learning Controllers for Physically-simulated Figures», потім аспірантура в Стенфорді (входить в п’ятірку кращих університетів світу) і захист дисертації – безперервне і напружене навчання, а в літніх проміжках науково-технічні стажування (Google Research Internships) і активна студентсько-аспірантська робота (https://cs.stanford.edu/people/karpathy/), а не шастання по програмістських фірмах на заробітках – на дрібниці не розмінювався і на розгляданні своїх ніг не зациклювався. І тільки після всього цього пішов активно працювати (не забуваючи про хоббі і науково-технічні розробки) і досяг того, де він зараз є (рекомендую подивитися усе відео https://www.youtube.com/watch?v=Vit1nCBEFag) – а далі – тільки небо.
Хотілося б побачити на цих висотах не тільки людей із прізвищами, схожими на українські, але все більше і більше громадян України; досить дивитися під ноги, залиште це іншим, хто не вірить в себе і не має позитивних амбіцій, обмежуючись кодерською долею і розмінюючи своє майбутнє і потенційно успішну кар’єру на «сиюминутные» не такі вже великі заробітки – ми готові вами пишатися і чекаємо на ЛІДЕРІВ!


11 коментарів:

  1. Як програміст, що закінчив фізфак КНУ, констатую, що стаття - густа каша з суцільних маніпуляцій.

    ВідповістиВидалити
    Відповіді
    1. Як людина, повинен сказати що непрограмістам буде лінь розбиратися з AI. До того ж хтось повинен програмувати сам AI, тому стаття повна нісенітниця. Єдине за що можу похвалити автора цікава інформація та непогані джерела(хоча і серед них є жовта преса).

      Видалити
    2. Вибачте, що одразу не відповів - завал роботи, тепер відносно вільний. Важко відповідати на огульне звинувачення без єдиного аргументу (обіцяю відповісти чи прийняти, якщо вірні, на Ваші аргументовані звинувачення). А так, це те саме, аби я сказав, що Ви просто не осилили навчання і вилетіли з фізфаку на ранніх стадіях, і тепер злобствуєте. Але ж це не так, навпаки, якщо Ви хоча б 3 роки відучилися у нас, то тільки підтверджуєте мій текст - Ви вже пройшли навчальну частину з фізики і математики (півтора-два десятка курсів з практичними і лабораторними) і не можете стверджувати, що це просто можна самостійно освоїти, читаючи інтернет (ні разу не бачив таких людей; мабуть, бувають виключення), а якщо продовжуєте стояти на своєму - дозвольте не повірити, що Ви - випускник нашого факультету, навіть вічні трійошники на перездачах розуміють очевидність цих моїх тверджень. А з приводу інших питань - так подивіться посилання (і це я не давав для аргументів англомовних посилань для зручностей читачів - там цього "добра" вистачає, у нас про це чомусь сильно замовчується). І до інших читачів коментів - не вірте коментуючим, які використовують тільки лайку і не бажають наводити свої факти і аргументи в нормальній дискусії.

      Видалити
    3. Я дійсно не вилетів з фізфаку на ранніх стадіях, а закінчив його, пройшовши півтора-два-три-чотири десятки курсів з практичними і лабораторними, після чого пропрацював більше 15 років в індустрії програмування, а також маю уявлення про стан речей на фізфаку сьогодні, тож можливість для більш-менш обгрунтованих висновків маю.
      Тепер щодо тверджень статті.
      Поділу програмістів на "кодерів" і "алгоритмістів" в реальному світі не існує (тим більш з чудовими формулюваннями автора, одразу відчувається наукова школа). Якщо вважати "алгоритмістом" людину, что розробляє алгоритми, то це взагалі не програмування, а дещо інша дисципліна Computer Science, і порівнювати її з програмістом за рівнем - це як порівнювати перукаря з кухарем. Якщо ж "алгоритміст" - людина, що використовує відомі алгоритми для програмування деякої предметної області - то це і є звичайний програміст.
      Так, для роботи в конкретній галузі програмісту знадобляться знання предметної області. Чи то банківська справа, чи геологія - всі (а, не одиниці з тисячі) програмісти опановують її на достатньому рівні, і в більшості випадків це посильна задача без базової освіти в цій області. Так, є випадки надскладної предметної області - і моделювання фізичних процесів може буди прикладом - і от цих спеціалістів, здається, автор і називає "алгоритмістами" і чомусь вважає елітою програмування. Насправді це лише просто вузьконішеві програмісти, або спеціалісти в своїй галузі з навичками програмування.
      Тож, можно стати програмістом, вибрати вертикаль, набути знань доменної області, а пізніше за бажанням змінити галузь. Сьогодні ви працюєте з ф'ючерсами, через рік керуєте електромережами, а через два - ще чимось (хіба що крім фізики). Так, знову потратити час на освоєння предметної області, але тепер вам відкритий весь величезний ринок праці програмної індустрії, що чомусь ігнорує апокаліптичні прогнози і вперто росте разом з рівнем оплати праці. А можна стати фізиком... і прийдеться бути все життя фізиком, можливо вивчите програмування, будете програмувати лише фізику, пан Безшийко назве вас "алгоритмістом", а які ще плюси, я так і не зрозумів, стаття в основному про те, як погано програмістам чи то вже є, чи то скоро буде.

      Видалити
    4. Тепер про AI. Зараз дуже це настільки модна тема, что тепер будь-яка примітивна експертна ли рекомендаційна система обов'язково має називатися "штучний інтелект". Коли ви читаєте на imdb про "Термінатора", а сайт рекомендує ще "Рембо", то це огого який інтелект. І коли мобільний домальовує вашому фото вуха - це також.
      Статті-страшилки обіцяють, що AI знищить ряд професій, проте справжня перспектива цого дуже сильно перебільшена.
      Про те, що можливості штучного інтелекту переоцінені, заявляють спеціалісти в цьому напрямі: https://www.cnet.com/news/ai-is-very-stupid-says-google-ai-leader-compared-to-humans/
      Два приклади з життя про реальний стан AI.
      Фейсбук, як кажуть, знає про нас все з трьох лайків. Цей лідер з Big Data та AI збирав інформацію про мене 10 років, а вчора видав мені таргетовану рекламу - пропонують працювати дальнобійником в Канаді. А далі якась реклама естонською... навіть не знаю що. Я був в Естонії дві доби місяць тому.
      Гугл є визнаним лідером в технологіях розпізнавання зображень. Та чому ж його розпізнавалка визнає нашу кішку човном ??https://www.facebook.com/photo.php?fbid=10213947758115949&set=a.10210160080226369&type=3&theater
      Я намагався знайти якісь справжні реальні кроки AI в напрямку написання програмного коду. Є розробки академічного характеру, де система мала успіхи в написанні програмного коду для формалізовано поставленої задачі на чітко формалізованій моделі. Саме на основі них в Оук Рідж видали ту гучну статтю, яку ЗМІ транслювали як "AI знищить професію програміста до 2040 року". Проте програміст і є перекладачем з реального світу в формалізований, і в цій справі в нього конкурентів з боку роботів на сьогодні нема взагалі.
      Ще, виявляється, давно існуючі нехитрі генератори та шукачі сніпетів, автозавершення тексту тепер охрестили "штучним інтелектом, что пише код". Вони стають трохи зручнішими і можуть дійсно пришвидшити деякі рутинні операціі. Просто інструменти, і нічого, що б взяло на себе хоч відсоток інженерної роботи. Але чи вкрав винахід гайкового ключа вкрав роботу у слюсаря ?
      А теперь кілька слів про фізфак, що на переконання автора, захищений від небезпечних трендів сучасності. Приходьте на фізфак, дізнаєтесь, що таке оптична лава 1907 року виробництва, пил з підвіконня зібраний 1986 року як джерело радіоактивних частинок в лабораторіі ядерної фізики (бо інші випрацювались). Або просто запитайте, чому факультет закривають взимку (бо холодно!), чому тут знімали сцени серіалу Чорнобиль (тому що інтер'єри разом з технікою застрягли в 80-х), або чому факультет зненацька вирішили перейменувати (бо в декана закінчився другий строк, а три не можна), або який в цьому році недобір студентів і скільки ставок викладачів теперь треба пропорційно скоротити... Так, штучного інтелекту тут не бояться.

      Видалити
  2. Ну от, в другому коментарі знову безапеляційне твердження про нісенітницю, але є два аргументи. Перший аргумент - не аргумент, а припущення коментатора, яке видається за факт. Припущення абсолютно невірне (але зрозуміле для кодуючих програмістів). Про лінь розбиратися в AI - набагато простіше навчитися спеціалісту "взяти стандартну функцію із стандартної бібліотеки", але не вчитися використанню складних алгоритмів вузького природничого (та й не тільки) напряму, ніж кодуючому програмісту - навпаки. Не вірете? Спробуйте. Далі - два маленьких приклади із моєї професійної області - із фізики високих енергій і медичної фізики. Перший, ще рік назад великий турнір-змагання " #TrackML challenge on Kaggle and build an algorithm that quickly and efficiently reconstructs tracks from 3D points left in the silicon detectors: https://www.kaggle.com/c/trackml-particle-identification", https://www.facebook.com/hashtag/trackml?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARCTFjXzd3joRK-ldnuyPIRKmk17WmHobvl3zhowbY7bizxP3Ba1H7aSxbWTUePlCcVdooPOtflmn4r5ryGaeWYaHprbC0njo_yANALa3BalpE_aM9f4Nobmq7I0JRm707tDSgbVQpAearKPRe77kQ1hbjVUzpyN1OLGoiZNEUnMtz0cxnv_oFAayw8tUvrKqk5P0lPrapCgbvrHoGWMo7ZpkqsTqtv3kGJgKL2Lub0QTeiUuoxekMtRp08WCczn1Y0F5go6gBjTl6f5zZE5bG-08oCvULWkGMO--snZASK-8esxcDaaViZukV2yhr-abKqRL_wyYLJCxKQnq8t_7NHV0w&__tn__=*NK-R Подивіться - кількість учасників, в основному фізиків - можливо, це трохи змінить Ваші ілюзії про лінь.. Другий приклад свіжий - Нагорода медичного фізика за роботу "Deep learning helps spare the heart during radiotherapy" https://physicsworld.com/a/young-investigators-focus-on-brachytherapy-dose-modelling-and-deep-learning/?utm_medium=email&utm_source=iop&utm_term=&utm_campaign=14258-43213&utm_content=Title%3A%20Young%20investigators%20focus%20on%20brachytherapy%2C%20dose%20modelling%20and%20deep%20learning%20-%20research_update З другим аргументом погоджуюся, але це ж я писав у статті - потрібні і розробники алгоритмів AI, глибокі знавці математичних методів AI і обладнання, і це такі ж спеціалісти як фізики, хіміки, біологи і т.д. Але яке відношення до цього має більшість кодуючих програмістів? (і не розповідайте казки, що вони розробляють ці алгоритми - я трохи теж орієнтуюся в цій області). І головне - я не якийсь ворог кодуючих програмістів, як вам здається, навпаки - я намагаюся пояснити молодим людям в Україні пояснити альтернативну точку зору (від якої їх чомусь наполегливо оберігають) і розвиватися в алгоритмістів, а не залишатися на щаблі кодуючого програміста - а у кожного є повне право прислухатися до аргументів, чи назвати це нісенітницею чи суцільними маніпуляціями

    ВідповістиВидалити
  3. Нічого не зрозумів про "лінь розбиратися в AI" і мої ілюзії щодо неї.. У Вас багато посилань на успіхи AI, так, це цікавий напрям, і досить перспективний для певного класу задач, що мають ці посилання довести ?

    Маємо дві суміжні професії:

    A. науковець, що розробляє алгоритми ("алгоритміст" в термінах пана Олега).
    Б. програміст - інженер, що пише код ("кодер"), використовує алгоритми


    1. Чому Ви вважаєте, що А є якимось вищим щаблем над Б ? Хто вище за рангом, перукар чи кухар ?

    2. Як фізичний факультет навчить студентів бути "алгоритмістами" ? Так, на фізфаку є нехитрі курси програмування для початківців. А чи є курси по AI ? Якісь основки розробки алгоритмів ?

    ВідповістиВидалити
    Відповіді
    1. абсолютно бесполезные курсы, которые никогда не пригодятся на практике, потерянное время и просранные полимеры.

      Видалити
    2. Пройшов рік, оскільки вирішив оцінити, які зміни сталися у нас, фізиків і на своїй кафедрі зокрема - то відповім (в основному для тих, хто цікавиться фізикою і сумнівається, читаючи коменти вище:
      1. Коментувати Alias немає що - людина, яка називає абсолютно непотрібними курсами базові курси з математики і фізики і що вони їй не знадобилися на практиці, точно не займається нічим створюючим в природничо-технічних напрямках, ну, можливо сидить на "крантиках" розкрадання, робота "лаборанта" чи якимось митецтвом займається (правда, мистецтво якесь лайливе), так і то щось би винесла з навчання на фізичному факультеті, якщо хоч трохи вчилася - ось відео, я краще і не скажу ніж Жанна Хуранова https://youtu.be/WpsQ0IOtrH8
      2. Коментар Unknown найбільш виважений (за винятком слова "нісенітниця" :))) ) і тому на нього найприємніше відповідати. За цей рік освоєння використання алгоритмів АІ в нашій області (точніше бажання цього) стало хітом - ледь не кожний 2-й студент чи вже займається чи рветься займатися (можете подивитися мою нову статтю за 1-2), великий попит у спеціалістів за кордоном на таких випускників (і тут просто використовувачам стандартних AI методів робити нічого - вони не зможуть просто, не знаючи фізичної суті проблематики) ми по плану для своїх студентів на кафедрі ядерної фізики восени забезпечимо можливість використання робочої станції на Xeon-ах з 96 потоками і з апаратним прискоренням 10 в 14 операцій за сек штучного інтелекту та потужними GPU. Так що про лінь освоювати - тут це не в тему - мода зараз на AI у спеціалістів )))
      3. На коментарі Oleksandr Z найскладніше відповідати: наче і ноді і спрооби аргументувати, і весь час зриви на спроби аргументації в стилі "що може говорити про політику лисий"
      а) найнеприємніше - брудне опльовування місця, де просидів всі 6 років і, як говорить, навчався. Держава керівництво всіх рівнів копійки не виділяє на обладнання, викладачі з своїх карманів збирають і виділяють 100-200 доларів на матеріали, щоб зробити зі студентами якуь достатньо сучасну установку, а тут напищений Голохвастов "звинувачує бідних батьків із села, які всіма силами збирали гроші і можливості, щоб дитина пішла вчитися далі, чому у нього не було своєї машини, і Макбука". Якщо так багато заробляє - то міг би кілька десятків доларів і свої знання (якщо вони є) спонсорувати, щоб зробити якийсь сучасний прилад для студентів своєї кафедри чи всіх - і так крапля за краплею - рівень навчання би ріс. Слава богу, з факультету виходять не тільки такі "вдячні" випускники - вистачає молоді, хто допомагає і підтримує різними способами і не слухайте його егоістичні базікання (та й ще неграмотні, не розбираєтеся в проблематиці джерел ІВ - не лізьте хоч, якщо не хочете допомогти, та й про оптиків краще б промовчали - скільки сучасного обладнання "привів" на факультет викладач КО Прокопець), в усякому разі у себе на кафедрі можу сказати точно - студенти і навчаються на новому обладнання і самі його роблять, а завдяки небайдужим підприємцям (і це явно не такі люди як Oleksandr Z) вдається посилати наших студентів на закордонні тури Олімпіад, коли вони виграють українські

      Видалити
  4. б) по всім коментарям намагається змішати кодера і інженера, скільки не пояснюєш. Дивно - пробули всі 6 років на факультеті і не можете відрізнити стандартні математичні методи аналізу даних (в тому числі і АІ - і використання цих методів сам ШІ візьме "на груди") і математичну алгоритмізацію фізичних задач (а в біології, і в хімії, і в техніці такі ж проблеми) - з цього починають вчити на факультеті (Ви, часом, не прогуляли перші курси?). Якщо не розумієте про що я - спробуйте залгоритмізувати хоч якісь завдання для студентів на олімпіаді студентів-фізиків (Ви ж закінчили факультет, я не прошу щось складне і реально серйозне) - і не треба ображати геологів (я так розумію геофізиків), я, коли працював над використанням нейтронних генераторів для оцінки газових свердловин, перечитав з десяток книжок (і не тільки радянських), не кажучи вже про десятки сучасних статей, і це я фізик з великим досвідом, а Ви тут розказуєте казки, що якийсь програміст-кодер без базової освіти в геології чи хоч би в фізиці на раз-два швиденько в цьому розбереться - брехня (тут Вам не пощастило, я трохи зіштовхувався з цією тематикою - лапшу на вуха не сприймаю), або такий рівень виконання (як я в статті писав)
    в) і весь час плутає людина терміни, наприклад відкриваємо Вікіпедію і читаємо в посиланнях: computer science - the science that deals with the theory and methods of processing information in digital computers, the design of computer hardware and software, and the applications of computers (https://www.dictionary.com/browse/computer-science), або computer scientist (a scientist who specializes in the theory of computation and the design of computers) (http://wordnetweb.princeton.edu/perl/webwn?s=computer%20scientist) . І яке це відношення має до конкретних прикладень, скажімо, ядерної фізики, геофізики чи нанотехнологій?
    г) якщо читає хтось з молодих, зверніть увагу - людина 6 років просиділа на факультеті, не пішла програмістом чи не перейшла кудись на легший факультет, бо якщо вчитися нормально на фіз.фаці, то на це уходить багато часу, отже бачу два варіанти: i) людина не ходила на заняття і не вчилася, а тільки іноді заходила "в гості" на факультет, не знаю, на якій кафедрі таке допускали, точно не на нашій - вона б вже полетіла як "фанера над Парижем" з університету після моїх курсів; ii) або другий вріант - вона провчилася повноцінно, але ні про які Стенфорди, високі досягнення не мріяла,або і не пробувала, хоч можливості були (бо вона зробила якрах те, що я рекомендую в статті - отримала базові знання, в данному випадку з фізики), а тепер, використовуючи ці надбання в Україні, як може (вірю, що фізик після факультету зможе розібратися в геофізиці) і сам не готовий підняти голову до неба і вас блокує - щоб і не пробували, хоча у вас є ще всі можливості. Насправді, і у нього вони є - тут питання в вірі в себе, і не шукати винних на стороні. Не вірте йому і пробуйте досягти максимуму, якщо вірите в свої здібності і наснагу (прийдеться пахать, падати обличчям в болото, підніматися і не раз, отримувати і не раз опльовування і підніжки таких "доброзичливців", і це не самі гірші люди, які попадуться на вашому шляху)

    ВідповістиВидалити
    Відповіді
    1. Якщо не розумієте про що я - спробуйте залгоритмізувати хоч якісь завдання для студентів на олімпіаді студентів-фізиків (Ви ж закінчили факультет, я не прошу щось складне і реально серйозне, https://2019.iptnet.info/problems/)
      Забув написати посилання

      Видалити