Докажи, что режешь мышку не просто так. Scala-разработчик ушёл в науку — и вернулся обратно

7 комментариев
Докажи, что режешь мышку не просто так. Scala-разработчик ушёл в науку — и вернулся обратно

— Я сказал работодателю «извините» и пошёл собирать чемодан: меня ждала наука, — поработав в белорусском аутсорсе, программист Александр Грызлов уехал в Бельгию учиться на биоинформатика. В интервью dev.by он рассказал, чем научный мир отличается от айтишного и почему его в конце концов «отвернуло» от науки — зато опыт обработки больших данных пригодился в одной из ИТ-компаний в Вильнюсе.

Читать далее...

Извините, но меня ждёт наука

13 лет назад Александр учился на факультете прикладной математики и информатики БГУ и параллельно проходил онлайн-программу университета Мангейма в Академии Наук. Подрабатывал сперва в IBA и Exadel, после вуза поработал в аутсорсинговой ИТ-компании Elilink. За год освоился и начал интересоваться... биологией: устройством клетки, геномом.

— Я подумал, а почему бы мне не объединить две науки: Computer Science, которой я увлёкся ещё на первом курсе, и биологию. Стал смотреть вакансии в области биоинформатики, подавал заявки в аспирантуру за рубежом. И так сложилось, что прошёл в подразделение биотехнологий Гентского университета (Бельгия). Долго ждал подтверждения и, когда уже согласился на вакансию во Львове, пришло письмо из Гента. Я так обрадовался, что сказал работодателю «извините» и пошёл собирать чемодан — меня ждала наука.  

Первый проект, над которым работал белорус в Бельгии, был связан с микромолекулярными веществами, а именно с моделированием эволюции дрожжей. Бельгийцы, как известно, большие поклонники пива, поэтому не удивительно, что такими исследованиями занимаются именно там.

Flickr, EMSL

— Я исследовал и моделировал белок, ответственный за запуск процесса ферментации, а именно за катализ расщепления сахара-мальтозы до глюкозы (служит топливом для брожения). Идея заключалась в том, чтобы на кластере симулировать эволюцию белка. Поскольку у нас есть транскрипты его генетического кода у разных видов дрожжей, мы можем приблизительно подсчитать ферментативную активность у разных его вариантов и попробовать сымитировать процесс, происходивший в природе тысячелетиями.

Но затем произошёл несчастный случай с преподавателем — и работа остановилась почти на год.   

«Сухая» и «мокрая» лаборатория

— Когда-то биоинформатику называли сборной солянкой, потому что у неё много ответвлений, одно из популярных — системная биология, которая пытается не просто посчитать корреляции одних генов с другими, а смоделировать какие-то клеточные процессы. Есть проекты и по эволюционной биологии — моделируют и восстанавливают по косвенным признакам процесс микроэволюции каких-то генетических или белковых подсистем. Целиком на организм пока не замахиваются, но какие-то отдельные признаки изучают разные группы учёных.    

Основная задача биоинформатика — с помощью моделирования определить область, куда можно «копать». Например, просканировать оцифрованный геном, попытаться найти в нём интересные характеристики и понять, исследовать ли его дальше с помощью экспериментов или оставить в покое.

— В науке есть такие понятия, как «сухая» и «мокрая» лаборатория. Мокрая — это экспериментаторы, а сухая — это мы, компьютерщики. Между ними, как и в любой составной группе, может возникать недопонимание, различия в мировоззрениях. У экспериментаторов работа очень выматывающая: большую часть времени просто сидишь с пипеткой и капаешь по пробиркам. При этом уходит на это не 8 часов в день, а все 12. Далеко не всегда это творческая работа: она требует выносливости.

Эксперименты на растениях занимают месяцы, а на животных ещё больше — нужно сперва доказать, что ты не просто так собираешься резать мышку, а для какой-то благой цели. Это всё очень трудозатратно.

Flickr

— Целиком «размотать» цепь ДНК с текущими технологиями очень сложно. Поэтому её, как правило, «рубят» на мелкие куски и считывают их по отдельности, а потом склеивают. Сейчас эта задача уже решаема, есть подходы, с помощью которых сравнительно быстро проводится такое полногеномное секвенирование. Каждое из них — это научное статья. Поэтому часто можно увидеть статьи с заголовками «секвенирован геном картошки» (или баклажана) — и перечисляется весь список учёных (40-70 человек), которые этим занимались: начиная от тех, кто получал материал, и заканчивая теми, кто писал вспомогательные программы.    

Как учёные жертвуют временем и мощностями своих компьютеров — но не ради биткоинов 

Одна из фундаментальных на сегодня проблем в биологии — свёртка (или фолдинг) белка, т.е. сворачивание аминокислотной линейной цепи в уникальную трёхмерную форму, похожую на клубок или причудливую фигурку. Это важный процесс, поскольку свёрнутая форма определяет функционирование белка: он может прицепиться к какой-то молекуле и разрезать её пополам, или, наоборот, способствовать «склейке» двух молекул в одну. В общем, это основной элемент огромной биохимической фабрики.

Исследования таких процессов дорогостоящие: свёртка в клетке происходит очень быстро, за какие-то десятки-сотни микросекунд. Однако на отдельном компьютере посчитать такое для сложных белков практически нереально — это может занимать десятки лет. Поэтому учёные прибегают к распределённым способам, например, тем, которые сейчас стали популярны в сфере криптовалют.

folding.stanford.edu

— Только в условном биткоине люди делают это, чтобы поучаствовать в распределении денежного потока, а в старых биологических проектах вознаграждения пользователи не получали, — поясняет Александр. — Просто выделяли часть времени и мощности своего компьютера для расчётов таких сложных и важных вычислений. Есть мнение, что квантовый компьютер может сильно упростить решение этой проблему, но это, если честно, пока из области научной фантастики.

Баги научного мира: учёные-кочевники и научная паранойя

Из-за долгой паузы (около года), которая образовалась из-за несчастного случая с преподавателем Гентского университета, запал осваивать мир биологии у программиста погас.

— Я потерял время, а из-за этого и мотивацию учиться, поэтому решил это прекратить: бросил, так и не защитив диссертацию. Ещё одна причина, почему я ушёл из науки — там не было хардкорного Computer Science. Нужно было писать стандартные скрипты, которые будут «перемалывать» какую-то штуку — чисто технически-прикладное занятие, — поясняет собеседник.  

В науке образовался кризис перепроизводства, считает он. В мире выдают много грантов на обучение, но проблема в том, что позиций для докторов наук очень мало, и за ними все «охотятся». К тому же грантовая публикационная система работает таким образом, что твои публикации должны цитировать другие. В итоге возникает сообщество, где все друг друга повально цитируют: «Кто эти статьи читает, кроме рецензентов, и насколько это применимо к жизни — спорный вопрос», — разводит руками Александр.

В западной науке нельзя засиживаться на одном месте (максимум — где-то 5 лет), по крайней мере до тех пор, пока ты не получил позицию мечты, считает белорус. Поэтому после защиты диссертации ты вынужден скитаться из университета одной страны в университет другой. «Получается такой учёный-кочевник: первые полгода-год ты вникаешь в задачи, а последние полгода лихорадочно всё доделываешь, и потом тебя «перефутболивают» на новый проект», — объясняет программист.

К тому же атмосфера конкуренции приводит к тому, что учёные не стремятся помогать друг другу — каждый «строгает» свою часть работы и бдительно следит, чтобы её не украли. «Бывает, что ты почти дописал работу, а её кто-то уже опубликовал, — рассказывает Александр. — И 2-5 лет исследований отправляются коту под хвост. Поэтому все параноидально следят за своими данными и наработками, и из-за этого формируется иногда не совсем здоровая атмосфера».

— Пригодилась бы мне сейчас докторская степень? — задаётся вопросом собеседник. — Собственно, как и диплом, чтобы показать, что я не просто какой-то парень с улицы — у меня есть крутая корочка, и я что-то знаю. В ИТ в этом плане гораздо проще.     

The group of researchers who figured out the molecular structure of RNA. Flickr, marsdd

Java и JVM созданы друг для друга, но я выбираю Scala

Сейчас Александр — Data Scientist в ИТ-компании в Вильнюсе. Задачи у него, конечно, не такие наукоёмкие, как в Бельгии, но, по его словам, тоже интересные:

— На уровне программирования не так уж и важно, какие у тебя данные: показы баннеров или вспышки активности каких-то ферментов. Основное — это работа с данными и распределёнными фреймворками, такими как Apache Spark. Причём большую часть времени занимает очистка и приведение данных в надлежащий вид, а поиск каких-то закономерностей происходит практически вручную или по известным алгоритмам.

Программист работает на Scala, несмотря на то, что большинство разработчиков не жалуют этот язык:

— Scala я выбрал по историческим причинам. Когда учился в университете, ходил на курсы по Java. Мне интересно было функциональное программирование, и я самостоятельно изучал Lisp и OCaml. А потом из всего этого синтезировалась Scala. В этом языке много инструментария, которым можно делать сложные вещи, но, если не задаваться такой целью, то можно писать и довольно просто. Всё равно существует баланс между выразительностью и абстрактной сложностью.    

Разработчик считает, что нельзя сравнивать, какой из языков — Scala или Java — раскрывает больше возможностей JVM: «Java и JVM созданы друг для друга, поэтому нельзя сказать, что Scala в этом плане лучше. Scala сейчас пытается развиваться как многоплатформенный язык: и JS там уже есть, и экспериментальный нативный код. К тому же в процессе трансляции какие-то функциональные нюансы теряются».         

— В интернете была шутка про языки, в которой говорилось, что Scala пытается объединить возможности функционального и объектно-ориентированного программирования, а в итоге его начинают люто ненавидеть обе стороны. Действительно, когда пытаешься объединить две стороны, то порой наталкиваешься на непонимание обеих. Поэтому в энтерпрайзе этот язык не всегда жалуют. Но за пять лет я уже освоился. Не могу сказать, что знаю все его закоулки, всегда можно написать что-то более остроумное. В общем, есть, куда расти и какие абстракции изучать. 

 

Фото: Flickr, из личного архива героя

 

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

Читайте также

Китайские ученые создали квантовую линию связи с помощью дронов
Китайские ученые создали квантовую линию связи с помощью дронов
Китайские ученые создали квантовую линию связи с помощью дронов
Литва упростит релокейт белорусским компаниям в обмен на инвестиции в экономику
Литва упростит релокейт белорусским компаниям в обмен на инвестиции в экономику
Литва упростит релокейт белорусским компаниям в обмен на инвестиции в экономику
53 комментария
«Беларусь остаётся в приоритете». Godel открыла офис в Вильнюсе
«Беларусь остаётся в приоритете». Godel открыла офис в Вильнюсе
«Беларусь остаётся в приоритете». Godel открыла офис в Вильнюсе
10 комментариев
Ученые создали материал, который может регенерировать смартфон
Ученые создали материал, который может регенерировать смартфон
Ученые создали материал, который может регенерировать смартфон

Обсуждение

2

заголовок и абстракт звучит так, будто автор занимался наукой и теперь делится впечатлениями. а судя по самой статье, он только со стороны на нее посмотрел.

6

Почему вы считаете что писать алгоритмы для анализа, это смотреть со стороны?
Все вам "простым белорусам" подавай рок звезд, иначе не "считается".)

0

"Первый проект, над которым работал белорус в Бельгии, был связан с микромолекулярными веществами, а именно с моделированием эволюции дрожжей.
[...]
Но затем произошёл несчастный случай с преподавателем — и работа остановилась почти на год.
[...]
Из-за долгой паузы (около года), которая образовалась из-за несчастного случая с преподавателем Гентского университета, запал осваивать мир биологии у программиста погас.
[...]
— Ещё одна причина, почему я ушёл из науки — там не было хардкорного Computer Science. Нужно было писать стандартные скрипты, которые будут «перемалывать» какую-то штуку — чисто технически-прикладное занятие, — поясняет собеседник. "

2

А наука не делается по мановению волшебной палочки или по плану до 2040 года. За всеми красивыми результатами стоит самая настоящая рутина. Это вам не распознавание и перекрашивание волос ради фана (и денег, ессно)))

0

в науке не без рутины, но не всякая рутина в науке - наука ;)

5

Как и не всякая рутина в программинге - программинг )) Не напомните, какой там процент рутины каждый день у девелопера? Походы на кухню чур не считать.

-13

Попробуйте не Scala а Clojure, его применение для обработки данных он будет намного эффективнее.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже