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

Лариса Сафіна- старший викладач Університету Іннополіс, зараз отримує 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, а не сім'ю. На що мій колега відповів: "У тебе принаймні є вибір". Тобто ти можеш обрати роботу, якщо хочеш, а можеш обрати сім'ю, якщо хочеш. Але найчастіше цього вибору немає. Передбачається, що головна мета жінки – завести сім'ю, народити дітей, вигодувати та інше.

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

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

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

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

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

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

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

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

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

врізка

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

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

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

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