Лариса Сафіна, Університети Південної Данії та Іннополіс - про невбиваних стереотипах і функціональних мовах програмування

Лариса Сафіна - старший викладач Університету Іннополіс, зараз отримує PhD в університеті Південної

Данії. Працювала тестувальником програмного забезпечення в компанії Fujitsu, займаючись переважно ритейл-проектами. Також працювала тестлідом в компанії Fix на різних проектах.

Вивчає мови програмування - такі як Haskell, Kotlin і інші.

Хаскелісти, функціональне програмування і популярні мови

- Чим ви саме займалися в магістратурі з програмного забезпечення Університету Іннополісе?

- Це була програма, куплена у університетуКарнегі Меллон. Вона була добре сформована за минулий час, в неї входять курси з аналізу ПО, архітектурі і методам. З другого семестру починається найголовніша і цікава частина - студентів розбивають на команди і вони працюють над реальними проектами. Фінально, наша ефективність оцінювалася по тому, як ми впоралися з цим проектом.

- Який у вас був проект?

- Ми працювали на Роснано, і нашим проектом буловіддалене керування освітленням деяких міст - включення освітлення, заплановане за графіком. У них було старе рішення, але вони хотіли перейти на нове.

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

- Стало цікаво, з якими мовами ви працюєте.

- За час свого навчання і роботи мені доводилосяпрацювати з безліччю мов. В даний момент, наприклад, я пишу на мові Kotlin. Він мені подобається найбільше. Але проект з Роснано ми писали в основному на C #. Досить часто мені доводиться стикатися по роботі з Java, будучи тестувальником, писала тести на Python, Java, C #. Для свого задоволення часто вивчаю функціональні мови програмування, наприклад, Haskell, і формальні мови, наприклад, для доведення теорем - Coq.

функціональне програмування - парадигма програмування, в якій процесобчислення трактується як обчислення значень функцій в математичному розумінні останніх (на відміну від функцій як підпрограм в процедурному програмуванні).

Haskell - стандартизований чистий функціональний мовупрограмування загального призначення. Є одним з найпоширеніших мов програмування з підтримкою відкладених обчислень. Оскільки мова функціональний, то основна керуюча структура - це функція.

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

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

- Це все прекрасно звучить, але ці мови зараз не використовуються на реальних проектах, той же Haskell - рідко, хоча я жодного проекту на ньому згадати не можу.

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

- Але вони використовуються саме для математичногомоделювання та доведення теорем - для наукових цілей, інакше кажучи. Якщо дивитися вакансії, хаскелістов взагалі практично ніде не потрібно, всі хочуть C +, Java, Python, Ruby, Go або взагалі йдуть у фронтенд, відповідно - JavaScript. Але хаскелістов зустріти - це прямо суперская історія.

- Скажімо так, вони допомагають формалізуватидеякі речі, які цілком можна побачити в реальності. Від мов для доказів теорем до Haskell, в принципі, недалеко, а від Haskell до індустрії теж рукою подати. Тобто не все так погано і марно.

Ймовірно, все це пов'язано із середовищем, де я перебуваю. І мені це не здається чимось вкрай незвичайним.

Данія, PhD і мікросервіси

- Чому тоді в решті середовищі такі мови не є популярними? І чому вони для вас цікаві?

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

- Котики всім подобаються. Ось мені подобається, що ви в Данії PhD отримуєте. Як ви взагалі після Іннополіса туди потрапили?

- Коли я вчилася в магістратурі, крім основнихкурсів ми повинні були брати електіви. І один з електівов, який я взяла, був пов'язаний з темою мікросервісов, а точніше з мовою програмування для мікросервісов - Jolie. Його автор зараз працює в Данії. Моїм завданням було внести в нього зміни - доопрацювання, заімплементіровать один з можливих операторів.

врізка

Коли я влаштувалася в Університет Іннополіс вже нароботу, начальник запитав, чим хочу займатися, моєю відповіддю було отримання PhD. У цей час з'явилася можливість стати здобувачем наукового ступеня якраз у того професора з Данії - винахідника мови Jolie. Таким чином ми і організували спільний PhD між Університетом Іннополіс і датським університетом, університетом Південної Данії.

- А що саме ви досліджуєте в Данії?

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

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

Університет Південної Данії. Фото: ricochet64 / Shutterstock

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

Мої наукові керівники формалізували це,написавши два теоретичних мови для опису глобальної моделі вузлів і поведінки конкретного вузла. Моя задача - це реалізувати і протестувати, показати, наскільки запропонована ними модель ефективна в порівнянні з іншими.

Чому гранти для жінок - це прикро

- Коли я написала, що хочу поговорити з вами про ІТ та жінок, ви сказали, що не дуже просто буде про це говорити, але готові озвучити. Чому у вас така думка?

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

- Чому ви так думаєте?

- Я в принципі часто бачу різну реакцію людей на ці питання. Такі теми часто обговорюються. І я бачу різноманіття думок.

- Коли ви пішли в Казанський університет на чоловічу спеціальність, то це вже не вважалося чоловічою спеціальністю?

- Так, я не розумію, звідки взялося думку, що це чоловіча спеціальність. У нас на ВМК (в Казанському університеті - «Хайтек») дівчат було десь 50%.

- А коли ви поїхали, було відмінність у ставленні до того, що ви робите, в Данії та в Росії?

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

- А які саме заходи вживаються?

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

врізка

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

- Ви б самі не хотіли коли-небудь отримати грант, тому що ви жінка?

- Взагалі, я вважаю, що це досить прикро. (Сміється)

- Прикро отримувати грант, тому що жінка, а не тому що ви кльовий фахівець?

- Так, тому що це говорить про те, що була оцінена не моя робота, а моя статева приналежність.

- А як ви думаєте, вашу роботу будь-коли, в Росії або в Данії, оцінювали рівно через те, що ви жінка, або змінювалася оцінка вашої роботи оточуючими людьми через те, що ви жінка?

- Ви знаєте, мені якось, наскільки я пам'ятаю, не доводилося з цим стикатися. Може бути, я наївна і просто не знаю про те, що це відбувалося, але мені ніхто не говорив: «Це добре для дівчинки».

Позитивна дискримінація, декрет для чоловіків і невбивані стереотипи

- А ваші батьки як поставилися до ваших вибору кар'єри - позитивно? Або у них був якийсь погляд іншої на те, чим ви повинні були займатися?

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

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

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

- Мені здається, що, навпаки, в нашому регіонібільше патріархально, ніж у вас, тому я, звичайно, здивована. Мені здається, це якось пов'язано з конкретною середовищем. Можливо, в юності ... ні, я не можу сказати, що мені якось пощастило, в університеті до мене ставилися як личить. Але, наприклад, водіння. Я ніколи не отримувала стільки образ на гендерному грунті, як за кермом. При тому, що це абсолютно не має під собою підстави. Тому я знаю, що є невбивані стереотипи, і багато жінок з ними стикаються. Чому я не зіткнулася з ними в плані роботи? Напевно, тому що була оточена людьми не з того середовища, для яких це було б нормальним.

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

- Так, безсумнівно. Ми іноді такі теми обговорюємо, як з курсами. Або, наприклад, я вважаю не зовсім чесним, що жінка часто втрачає деяку кількість часу, перебуваючи у відпустці за дитиною. Грубо кажучи, вона втрачає рік досвіду. У Данії існує таке рішення, що чоловік може отримати ті ж самі півроку декрету, які може отримати і жінка, якщо він хоче. Якщо він їх не візьме, то жінка їх взяти не може. І вони просто згорають.

- Є лише рік декретної відпустки, з якихпівроку зобов'язаний провести чоловік, а півроку - жінка? А якщо чоловік не хоче їх провести, то, відповідно, жінка сидить півроку в декреті, а потім вона виходить на роботу, я правильно зрозуміла?

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

врізка

- А ті люди, у яких були ідеї створити жіночі курси, - ви з ними обговорювали позитивну дискримінацію. Я правильно розумію, що це чоловіки?

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

- Якщо в Росії люди, які стурбовані дискримінацією жінок, це жінки, то конкретно на вашому прикладі в університеті в Данії стурбовані не тільки жінки, а навіть чоловіки.

- Ну, не швидше, а в тому числі. І мені здається, що це досить нормально.

- Для Росії це абсолютно ненормально, тому що у нас склалося якесь дивне ставлення в цьому плані.

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

- Може бути, проблема в тому, що жінки-програмісти з країн СНД збігають з країн СНД?

- Ну, тим не менш, вони є. І збігають не тільки жінки. А що стосується екстремальності цієї молодої людини, про що я забула договорити. Я сказала, що вважаю несправедливим те, що жінка втрачає рік досвіду і потім повинна виконувати роботу на тому ж рівні, тому що їй потрібно продовжувати змагатися в професії. При цьому я для себе вибрала PhD, а не сім'ю. На що мій колега відповів: «У тебе, по крайней мере, є вибір». Тобто ти можеш вибрати роботу, якщо хочеш, а можеш вибрати сім'ю, якщо хочеш. Але найчастіше цього вибору немає. Передбачається, що головна мета жінки - завести сім'ю, народити дітей, вигодувати і інше.

- У вас немає відчуття, що такі курси - «загончікі для жінок»?

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

- Я правильно розумію: через те, що спочатку ви були в науковому середовищі, то саме в середовищі вчених не помічаєте проблем відносини? Тому що сама інтелігентно-культурне середовище передбачає - головне не те, хто людина, а те, що він зробив.

- Можливо, це середовище передбачає тримати язикза зубами і не говорити гидоти іншим людям.Возможно, вона і правда інтелігентна. Складно сказати. Але так, коли говорю, що перебуваю в своїй у вежі зі слонової кістки, маю на увазі саме те, що я кілька відірвана від щоденної дійсності.

«Плюйте на всіх і йдіть підкорювати»

- Надалі ви хочете продовжувати вчитися і займатися дослідженнями?

- Це як план «А». Тобто не факт, що я завжди зможу отримати необхідну мене позицію в академії, а як план «Б» - це повернутися в індустрію.

- Ви помічаєте різницю в якості освіти між Університетом Іннополіс і Університетом Данії? Мова не про те, який з них застарілий, а в різниці підходів до освіти.

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

врізка

Якщо коротко розповісти про цей курс, вінназивається «Проект першого року навчання», на якому ментори дають цікаві завдання. Студенти в групах можуть самі вибирати, над якою з них вони хочуть працювати. Ментор допомагає знайти потрібний напрямок у вирішенні завдання. Мета курсу - навчити студентів першого року навчання, вирішувати проблеми, працювати разом в команді і робити хорошу презентацію. В Університеті Іннополіс є щось схоже на другому курсі, але я його не вела. В КДУ ж була більш класична школа, але можна було вибирати веселі молодіжні електіви.

- Що ви можете сказати дівчатам, які знаходяться в іншій ситуації, якою говорять, що математика і програмування - не жіноча справа, а вони хочуть піти в науку?

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

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