Начните карьеру в cybersecurity: вакансии .Net | Python+.Net 🔥 Warsaw

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

Оставить комментарий
Докажи, что режешь мышку не просто так. 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, из личного архива героя

 

Подписывайтесь на «Что к чему» —
анамнез и главные симптомы беларуского ИТ.
Цифры, графика, ничего лишнего. Выходит раз в 2 недели.
Спасибо! На указанный адрес отправлено письмо для подтверждения подписки.
Читайте также
Думскроллинг вредит психике и физическому здоровью пользователей
Думскроллинг вредит психике и физическому здоровью пользователей
Думскроллинг вредит психике и физическому здоровью пользователей
2 комментария
Компании с беларусскими корнями заплатили в Литве €25 млн налогов в I полугодии. Половина - из ИТ
Компании с беларусскими корнями заплатили в Литве €25 млн налогов в I полугодии. Половина - из ИТ
Компании с беларусскими корнями заплатили в Литве €25 млн налогов в I полугодии. Половина - из ИТ
3 комментария
Россия и Беларусь в геймдев-изоляции. Что было на DevGAMM в Литве
Россия и Беларусь в геймдев-изоляции. Что было на DevGAMM в Литве
Россия и Беларусь в геймдев-изоляции. Что было на DevGAMM в Литве
Физик выдал выдал фото колбасы за снимок телескопа «Джеймс Уэбб». Пранк зашел слишком далеко
Физик выдал выдал фото колбасы за снимок телескопа «Джеймс Уэбб». Пранк зашел слишком далеко
Физик выдал выдал фото колбасы за снимок телескопа «Джеймс Уэбб». Пранк зашел слишком далеко

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.