“Опинившись перед Гвідо, що ти йому скажеш” або діалоги про Python Бобуком

У серпні eyeofhell, voldar і їх колеги по співтовариству MoscowPython почали записувати подкаст Python Junior. Це — розшифровка вибраних моментів одного з випусків.

Валентин Домбровський: Ти ведеш Telegram-канал addmeto. Говориш про всяке прекрасне майбутнє, технології і так далі. Яку роль Python буде грати в цьому всьому, на твій погляд?

Григорій Бакунов aka bobuk: Очевидно, куди рухається всі програмування. Ми чим далі, тим ближче до Lego.

Програмування все більше схоже на складання кубиків. Python з самого початку створювався як ідеальний клей для таких готових блоків.
І тому Python зараз так і рвонув.

Григорій Бакунов: Для нього є величезна кількість бібліотек, щоб швидко, з шматків скомпонувати потрібну програму. Це і є майбутнє програмування. Нічого нам не говорить, що це зміниться. Купа готових наукових бібліотек, бібліотек, пов’язаних з штучним інтелектом.

Наприклад, все, що стосується розпізнавання образів – те, що називається Pattern matching, вичленення схожих патернів у великому наборі ознак. Це дуже велика тема, яка зараз виглядає в основному як Computer vision. Але повірте, у наступні 3 роки нейроинтерфейсы будуть на цьому ж будуватися, ну і так далі.

Чи все, що пов’язано з темою штучного інтелекту. Воно не обмежується темою нейронних мереж, але конкретно – нейронні мережі-це одна з тем, яку людство «продалбывало» останні багато десятиліть.

Якщо ви подивіться зараз на те, що відбувається, на всю цю революцію, це революція, яку роблять не математики в середньому.
Це дуже важливо: щоб зробити новий прорив в області ШІ, потрібно володіти умінням програмувати і бажанням експериментувати, в першу чергу.

“Ти не можеш займатися програмуванням, якщо ти щиро не хочеш саме це”

Григорій Бакунов: Я переконаний, що будь-яке освіта в тебе не було, скільки б сил в тебе не вкладали, якщо ти не хочеш чимось займатися – ти не будеш цим займатися.

Григорій Петров aka eyeofhell: О, ключове слово – освіта. У мене є холиварный питання, які я можу поставити тільки тобі.

Григорій Бакунов: Давай.

Григорій Петров: Дивись, вже багато років я займаюся освітою і якимись курсами, намагаюся допомагати розробникам. І моя позиція полягає в тому, що з утворенням у програмуванні зараз дуже-дуже погано із-за того, що область нова, фундаментальні дисципліни ми для неї ще не зробили, і фундаментальної освіти немає.

Читайте також  Що таке відновлений айфон

Ринок зібрав усіх самоучок, взагалі всіх, а потік нових програмістів дуже-дуже маленький. І університети, в цілому, програмістів готувати не можуть.
Тому що для того, щоб готувати програміста, щоб побудувати такий Хогвартс і почати випускати чарівників, тобі потрібен хоча б 1 чарівник, який це вміє. А цей чарівник зараз сидить в Яндексі тимлидом. І навіть якщо не брати до уваги зарплату, то у нього тупо є соціальна відповідальність перед своєю командою: «Ну, я ж не кину хлопців, тому зачекайте 30 років, поки я на пенсію вийду».

Ось з твоєї точки зору, у нас дійсно все так погано з освітою? Чи є якісь поліпшення, і взагалі ми вже можемо готувати програмістів, якщо можемо?

Григорій Бакунов: Ти кажеш «у нас», маючи на увазі індустрію, в цілому?

Григорій Петров: Індустрію в цілому.

Григорій Бакунов: Дуже погано з освітою. Причому ось що важливо. Все погано не з системою освіти, а саме з освітою, в цілому.

Програмістом ти працюєш цілодобово. І мало навчити цьому, потрібно заразити цим. І ось цього не вистачає жахливо.
Причому прямо не вистачає якихось базових засадах. Ось типу ще в школі заразити ідеєю, що програмувати – це не просто заробіток, а ще й справа всього життя. Цього немає, цього не вистачає. А потім вже поверх цього потрібна система освіти.

Про міграції на Python 3

Михайло Корнєєв aka Voldar: Гриша, lifecycle Python 2.7 року через півтора закінчується. На вас це якось впливає? Або ви збираєтеся самі якось жити?

Григорій Бакунов: По-перше, ще 2 роки. Це по-перше. А по-друге, ви ж розумієте, що швидше за все, буде стабільна 2.8-я гілка, яку буде тягнути хто-небудь. Тому що кількість legacy абсолютно жахливо.

Григорій Петров: Так, для цього є хороші кандидати, всякі enterprise friendly.

Григорій Бакунов: Так.

Але насправді, я впевнений, що всі потихеньку мігрують у бік 3-його Пітона або інших мов.
І це нормальний шлях. Тому що, по-перше, 3-ій Python зараз дуже дорослий, це дуже зріла середовище, в якій просто комфортно жити. Я не знайшов бібліотек, які не переїхали жити в Python, коли в останній раз дивився. Я для себе в якийсь момент, знаєте, вивів лакмусовий папірець: вирішив, що Python 3 відбудеться в той момент, коли на нього переїде supervisord. Це демон, що дозволяє запускати інші сервіси.

Григорій Петров: Він довго тримався.

Григорій Бакунов: Вони, правда, як і раніше говорять: «Ми запускаємося і під 2-им, і під 3-м пайтоном». І це для них, напевно, правильний шлях.

Читайте також  Топ-10 безпечні сайти для скачування музики

У нас в Яндексі є кілька різних корпоративних, внутрішніх культур розробки.
У частині 3-ій Python, на який почали переходити досить активно. У частині був тільки 2-ой. У центральній пошукової частини, яка пов’язана з порталами, зі всім таким, в якийсь момент закріпилася політика про те, що поки тільки 2.7: пошукова історія живе в прекрасною, але дуже хитрою з точки зору складання, deployment і всього такого, середовищі.

Поетом коли потрібно було вибрати один Python. Природно, вибрали той, на якому величезна кількість legacy, який прям одразу не переписати. І довгий час був лише 2-ой Python. Але зараз такої проблеми вже немає, підтримується і 2-ий і 3-ий, і я навіть бачу досить прикольний процес міграції на 3-ій.

Про джунов

Михайло Корнєєв: Просто нас завжди про це запитують. Що вміти, знати. Це питання, на який, напевно, складно відповісти добре, тому що відповідь буде, напевно, дуже загальний. Може в тебе вийде?

Григорій Петров: В які сторони їм старатися?

Григорій Бакунов: Прямо скажу, я не можу за весь Яндекс сказати. На мій погляд, найважливіше, як не дивно, — це не алгоритми, не стільки супер глибоке знання бібліотек, і не стільки вміння добре програмувати, скільки знання, як працює система контролю версій, як варто взаємодіяти з іншими людьми в процесі code review, розуміння, що часто продокументировать шматок коду не менш важливо, ніж його написати і т. д.

Потрібно навчиться користуватися інструментарієм в досить широкій мірі. Тобто, це ж такі базові речі.
І як не дивно, серед джуніорів, які приходять на стажування або просто виходять на роботу, тих, які цим вже володіють – їх практично немає.

Михайло Корнєєв: Ми своїх змушуємо, об’єднуємо їх в команди, але це йде дуже важко, тому що половина каже: «Я не хочу в команді». А без команди,… Розумієш, так? Вони поодинці чогось з git-му попрацювали…

Григорій Бакунов: Це популярна історія про те, що працювати поодинці завжди швидше і здається, що якісніше. Але як тільки тобі потрібно опрацювати півроку, ти розумієш, навіщо збираються колективи.

“Опинившись перед Гвідо, що ти йому скажеш?” (с)

Григорій Бакунов: В цей раз я хотів би поставити дуже важливе питання: “Ну от і як це?”

Адже він зробив вигляд, що він більше не у справ.
Але я знаю, що він глобально нікуди не пішов. І мені дуже цікаво, як це. Ось він 20 років був беззмінним диктатором. І тут він як би прибрав руки. Що він відчуває зараз? Як він примушує себе не висіти постійно в Bugzill-е? Що він робить? Він б’є себе по руках? Як це відбувається?

Читайте також  Безкоштовні смс через інтернет: як надіслати

Валентин Домбровський: Це тобі для особистого, так би мовити, досвіду?

Григорій Бакунов: Звичайно. Це найцікавіше, тому що його професійна діяльність, як у нас всіх, добре видно в мережі. Ми всі бачимо, що він робить. Ми всі бачимо його код. Ми всі бачимо, як він працює з ком’юніті. Про цієї його частини можна поміркувати по його справах. А ось як він примудряється тримати себе в руках і не лізти в справи дитини, якого виростив 20 років, – це велике питання.

Метод, як вибирати, куди розвиватися

Григорій Бакунов: Або ви обираєте широку область і говорите: «Клас, я буду вкладатися в, наприклад, уміння працювати з генетичними алгоритмами, тому що за ними теж явно якесь майбутнє, це явно недооцінена область».

Це такі широкі мазки. Або ти говориш: «Я буду розвиватися як…» — і далі називаєш якусь область. Наприклад, як людина, яка добре розуміє highload.

Але насправді, що точно потрібно робити, – це просто постійно розвиватися.
І тоді область, в якій вам потрібно розвиватися, випливе сама собою. Треба займатися областю, яка тебе природно пече. От якщо тебе пече, треба туди йти, навіть якщо ти в цей момент йдеш проти течії. Такі справи.

Михайло Корнєєв: Коли собеседуем собі людей, я зараз помітив (може бути, у мене вибірка невелика, але видно) наступне: люди, які начебто джуни, зараз пішли в data science, вони просто для себе роблять якісь прикольні штуки.

Ось буквально з останніх – один аналізував статистику по Counter Strike, інший розпізнавав комікси про Dilbert-а: хто там бос і так далі.

Григорій Бакунов: Клас.

Михайло Корнєєв: Видно, що він робить це для себе, по приколу. Це не якесь стандартне вправу – давайте котиків від собачок відокремлювати. А видно, що людина по фану для себе щось робив.

Це дуже круто: показник того, що на цю людину як мінімум варто пильно подивитися.
Валентин Домбровський: Так, це як раз те, про що говорив Григорій: якщо тебе пече, ти робиш це для себе, по фану, у тебе є мотивація цим займатися, ти розвиваєшся, і про це ми говоримо в майбутньому випуску.

***

Тільки що ви домотали до кінця розшифровку вибраних моментів випуску Python Junior з Григорієм Бакуновым. Повна версія епізоду доступна у відео – та аудіо-версіях:

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

Вам також сподобається...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *