Русский
Русский
English
Статистика
Реклама

Расшифровка ruvds

Профессия системный аналитик развитие сообществ, популяризация профессии и подготовка

14.11.2020 12:04:35 | Автор: admin

Недавно на нашем ютуб-канале выступил Алексей Лобзов главный системный аналитик Альфа-Банка, техлид аналитиков корпоративного направления. Алексей занимается подбором, онбордингом и развитием системных аналитиков. Так же, он известен на Хабре как alobzov, регулярно выступает с докладами, обучает системных аналитиков онлайн.

Делимся записью эфира и расшифровкой.




Меня зовут Алексей Лобзов, я являюсь главным системным аналитиком в компании Альфа-Банк. Я одновременно выполняю роль технического лидера аналитиков корпоративного направления нашего банка.

Я хочу рассказать о профессии системного аналитика и рассмотреть три вопроса: сообщество аналитиков, популяризацию профессии и подготовку аналитиков, в первую очередь без опыта работы, то есть, аналитиков начального уровня.

Есть ли какое-то официальное определение системного аналитика и его области ответственности?


Это роль на проекте, в продукте или компании, или профессия/должность?
Системный аналитик это профессия. На сайте Минтруда есть раздел Справочник профессий, где можно найти профессию системного аналитика и прочитать, в чем состоит ее описание. Также с этой страницы можно перейти на профессиональный стандарт и узнать, какие функции ожидаются от человека этой профессии.

Хотя, на практике могут быть отклонения. Так или иначе, если вы устраиваетесь на работу на должность системного аналитика, то у вас будет должностная инструкция с обязанностями, которые работодатель ожидает от вас. Отклонения от стандарта, скорее всего, не будут существенными.

Встречались ли на практике разные понимания этой профессии у разных людей, были ли конфликты на этой почве?


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

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

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

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

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

Это произошло относительно недавно; это было тогда, когда я пришел в Альфа-Банк, в начале 2017 года. Тогда моя команда (и еще 4 таких же команды) занималась созданием интернет-банка для юридических лиц и ИП. Каждая команда развивала свой программный продукт, и интернет-банк в целевой картине должен был состоять из этих продуктов. Мы пришли к пониманию того, что все эти продукты невозможно развивать независимо, каждый по-своему.

Например, с интерфейсом пользователь сталкивается в первую очередь, и у одного продукта цвет UI может быть условно песочный, а у другого серый, а у третьего еще какой-то; такого нельзя было допускать. Мы пришли к пониманию того, что разрабатывать наши пять продуктов нужно скоординированно. Команды изначально работали по методике, близкой к SCRUM, но с особенностями, которые накладывает банковская специфика. Так или иначе, мы масштабировали SCRUM на пять команд, поработали в таком режиме и выпустили интернет-банк, открыли его на пользователей. Появился любопытный опыт, который я до этого нигде не встречал в том числе, и в текстах. Поэтому у меня появилась идея поделиться этим опытом.

Я хотел поделиться конкретно с сообществом аналитиков, и передо мной встала задача: найти такое сообщество. Я поспрашивал у коллег из Альфы; мне сказали, что есть популярная конференция аналитиков Analyst Days. Она проходит каждый год, и можно пойти туда и выступить, или хотя бы поучаствовать, узнать какие-то интересности, которые можно будет потом применить в работе.

Я начал анализировать возможность посещения этой конференции и как спикер, и как обычный участник; в итоге я пришел к выводу, что эта конференция мне не подходит. Этому было две причины: во-первых, в моем понимании, на конференцию приходят серьезные люди с серьезными темами, и участники платят за то, чтобы послушать их и задать вопросы. Во-вторых, я просто не был готов платить за билет участника; у меня был пример Московское сообщество разработчиков на Python (Moscow Python Meetup), которое ежемесячно проводит митапы со свободным входом. Там можно бесплатно прийти, послушать спикера, задать вопрос, пообщаться с питонистами, съесть пиццу в пицца-паузе; если у тебя есть тема, то ты можешь самостоятельно записаться, заявить тему перед оргкомитетом, и, если тема подходящая, тебя с высокой вероятностью включат в план выступлений. Поэтому я стал искать что-то похожее на MPP, но для сообщества аналитиков.

Поиск выдал мне информацию о сообществе аналитиков с сайтом uml2.ru. Я ознакомился с сайтом, мне все понравилось; даже попробовал сходить на несколько встреч сообщества. В принципе, было все интересно: контент, люди. Не устраивала меня регулярность встреч: по сравнению с сообществом питонистов эти встречи проходили нерегулярно (или я не получал информацию о том, когда будет очередная встреча). Плюс, с сообществом аналитиков у меня не срослось возможно, были дополнительные факторы. Мне пришлось выступать с докладом у разработчиков на Python.

Время шло; потребность в сообществе осознал не только я, но и мои коллеги из Альфы. В 2018 году родилась внутренняя инициатива: создать собственные митапы для аналитиков.

Мы собрались с коллегами и создали митап AnalyzeIT: первый раз он прошел 20 сентября 2018 года. В 2019 году было еще два митапа, мы планировали проводить их раз в полгода. В том же году прошел митап от сообщества аналитиков Райффайзенбанка я узнал о нем от коллег из Райфа, которые предложили мне поучаствовать в качестве докладчика. Я не мог отказать; таким образом, я узнал про новое сообщество системных аналитиков, которое мне подходило. Со временем, с моим ростом, с приобретением новых знаний, с общением внутри сообществ я стал узнавать о новых и новых площадках, на которых можно было обмениваться опытом, заводить контакты, организовывать проекты, даже искать новую работу. Из таких площадок я могу выделить Открытый митап для аналитиков: он проходит онлайн, недавно прошла первая встреча, и следующая планируется на 26 ноября. Его идея состоит в том, что, на самом деле, сообществ аналитиков по России очень много; если брать региональную разбивку они есть в Москве, Петербурге, Екатеринбурге, Перми, других городах, и требовалась площадка, на которой люди из разных сообществ могли бы коммуницировать друг с другом.

Как я уже сказал, 26 ноября будет вторая встреча этого сообщества IT Analyst Online Meetup. Если вам интересно зарегистрируйтесь; думаю, она пройдет полезно.

Что делать системному аналитику, когда он пришел на новый проект, а там плохое покрытие документации, конфликты между пользовательским интерфейсом и бэком? С чего правильнее начать в такой ситуации?


Универсального средства для решения таких проблем нет. Аналитик должен разобраться в текущей ситуации и навести порядок; как именно зависит от конкретной ситуации. Если нет документации возможно, стоит выделить время и сформировать ее. Если есть проблемы между интерфейсом и бэком возможно, стоит состыковаться с фронт- и бэк-разработчиком, привлечь архитектора и вместе решать проблему. Сходу ответить на вопрос невозможно, я думаю.

Я рассказал, что есть несколько митапов для аналитиков, где можно свободно выступить, задать вопрос спикеру, пообщаться с членами сообщества. Помимо митапов, есть и другие площадки; сейчас очень популярны телеграм-группы: у того же Райффайзенбанка есть группа для системных аналитиков, я в ней состою. Там, хотя и не так часто, появляются вопросы, и сообщество с удовольствием предлагает варианты решения проблем. Группа называется Open SA Community Raiff; если вам интересно, тоже заходите. Как пример вопроса: недавно заходила девушка и писала, что работает в системном анализе, но чувствует, что в знаниях не хватает структуры, общей методологии аналитика. Она спрашивала мнения сообщества о том, как получить такую структуру; с одной стороны, можно пойти получить высшее образование, с другой сейчас есть много онлайн-курсов, в том числе и по системному анализу, и, возможно, стоит идти туда. А, возможно, стоит попросить руководителя или лида побыть ментором и помочь прокачать аналитику. Различные варианты, возможности; в сообществе как раз и обсудили, что может быть лучшим вариантом.

На митапах можно найти работу джуном?


Да, на митапах можно найти работу. Если мы берем митапы от Альфа-банка там всегда есть HR-специалисты, у них можно получить информацию по вакансиям и передать им свое резюме для рассмотрения. Если в компании есть джуниорские позиции, то можно на них претендовать. Сейчас в Альфе есть оплачиваемые стажировки; конечно, их немного, но они доступны если бы сейчас проводились митапы, можно было бы на них претендовать. Я думаю, на любом митапе, где присутствуют представители HR компании-организатора, есть шанс найти джуниорскую позицию. Поэтому, ходя по митапам, нужно спрашивать.

Я упомянул телеграм-группу Райффайзенбанка; на самом деле, есть и другие группы. В том числе, можно найти отдельные группы по городам. Недавно на Хабре я видел статью, которую написала Анна Михайлова из консорциума Кодекс статья посвящена теме развития аналитиков. Она упоминала сообщества, приводила ссылки на них; в комментариях читатели накидали других ссылок, на телеграм-группы разных сообществ. Статья называется Развитие аналитиков. Ссылок там очень много; все вряд ли можно перечислить.

Обмен знаниями проводится и на других интернет-ресурсах. На том же Хабре, в корпоративных блогах, публикуются статьи от аналитиков компаний; также аналитики пишут собственные статьи, без привязки к компаниям. Мне доставляет удовольствие читать Хабр, и время от времени я нахожу полезный материал.

Чем бизнес-аналитик отличается от системного?


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

Если кратко бизнес-аналитик больше работает с бизнес-составляющей. Это работа с бизнес-требованиями, создание процессов, реинжиниринг существующих процессов. Больше процессов и бизнеса. Системный аналитик больше работает с техникой: проектирование архитектуры будущей системы, проектных решений, написание технических спецификаций, плотное взаимодействие с командой разработки. В моем понимании, бизнес-аналитик больше взаимодействует с бизнесом, а системный с командой разработки. Более формальная граница проводится в профессиональных стандартах. Но, так или иначе, от компании к компании обязанности будут отличаться, и это остается спорным вопросом.

Используется ли вы EPС, или достаточно UML и BPMN?


Если мы говорим про то подразделение, в котором работаю я, то в архитектурных и технических документах мы используем все эти нотации. UML Sequence наверно, наиболее популярные. EPC мы используем в архитектурных документах, при описании функциональных моделей процессов. BPMN я лично еще не использовал его, но некоторые коллеги в Альфе используют в описании архитектурных документов.

Если аналитик ищет в enum переменные на C# и сопоставляет их с документацией это не слишком ли большой отход от обязанностей системного аналитика?


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

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

Что лучше использовать для верхнеуровневого проектирования системы? Компонентную диаграмму или диаграмму deployment?


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

Про сообщества аналитиков поговорили. Если резюмировать, то сообществ на самом деле очень много. Есть конференции я назвал одну, Analyst Days, но на самом деле их много, та же Точка сборки в Питере чего стоит. Помимо конференций, есть митапы аналитиков, телеграм-группы, ресурсы в интернете, где можно общаться и обмениваться опытом.

Что, если вы просмотрели множество сообществ, но не нашли ничего для себя? Вам все еще хочется поделиться информацией с другими или узнать, чем занимаются коллеги из других профессиональных сообществ. В этом случае вы свободны в выборе сообщества из другой области. Например, вы можете посетить сообщество разработчиков, посмотреть, чем они занимаются. Или сообщество тестировщиков, или QA-инженеров и обменяться опытом там. Я достаточно долго ходил на митапы сообщества питонистов, мне было там интересно; я даже задумывался о том, чтобы стать разработчиком на Python. Также я участвовал в старте сообщества QA-инженеров компании Додо Пицца. Это было в 2018 году; ребята только начинали свои митапы, прошел один митап и готовился второй в феврале. Они искали спикеров и предложили мне выступить с докладом несмотря на то, что я не являюсь QA-инженером и отношение к тестированию имею опосредованное, только с точки зрения аналитика.

В случае, если вас приглашают в другое сообщество, или у вас есть желание посетить другое сообщество не стесняйтесь, посещайте, выступайте. Мы все работаем в IT, у нас много точек соприкосновения и общих тем для общения. Например, на втором митапе от Додо Пиццы я выступил с докладом, рассказал, как я (как аналитик) участвую в процессе QA, рассказал о техниках, которые аналитики применяют в своей работе, о тестировочных техниках. Должен заметить, что в наших командах приветствуется развитие Т-компетенций. Это когда у тебя есть основная компетенция (у меня системная аналитика) и смежная компетенция (разработка, тестирование). Это помогает лучше понимать, чем занимаются коллеги, и иногда подстраховывать их в выполнении простых задач, если они отсутствуют. То есть, можно прокачать компетенции и, например, разработать несколько автотестов с использованием существующего фреймворка. Поэтому, если у вас есть возможность и желание посещать другие сообщества я очень рекомендую это делать.

Также я хотел упомянуть об организации собственного сообщества. В чем проблема: вы можете пройтись по существующим сообществам, посмотреть сообщества смежных направлений, но вас ничего не устроит; вы видите для себя определенную нишу и готовы запустить собственное сообщество. Если у вас такая ситуация это хороший опыт; вы можете попробовать войти в эту историю и, возможно, из этого что-то вырастет. На примере Альфы как я уже говорил, мы запускали собственное сообщество, свои митапы AnalyzeIT. У нас было всего три митапа. Как мы их запускали: у нас была команда аналитиков, которые отвечали за контент, и команда из отдела развития бренда, которая отвечала за организацию помещения, привлечения участников и слушателей и за организацию бургер-пати (потому что какой митап без бургер- или пицца-пати; очень важный компонент можно перекусить и пообщаться с коллегами, которые пришли на мероприятие). Организация первого митапа потребовала много времени; мы тщательно готовились, отобрали несколько докладов и 3-4 недели проводили их репетиции. Была безумная подготовка, потом выступили и выдохнули. Остальные митапы были полегче, потому что мы получили опыт, но первый был самым сложным и запоминающимся.

Конечно, сейчас митапы не проводятся из-за эпидемии; в онлайн мы ещё не вышли, но следующем году, возможно, будет развитие.

Мне очень понравилось участвовать в организации сообщества системных аналитиков от Альфа-банка, и в качестве спикера в старте сообщества аналитиков от Райффайзенбанка, и в организации митапов для QA-специалистов от Додо Пицца. Все это полезный опыт.
Я хочу перейти к следующей теме популяризации профессии. Я, как системный аналитик, хотел бы популяризовать нашу профессию. Зачем это нужно? Я выделил для себя две главных причины того, почему стоит этим заниматься.

Первая из них состоит в том, что до сих пор ощущается острое непонимание рядом специалистов сути того, чем все-таки занимаются аналитики. Оно возникает по нескольким причинам. Во-первых, в разных компаниях под должностью аналитика подразумевает различные вещи не кардинально, но различия есть.

В одних компаниях аналитики занимаются только работой с требованиями и написанием верхнего уровня в их ТЗ, в других они лезут в БД, делают запросы и пишут хранимые процедуры.

Все относительно и зависит от самой компании. Если она может позволить себе иметь выделенную должность техписателя, то аналитик будет заниматься работой с требованиями и проектирование, а не описанием существующих решений и документированием системы. В разных компаниях разные требования и ожидания для аналитика, поэтому порой возникает непонимание: чем должен заниматься эталонный аналитик?

Если читать интернет-ресурсы тот же самый Хабр то можно найти относительно много публикаций на одну и ту же тему: какие типы аналитиков бывают и чем они отличаются. Я видел такие публикации и в 2013 году, и сейчас. Вроде бы прошло 7 лет, но об этом продолжают писать значит, непонимание сохраняется.

Например, статей о том, какие типа разработчиков на Python бывают и чем они отличаются, нет; понятно, что среди них есть такие, кто занимается разработкой софта, или аналитикой данных с использованием Python для анализа, но статей с разделением их на типы я не встречал. Наверно, с этой специальностью-профессией все понятно, а вот с аналитиками нет.

Собственно, поэтому я хожу и рассказывают о наших аналитиках. У меня есть опыт системного анализа в Альфа-Банке, и поэтому я фокусируюсь на том, кто же такой системный аналитик в Альфе, чем мы живем, чем занимаемся, как пишем документацию, как оцениваем ее качество, работаем ли мы с метриками продуктов, как происходит развитие наших аналитиков. Я пишу обо всем этом, но с примечанием, что это происходит именно в Альфе; какую-то обобщенную точку зрения на то, кто такой системный аналитик, я не могу дать для этого лучше воспользоваться профессиональными стандартами. В них написан эталон.

Очень интересный кейс, связанный с популяризацией профессии я его назвал кейсом о том, как на двух разработчиков стало меньше. У меня есть два знакомых девушка и парень; девушка закончила технический университет и искала место для стажировки, парень имел большой опыт работы, последние несколько лет работал в продажах, но хотел сменить деятельность перейти в ИТ.

То есть, оба искали возможности в ИТ-сфере; конечно, первое, что приходит на ум в связи с ИТ это программирование, поэтому они смотрели, в том числе, на то, могут ли они зайти на рынок разработчиков информационных систем, и, если могут, то куда: front, middle. У них были свои предпочтения и обстоятельства. И ребята, на самом деле, не до конца понимали, чем занимается системный аналитик; но после того, как мы с ними побеседовали, у них появился интерес. Вслед за беседой я привел их на второй митап от Альфы, они пообщались с нашими аналитиками, послушали доклады. Девушка потом устроилась на стажерскую программу в Альфа-банке, прошла ее и теперь работает в одном из подразделений системным аналитиком. Парень прошел через школу системного анализа, тоже у нас, устроился в штат и сейчас работает в другом подразделении.

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

Следующий поинт откуда приходят в аналитику и куда уходят из неё; это пересекается с одним из вопросов из зала: какая следующая ступень после системного аналитика.

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

И разработка: ребята, которым надоело писать код и которые хотят заняться проектированием. Все три направления ИТ-шные, смежные, у всех у них есть шанс попасть в аналитику. Также велик пласт ребят, которые приходят к нам с резюме как кандидаты. Достаточно много приходит из бизнес-анализа: они позанимались бизнес-анализом, хотят глубже погрузиться в технику. Также часто встречаются ребята, которые приходят к нам с управленческих позиций: руководители проектов и владельцы продуктов.

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

Куда системные аналитики уходят дальше? Если брать модель Альфы, то можно выделить бизнесовое и техническое направление. Бизнесовое направление это развитие в сторону владельца продукта; будучи аналитиком, ты развивался как член команды разработки, но теперь ты хочешь выйти из команды разработки, взять ответственность за продукт на себя, хочешь, чтобы тебе выделили бюджет, на который ты бы собрал собственную команду разработки и занялся бы развитием интересующего тебя продукта. Техническое направление это путь к становлению solution-архитектора. Кто это такой? Если взять за пример интернет-банк для юридических лиц, то, с точки зрения клиента, этот банк большая единая система; но с точки зрения нас (как команд разработки) он совокупность программных продуктов, развитием которых занимаются разные команды. Есть команды, которые занимаются развитием приложений по рублевыми платежам, или по депозитам, или по другим направлениям. Много приложений и много команд. Аналитик у нас во-первых, член команды разработки, и, во-вторых, позиционируется как архитектор в рамках своего программного продукта. Solution-архитектор отвечает за архитектуру всего интернет-банка в целом, работая в более широком контексте, чем аналитик. Аналитик эксперт в своем продукте, а архитектор должен разбираться во всем банке. Это второй путь развития аналитика.
Естественно, не забываем про организационную структуру. Если у вас есть возможность, то можно после рядового аналитика или аналитика высокого уровня можно стать руководителем направления, руководителем центра компетенции системной аналитики и далее руководителем дирекции и так далее, как позволит структура.

Чем отличается старший аналитик от ведущего?


Отличается рядом факторов. В разных компаниях требования к старшему и ведущему аналитикам различаются, но глобально различия включают в себя опыт работы, ряд технических навыков, которые он продемонстрировал в ходе выполнения задач, и набор дополнительных обязанностей, которые аналитик выполняет в дополнение к работе над проектом. Это могут быть обязанности по проведению технических интервью, например: опытный аналитик может общаться с кандидатами и давать взвешенную оценку их скиллов аналитики. Если мы считаем, что он способен это делать, то он явно выше, чем обычный старший аналитик. Или он может отвечать за дополнительный блок работ. В общем, у него обычно больше обязанностей соответственно его более высокой компетенции. Но от компании к компании требования, которые разграничивают одного аналитика от другого, различаются.

Расскажите про микросервисную архитектуру


Да, в Альфе используется микросервисная архитектура. У нас есть как монолитные, так и микросервисные системы. Мы идем в микросервис.

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

У нас одно время была потребность в новых специалистах: банк рос, наше подразделение росло. В какой-то момент мы столкнулись с осознанием проблемы: на рынке не хватало людей, которые удовлетворяли бы нашим критерием. Эта проблема возникла потому, что мы в те времена пользовались, в основном, нашим локальным рынком то есть, рынком тех городов, где у нас находятся офисы (например, Москва и Санкт-Петербург). То есть, большую часть ребят мы тогда смотрели именно в этих городах и не шли в регионы.

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

Мы провели пилот в 2018 году; я познакомился с первым кандидатом мне предложили провести онбординг. Девушку посадили в мою команду на период испытательного срока; идея состояла в том, чтобы, работая в команде и взаимодействуя с опытными аналитиками, она бы приобрела необходимые знания для джуна и потом уже, в ходе работы, развилась бы в серьезного аналитика. По результатам 3 месяцев девушка показала достаточно неплохой результат; по ее отзыву, она бы прошла план, который мы составили на 3 месяца, за 2 недели, если бы была опытным аналитиком: то есть, у нее уже возникло осознание того, какие навыки и знания она приобрела за это время.

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

СОА или монолит?


Могу сказать, что в банке много разнообразных систем. Если вы работали в банке или сталкивались с похожими системами, то вы представляете, сколько их может быть. У нас есть и СОА, и монолиты, и микросервисы полный набор.

Как эффективно найти работу начинающему системному аналитику?


Много факторов влияет на успех в поисках работы. Немалое значение имеет желание самого кандидата найти эту работу и развиться в области. Бывает так, что человек приходит на курсы, говорит: научите меня. Заканчивает его, получает сертификат, потом ходит по собеседованиям и показывает его. Но если при этом у него нет желания, нет огня в глазах тогда поиск будет затруднительным.

Как эффективно найти работу начинающему системную аналитику? Прокачивать себя и ходить по собеседованиям. Но не просто ходить: надо определить для себя, в какой компании или в какой сфере ты хочешь работать. Не иметь четкой цели и ходить с желанием попасть хоть куда-нибудь это не подходит.

Можно наметить, что вы хотите работать в банке, например. Найти стажерские программы, которые предоставляет банк. Если таких нет, то, может быть, банк проводит обучение для внешних специалистов с возможностью трудоустройства. Или, возможно, у банка есть юниорские вакансии, на которые можно претендовать.

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

На что смотрят при приеме джуна на работу, какой минимум нужен?


Вопрос непростой, потому что до недавнего времени в Альфе начальная позиция называлась старший системный аналитик. Она подразумевала, что в центр компетенции приходит не джун, а опытный специалист с определенным набором знаний и умений. Просто джунов мы не брали. Были стажерские программы (я уже рассказывал про свою знакомую); там было собеседование и задачи в частности, на SQL. Я думаю, если вы ищете джуниорскую работу, то надо почитать, что обычно спрашивают на джуниорские позиции. Моей знакомой знаний из института и предварительной подготовки по SQL оказалось достаточно.

На более высокие позиции, на которые собеседую я, мы не рассматривали джунов до недавнего времени; джуны скорее приравнивались к стажерам.

Что является результатом работы системного бизнес-аналитика, с вашей точки зрения?


С моей точки зрения, беря опыт моего текущего места работы, для системного аналитика можно выделить 3 области работы. Проектирование информационных систем, документирование разработанного и разбор боевых ошибок. Если мы говорим про проектирование, то результат архитектурное решение плюс спецификации на разработку. Для документирования документация по слоям приложения (фронт, мидл, бэк); часто документация и спецификация пересекаются то есть, иногда это один документ. Если мы говорим про разбор дефектов мы, как продуктовая команда, работаем на качество и заинтересованы в том, чтобы наш программный продукт не имел дефектов. Мы стараемся устранить их. Аналитик, в том числе участвует в разрешении дефектов прода.

Какие хорошие команды по системному анализу вы знаете, чтобы джун формировал у себя правильный подход?


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

У нас системный аналитик рассматривается как мини-архитектор.Он занимается проектированием архитектуры, и это больше технический специалист. Мы в меньшей степени работаем с бизнес-требованиями, созданием или реорганизацией бизнес-процессов. Здесь вопрос на любителя: если вам нравится общаться с заказчиком, разбираться в нюансах бизнеса, вы не хотите соприкасаться с техникой, то мое подразделение вам не подойдет.

Если же вам нравится погружаться в технику, если у вас есть интерес и вы готовы читать код, учиться писать автотесты для того, чтобы понимать, как работают ваши QA-инженеры и при случае помогать им, то Альфа подойдет вам. Иначе можно посмотреть другие компании. По отзывам, в Лаборатории Касперского хорошо устроены процессы системного анализа; в Райффайзенбанке тоже есть интересные задачи для аналитиков. Это спорный вопрос, конечно: компании большие, команд много, в каких-то командах может быть хорошо, в других плохо. У меня есть знакомая, которая занимается биометрией в Сбере она гордится своей командой, говорит они на высоте, они лучшие. А другие люди приходят к нам из того же Сбера и говорят, что работа скучная, релизы редкие, доступов приходится ждать месяцами. Раз на раз не приходится.

Я назвал несколько компаний; на мой взгляд, там, наверно, хорошо быть системным аналитиком. Как будет в реальности, я не могу гарантировать на это влияет много факторов.

Для джунов главное хардскиллы, что бы вы конкретно рекомендовали?


Да, для джунов главное хардскиллы, чтобы в первое время выполнять относительно рутинную работу. Я бы порекомендовал научиться структурно писать документы, разобраться в типах сервисов и в написании постановок для них, из чего они состоят. Вначале у джуна будет основной поток задач связан с тем, чтобы описать, как реализована система, либо написать постановку по известным требованиям: что нужно сделать, что запрограммировать, чтобы получить техническое решение. На собеседованиях у нас спрашивают знания SQL, но навыки проектирования структур данных и информационных систем настолько же важны (или важнее); если вы это знаете, хорошо разбираетесь и умеете это описывать, то, наверно, это будет ваш плюс.

Как правильно учиться на аналитика и получать опыт для смены профессии, если работаешь в несмежной сфере?


Я бы порекомендовал, во-первых, посмотреть, что предлагают компании. Некоторые компании предлагают школы подготовки аналитиков с нуля, даже не из ИТ я рассказывал, как это было в Альфе; знакомый продажник пришел, и его подготовили. Есть онлайн-курсы, в том же самом GeekBrains (факультет системной бизнес-аналитики), SkillFactory (курс для системных аналитиков я автор этого курса и веду его) или SkillBox (курс для системных аналитиков с нуля). Есть еще Школа системного анализа это серьезный проект, он стартовал в 2011 году и до сих пор существует. Можно найти курсы, можно получить образование. Здесь есть разные варианты: можно сначала поучиться, можно получить некий опыт а онлайн-курсы позволяют выполнять кейсы и набивать портфолио и после этого пытаться устроиться по профессии.

Я рассказал, что был опыт подготовки системного аналитика с нуля это реально. Мы запускали в Альфе школу, нацеленную на то, чтобы массово готовить новых аналитиков; наш пилот закончился успехом, по результатам проведения школы у нас появились аналитики, которых мы взяли на работу. У нас было 18 учеников, которые прошли все этапы отбора. 6 из них устроились у нас в штате, то есть треть; еще один человек получил повышение в своей компании за счет новых навыков и знаний. Поэтому эта школа принесла свои плоды, и большинство ребят, пришедших в нее, не имело опыта в ИТ или смежной профессии.

Я назвал три площадки для онлайн-курсов: GeekBrains, SkillFactory, SkillBox. Я, конечно, могу порекомендовать SkillFactory, потому что являюсь автором и ведущим одного из курсов, но это было бы нечестно с моей стороны; площадок много, я до конца не знаю, что происходит на других площадках и как на них организован учебный процесс. На мой взгляд, у GeekBrains очень большая программа; если посмотреть на сайт, ребята предлагают, в том числе, обучение анализу данных и работе на Python. Я не до конца понимаю, зачем это нужно системному аналитику. На SkillBox неплохая программа, но, судя по косвенным признакам, они больше ориентированы на подготовку именно бизнес-аналитиков; если посмотреть URL-адрес ресурса с описанием системного аналитика, там написано business. Поэтому у меня есть вопросы относительно технической составляющей этого курса, но это только мое предположение; не могу сказать, хорошо ли там или плохо.

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



Что было ранее


  1. Илона Папава, Senior Software Engineer в Facebook как попасть на стажировку, получить оффер и все о работе в компании
  2. Борис Янгель, ML-инженер Яндекса как не пополнить ряды стремных специалистов, если ты Data Scientist
  3. Александр Калошин, СEO LastBackend как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций.
  4. Наталья Теплухина, Vue.js core team member, GoogleDevExpret как пройти собеседование в GitLab, попасть в команду разработчиков Vue и стать Staff-engineer.
  5. Ашот Оганесян, основатель и технический директор компании DeviceLock кто ворует и зарабатывает на ваших персональных данных.
  6. Сания Галимова, маркетолог RUVDS как жить и работать с психиатрическим диагнозом. Часть 1. Часть 2.
  7. Илья Кашлаков, руководитель фронтенд-отдела Яндекс.Денег как стать тимлидом фронтендеров и как жить после этого.
  8. Влада Рау, Senior Digital Analyst в McKinsey Digital Labs как попасть на стажировку в Google, уйти в консалтинг и переехать в Лондон.
  9. Ричард Левелорд Грей, создатель игр Duke Nukem 3D, SiN, Blood про личную жизнь, любимые игры и о Москве.
  10. Вячеслав Дреер, гейм-дизайнер и продюсер игр с 12-летним стажем про игры, их жизненный цикл и монетизацию
  11. Андрей, технический директор GameAcademy как видеоигры помогают прокачивать реальные навыки и найти работу мечты.
  12. Александр Высоцкий, ведущий PHP-разработчик Badoo как создаются Highload проекты на PHP в Badoo.
  13. Андрей Евсюков, заместитель CTO в Delivery Club про найм 50 синьоров за 43 дня и о том, как оптимизировать фреймворк найма
  14. Джон Ромеро, создатель игр Doom, Quake и Wolfenstein 3D байки о том, как создавался DOOM
  15. Паша Жовнер, создатель тамагочи для хакеров Flipper Zero о своем проекте и другой деятельности
  16. Татьяна Ландо, лингвист-аналитик в Google как научить Google-ассистента человеческому поведению
  17. Путь от джуна до исполнительного директора в Сбербанке. Интервью с Алексеем Левановым
  18. Как Data Science продает вам рекламу? Интервью с инженером Unity
  19. Как я переехал в Лондон c Revolut
  20. Завтрак с легендарным геймдизайнером Американом МакГи: о новой Алисе, России и депрессии
  21. Как организовать IT-конференцию и не сойти с ума
  22. Чем биоинформатика отличается от вычислительной биологии краткое введение




Подробнее..

Три задачи из геномики, которые решают биоинформатики в СПбГУ

21.11.2020 12:09:13 | Автор: admin

Недавно на нашем ютуб-канале выступила Ольга Кунявская, младший научный сотрудник лаборатории Центр биоинформатики и алгоритмической биотехнологии СПбГУ.
Оля в науке уже 4 года и сейчас учится на втором курсе магистратуры НИУ ВШЭ Санкт-Петербург по направлению Software Engineering. Закончила Академический университет по направлению биоинформатика.

Делимся записью эфира и расшифровкой.

Меня зовут Ольга Кунявская, я работаю в лаборатории, которая называется Центр биоинформатики и алгоритмической биотехнологии. Сначала я расскажу предысторию того, как я попала в биоинформатику, какой у меня был бэкграунд; потом расскажу общие факты про нашу лабораторию, а потом расскажу про три проекта, которыми я сейчас занимаюсь.
Я из Москвы, родилась и выросла Москве. Начала учить программирование в 8 классе, в школе активно занималась олимпиадами, в том числе в 11 классе стала призером Всероссийской олимпиады по информатике. После этого я поступила в Академический университет Санкт-Петербурга; мне кажется, это было правильным решением. Там была сильная программа по математике и программированию, и мне очень нравилось учиться. Я действительно много училась; была тем безумным человеком, который делал домашки в тот же день, когда их выдают, и получает все зачеты до зачетной недели. У нас реально классное образование.

Хотя в школе все было иначе; я была достаточно хорошо подкована в алгоритмах и математике, но у меня была тройка по биологии, английский язык в 10 классе примерно на уровне elementary (после 11 pre-intermediate), и у меня в принципе не получалось писать связные тексты и выражать свои мысли. И еще я дислексик, читаю примерно в два раза медленнее, чем среднестатистический человек; когда я пишу, у меня в абзаце текста обычно бывает куча ошибок за диктанты мне обычно ставили двойку после прочтения первого абзаца. По окончанию школы у меня были не слишком развиты soft skills просто потому, что в школе они не особо требуются, чтобы продвигаться. Умеешь решать задачи хорошо, ты занимаешь высокие места, поступаешь в университет, который хочешь, и soft skills, чтобы чего-то достичь, не нужны.

С этим багажом я в какой-то момент начала заниматься биоинформатикой, на втором курсе университета. К третьему курсу нам требуется выбрать направление, до этого идет общий трек. В университете я многим интересовалась, у меня была радость от того, что я понимаю различные вещи, что у предметов, которые мне нравятся, есть крутые преподаватели. На втором курсе ко мне даже подходил куратор и спрашивал, чем я хочу заниматься: обычно было понятно, каким направлением интересуется человек, но я будто бы интересовалась всем сразу, мне все нравилось, и я везде хорошо успевала. Я решила взять какой-то проект, чтобы попробовать разобраться в том, чем я хочу заниматься. Было много направлений, из которых я не могла сделать выбор. Была теоретическая информатика, которая мне очень нравилась; разработка ПО, языки программирования, какие-то другие направления и биоинформатика. Я решила пойти от противного: вроде бы биоинформатика это, должно быть, то, чем я точно не хочу заниматься из-за приставки био, и именно по ней я взяла проект чтобы понять, что мне это точно не нравится, и спокойно перейти к чему-то еще.

Я даже помню, как я пришла получать проект. Я пришла, сказала, что хочу попробовать проект из этой темы, что я могу кодить и знаю алгоритмы, но не знаю биологию. Мне сказали: да, есть проект, который можно попробовать, и спросили: знаешь центральную догму молекулярной биологии? Я ее, конечно, не знала. Мой будущий научный руководитель (который сейчас мой коллега) сказал: хорошо, вот у нас есть ДНК, что мы из неё получаем? Я: РНК. Он: правильно, а из РНК мы что получаем? Я: не знаю. Он: ну, белки получаем сейчас все расскажу, там все просто.

В общем, не поняла я тогда, что биоинформатика мне не нравится. Это было 4 или 5 лет назад, и за это время многое изменилось. У меня откуда-то взялась тяга к знаниям по биологии хотя я до этого никогда не учила ее специально. Может быть, потому, что я теперь в этом постоянно нахожусь. И английский я выучила.

Q: Что значит: читаю в два раза медленнее, чем другие? Научные тексты нагружены информацией, и часто для понимания их приходится перечитывать несколько раз. Это же не приключенческие романы.


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

Теперь про лабораторию. Я по тому же проекту, который взяла, защитила диплом. В какой-то момент сходила на стажировку в лабораторию летом, пока училась, и, как только университет закончила, устроилась на работу в нашу лабораторию в СПБГУ, где сейчас и работаю. Это мое первое, единственное и неповторимое место работы, все это время я занимаюсь биоинформатикой.

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

Лаборатория появилась в СПБАУ в 2010 году. Поскольку это было до того, как я начала заниматься биоинформатикой, для меня это равносильно тому, как если бы она существовала всегда. Потом она переехала в СПБГУ уже давно, я не помню когда именно и при мне она всегда была там.

Q: Моё восхищение. А сколько вам лет? Возможно, я прослушал


Мне 24 года. Я такая старая, потому что, с одной стороны, я учусь на шестом курсе, а с другой я в третьем классе оставалась на второй год. Со школой вообще сложная история кроме этого, у меня в 9-м классе была неаттестация по английскому языку. И еще я после бакалавриата пропускала год; сейчас я должна была бы уже выпуститься из университета, но еще учусь на шестом курсе. Ну, я не расстраиваюсь.

Основал нашу лабораторию Павел Певзнер достаточно крупный ученый, у него много научных статей; он придумал прорывной алгоритм сборки генома, использующий графы Де Брюина, это было важное открытие. Я еще расскажу про Павла и про работу с ним дальше, когда перейду к центральному проекту, в котором я работаю.
У нас небольшой коллектив в основном, парни лет 30-ти, которые защитили кандидатскую, или находятся в процессе защиты. Почти все сотрудники имеют программистский или математический бэкграунд; есть также и физики, а одна коллега закончила медицинский.

Q: как относитесь к популяризатору и биоинформатику же Александру Панчину?


Нормально отношусь. Я читала его книги по биоинформатике, они мне понравились; я вообще люблю научно-популярную литературу, ничего против нее не имею. Мне кажется, он толково пишет.

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

Перейду к проектам, которыми я занимаюсь. Сейчас их три, и они очень разные. Я занимаюсь ими вместе с разными людьми, и у всех у них разная специфика и предметная область. Поэтому, в целом, из них можно получить общее представление о том, чем у нас в лаборатории занимаются хотя и не полное. Я начну со SPAdes это интересная, специфическая вещь.
Это крупный проект нашей лаборатории. Он написан на плюсах, там достаточно много сложного кода с большим уровнем абстракции, темплейтов и прочего. Ему уже около 10 лет, и этим продуктом активно пользуются он действительно востребован. Он представляет из себя геномный сборщик; я расскажу, что это такое.

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

Для меня этот проект про разработку; то есть, мне биологическую легенду даже знать необязательно. Это большой проект, и я не разрабатываю основные алгоритмы SPAdes. SPAdes уже написан, и у него есть куча подпроектов, ответвлений: metaSPAdes собирает метагеномы, plasmidSPAdes собирает плазмиды, coronaSPAdes (по-моему, неофициальное название) собирает, как ни странно, ретровирусы (могу пояснить, что такое ретровирусы). Есть сотрудники, которые в этих алгоритмах разбираются, работают с ними, понимают, в чем их специфика, знают, как их собирать, разрабатывают их. Моя задача в проекте непосредственная оптимизация: поскольку SPAdes очень популярен, им много кто пользуется, и ему приходится работать с очень большими данными, его надо очень круто оптимизировать. Истории типа а давайте хранить в этой структуре не int64, а в случае, если в графе мало ребер и их количество помещается в int32, хранить int32. Алгоритмы тут тоже есть, но они связаны не с биологией, а с тем, как лучше все оптимизировать, как сделать такой код, чтобы программа занимала меньше памяти, работала быстрее, была лучше распараллелена. В мои задачи в этом проекте еще входит тестирование, поддержка кода; хотя именно сейчас я не очень много времени уделяю этому проекту. Если, например, пользователь пишет, что в каком-то случае что-то не запускается, то надо сидеть и разбираться, что пошло не так и как этот баг исправить. Разработка разработкой. Один из моих руководителей (у меня четыре разных руководителя) занимается этим проектом гораздо более плотно, каждую неделю делает много патчей.

На самом деле, разработка в этом проекте подразумевает некоторые тонкости. У меня есть много друзей-программистов, и, когда я с ними общаюсь, я часто слышу фразы типа ой, программа столько работает 30 секунд, ее невозможно дебажить, надоело. Когда я начала работать над этим проектом, оказалось, что по меркам биоинформатиков быстрая обработка данных (для маленьких наборов тестовых данных например, мне рекомендовали использовать маленький геном кишечной палочки) это 10 минут. Особенно сложно, когда тестируешь на кластере, потому что к этим 10 минутам еще и добавляется очередь непонятно, когда твой код запустится. Конечно, есть OpenMPI для локальной эмуляции кластера, но иногда на локальном кластере может работать, а на реальном падать, и тогда надо разбираться, почему. Я уточняла у моих коллег, как они с этим живут; мне рассказывали мудрую мысль: думать, прежде чем запускать (много думать, много читать логику, понимать, что пойдет не так, исправлять, потом запускать). Здесь еще спасают логи, потому что у SPAdes очень хорошее логирование всего; это очень важно: когда мы сами пишем программу, нам нужно смотреть на логи в случае падения и восстанавливать, в чем была ошибка, без перезапуска. А еще мы должны уметь понимать по присланным логам, что именно упало у пользователя при том, что пользователь мог обрабатывать очень большие данные, и программа могла упасть после недели работы (такое бывает при работе с метагеномами).

Кстати, поясню, что такое метагеном. Я рассказывала, что мы строим геном из кучи мелких подстрок; представьте теперь, что в той метафоре с газетами лежат газеты не одного, а разных выпусков. И требуется восстановить каждую газету. То есть, в метагеномике ставятся задачи восстановления геномов всех организмов, фрагменты геномов которых присутствуют; например, когда надо определить, какие бактерии есть в слюне. Поэтому metaSPAdes работает гораздо дольше обычного.

Еще одна важная вещь мультизадачность. Мои коллеги реально умеют переключать контекст; я не понимаю, как они это делают. Они могут дописать код, запустить программу на 10 минут, эти 10 минут заниматься совершенно другим делом (переводить диссертацию, читать статьи, отвечать на письма), потом посмотреть, как отработало, поправить, запустить снова и так далее.

Q: а какие языки основные используются?


C++ и Python. SPAdes это проект на С++ с оболочкой на Python. Я в том числе занималась тем, что переписывала эту оболочку там было около десяти тысяч строк кода, и надо было разделить legacy-код, инкапсулировать отдельно составление pipeline и запуски, чтобы запускать на кластере. То есть, на Python тоже довольно много работы, хотя и проект на С++.

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

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

Давайте вспомним основы как появляются белки. У нас есть ДНК, и из нее мы получаем РНК; можно представить, что ДНК это большая библиотека, а РНК это небольшая статья, которую мы скопировали и дальше будем работать. Как будто мы пришли в библиотеку и запросили эту статью, но библиотека сами статьи не выдает они слишком ценные, а выдает только копии. И дальше мы с этими копиями работаем; можем выкидывать, можем что угодно делать. После получения РНК получается непосредственно белок; у нас есть рибосома, которая по этой РНК ползет и считывает (синтезирует) белок. Она считывает по три буквы, которые есть в РНК: алфавит примерно такой же, как в ДНК, копирование почти 1 в 1. По этим трем буквам определяется, какая должна быть аминокислота; а аминокислоты это уже алфавит, из которого состоит белок. Появляется цепочка аминокислот, и она сворачивается в белок.

Но это не единственный механизм синтеза; нерибосомные пептиды получаются по-другому, и как раз ими я занимаюсь. Прикол в том, что про другие способы синтеза белков никто не рассказывает. Я уже на спор рассказываю, чем я занимаюсь: иногда бывает, что новый биолог, закончивший биофак МГУ или СПБГУ, даже по направлению биоинформатики или молекулярной биологии, не знаком с нерибосомными пептидами.

Давайте снова представим геном. Но в этом случае в нем закодирован не сам нужный белок, а комплекс белков, который будет его производить. Производимый белок это и есть нерибосомный пептид, и в этом есть некоторые нюансы.
Кстати, часто в биоинформатике возникает такая проблема: вместо общеизвестных названий алгоритмов и биологических терминов придумываются свои. Биологи часто жалуются.
Белковый комплекс, который непосредственно закодирован в геноме, называется нерибосомная синтетаза. Сложность в том, что мы хотим узнать непосредственно из генома, какой белок она будет производить хотя вместо него зашифрован потенциально огромный, непонятный, сложный белковый комплекс. Но это очень важно для создания антибиотиков, иммунодепрессантов, других медицинских веществ. Понимание механизмов создания белков помогает непосредственно производить вещества (именно с точки зрения фармацевтики). Кроме того, появляются возможности для биоинженерии: понимание механизмов может позволить менять участки генома таким образом, чтобы получать вариацию нерибосомного пептида, которая будет более эффективна как антибиотик, например. Открытие новых антибиотиков очень важно и полезно, потому что периодически появляются устойчивые бактерии из-за того, что очень часто антибиотики прописываются не по делу или принимаются просто так, по ощущениям, без соблюдения курса лечения. В таких случаях антибиотики убивают часть бактерий, но, так как курс лечения не продолжается сколько надо, самые приспособляемые бактерии остаются, и следующие их поколения становятся устойчивыми к примененному препарату. Мораль не пейте антибиотики не по делу, а, если пьете допивайте, как сказал врач. Кстати, пенициллин это, по большей части, нерибосомный пептид.

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

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

А еще этот проект кладезь моего разностороннего развития. Тут важна биологическая легенда то есть, знать биологию действительно надо; надо понимать на некотором уровне органическую химию, чтобы понимать, как образуются связи. У меня была история про придумывание алгоритмов, потом история о том, что пора изучать теорвер и матстатистику; потом неожиданно понадобилась веб-разработка, потому что этим инструментом пользуются биологи а они не хотят работать через командную строку, им нужен нормальный интерфейс (и мне тоже). А я программирование всего 10 лет изучаю! Потом я разбиралась, как настроить NGINX, чтобы сервис заработал.

Очень много анализа данных, разбора в том, как эти данные устроены и откуда их брать (находить их очень большая проблема). В какой-то момент это меня демотивировало приходилось развиваться в многих различных областях одновременно; было такое ощущение любить всех не любить никого. Есть же такие люди, которые занимаются чем-то одним и разбираются в этом очень хорошо: если это веб-разработка, то этот человек любой сайт с закрытыми глазами сверстает, например. А у меня пошла такая история, что я вроде как изучаю сразу все. Сейчас я уже стала относиться к этому по-другому, и мне стало легче жить с этим то есть, да, я изучаю много всего и не так глубоко, как хотелось бы; ну, может быть, лет через 40 я буду знать все эти области так глубоко, как мне хочется.

Сейчас еще существует история про Machine Learning (ML). У нас есть ребята из etBrains Research, которые в этом проекте занимаются ML почему-то там постоянно появляются люди, которые хотят заниматься этим проектом. Они пытаются применять Hidden Markov Model, чтобы решать эту задачу. Кстати, когда я рассказывала нашим коллегам из JetBrains про задачу просто про то, как она устроена, какие важные места надо учитывать моя собеседница сказала: наверно, ты в лаборатории биолог? Видимо, я теперь могу производить впечатление настоящего биолога.
Перейду на третий проект центромеры. Я начала заниматься им совсем недавно, в сентябре помню, как обрадовалась, когда мне предложили заниматься им.

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

Итак, центромеры; здесь должно быть проще, чем с нерибосомными пептидами. Представьте себе хромосому ту самую картинку, похожую на Х. На самом деле, она принимает такую форму только в процессе деления клетки. В этот момент генетическая информация дважды продублирована, и эта буква на самом деле две сестринские хроматиды. То место, где они сцепляются это как раз и есть центромера, которую интересно изучать. Потом эти хроматиды растаскиваются за центромеру на разные части клетки.

Центромера этот тот регион хромосомы, который до недавнего времени (буквально до этого года) не был собран. Он достаточно сложен. Сейчас появились новые способы секвенирования генома более длинные риды (те самые кусочки газет из метафоры), более качественные, возможность гораздо лучше собирать геном. Есть T2T Consortium это сообщество ученых, которые хотят собрать геном от теломеры до теломеры. Теломера это такой участок хромосомы, который показывает возраст клетки; каждый раз, когда клетка делится, от теломеры отрезается часть, и поэтому количество возможных делений клетки ограничено. Сейчас уже создана первая чистая версия генома человека, в которой собраны все участки. Возможно, если вы интересуетесь научно-популярной биоинформатикой, вы слышали, что в 90-х годах был Проект генома человека, и в начале 00-х он как бы завершился; об этом писали большие статьи в журналах якобы, мы теперь все знаем о жизни. На самом деле, та версия совсем не была полной. Там было множество участков типа здесь слишком сложно, пока мы его оставим, когда-нибудь потом дособираем. Сейчас именно это и было сделано; центромера это как раз очень сложный для сборки участок. С точки зрения строки это история про тандемные повторы. То есть, у нас есть коротенькая строчка, которая повторяется очень много раз на этом участке. Причем повторяется не полностью: различные повторения могут отличаться на пару нуклеотидов. Но мы хотим все это восстановить. Обычно используется X-хромосома: её собирать и изучать удобнее всего, потому что она у мальчиков только одна; если хромосом две все усложняется.

Итак, у нас есть строка, есть похожая строка, которая слегка отличается, и есть еще много подобных строк. И нужно восстановить этот огромный тандемный повтор в центромере; при этом, каждая строка включает примерно пару тысяч букв, и их всего около полутора тысяч. Это очень грубое представление, конечно. При этом есть маленькие повторчики по 171 букве, которые различаются между собой примерно в 20% случаев; они складываются в большие строки-повторы по 12 штук.

Центромера уже собрана, этим занимались мои коллеги. Моя история заключается в том, что я должна понять эволюцию центромеры хотя сама задача еще не сформулирована. То есть, мы знаем, что мы хотим разобраться, каким образом эти строки скопировались в таком порядке, почему где-то одни мутации, а где-то другие, как эта эволюция происходит; это пока совсем не понятно, как и то, как мы собираемся сделать восстановление. Пока мы занимаемся рисованием данных в разные стороны и пытаемся что-то понять.

Q: Циклы C++


На самом деле, у меня есть похожая аналогия в биоинформатике. То есть, когда ДНК копируется в РНК это транскрипция, а РНК в белок это трансляция, и я никак не могла перестать их путать. Но потом я запомнила так: ДНК в РНК это как скрипт на Python, ничего не переводить, сразу исполнить: транскрипция. А трансляция это нечто более сложное, будто бы трансляция байткода.

Чем мне этото проект очень нравится так это тем, что это первый проект, в которым я работаю с крупными учеными. Им активно занимается Павел Певзнер очень крутой алгоритмист, и у него есть такой очень крутой скилл: переводить непонятную биологическую задачу в строгую математическую. Он умеет построить и сформулировать модель для этого, что очень сложно и очень важно. Формулировка задачи это значительная часть работы, сформулированная задача уже наполовину решена. Еще я работаю с Иваном Александровым это человек, который очень много занимался центромерами. С ним комфортно общаться, я периодически приношу ему новые данные и мы их совместно разбираем. Он активно интересуется тем, что я делаю, дает рекомендации. На последней встрече был забавный эпизод: я рассказывала ему про мономеры, которые я делаю, а Иван рассказывал мне про классификацию данных повторов в центромере. Я спросила, где можно про это прочитать, и он предложил мне большую обзорную статью по классификации данных в центромере, которую он сам написал в 2001 году. Он писал большие обзорные статьи, когда я еще читать не умела! И, когда я читала эту статью, я нашла ссылки на другие статьи Ивана по центромерам одну из них он написал в 1986 году! То, что у меня есть возможность работать с этими людьми и учиться у них это очень ценно для меня, мне действительно интересно быть здесь и получать здесь опыт.

Q: Как к вам в лабораторию попали люди с несоответствующим образованием?


Я не очень знаю, как попадать к нам. Условно, простой способ выглядит так: если вы студент, например, института биоинформатики или каких-нибудь программистских университетов СПБГУ, питерской вышки и так далее то у нас есть проекты. Можно, как сделала я на втором курсе, приходить, брать проекты, работать с нами. Какие-то люди нам нравятся, приживаются у нас, после этого мы берем их к себе работать. Еще у нас есть летняя стажировка; каждый год она набирается по-разному, в мой год было 10 человек. В лабораторию набирают стажеров, смотрят, кто нравится, кто не нравится, кто как приживается. При этом я начинала свою карьеру в биоинформатике, не зная о биологии почти ничего, и прижилась.
Насчет несоответствия я не очень поняла. Оно как раз соответствует.

Реклама! Приходите к нам работать в СПБГУ. Есть еще питерская вышка; я закончила АУ, это очень классное место, я очень довольна, что туда поступила. Сейчас наша образовательная программа переехала в питерскую вышку, все люди, которые делают нашу программу, переехали туда. Там очень сильное программистское образование, если вы думаете, куда поступать рекомендую ее.
В статье на Хабре я дам ссылку на свой телеграм-канал.

Еще хотела рассказать про английский. Он у меня вообще не прогрессировал с 1 класса, в 10 классе у меня все еще было elementary. Но потом я нашла хорошую преподавательницу, и английский начал очень быстро прогрессировать. Я считаю, что это преподавательница, которая супер круто занимается с технарями, с людьми с техническим складом, и очень сильно прогрессирует английский. И поэтому я хочу ее посоветовать, к ней можно обращаться.

Q: как переключаетесь между проектами?


Ну, один день один проект, другой день другой проект.

Cсылки:


Сайт нашей лабы.
Группа лабы в ВК.
Мой блог в телеграмме.
Образовательная бакалаврская программа в Питерской Вышке.
Моя статья про SE магу в Питерской Вышке.
Хорошая преподавательница английского по скайпу: skype: evgeniya.prischepova



Что было ранее


  1. Илона Папава, Senior Software Engineer в Facebook как попасть на стажировку, получить оффер и все о работе в компании
  2. Борис Янгель, ML-инженер Яндекса как не пополнить ряды стремных специалистов, если ты Data Scientist
  3. Александр Калошин, СEO LastBackend как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций.
  4. Наталья Теплухина, Vue.js core team member, GoogleDevExpret как пройти собеседование в GitLab, попасть в команду разработчиков Vue и стать Staff-engineer.
  5. Ашот Оганесян, основатель и технический директор компании DeviceLock кто ворует и зарабатывает на ваших персональных данных.
  6. Сания Галимова, маркетолог RUVDS как жить и работать с психиатрическим диагнозом. Часть 1. Часть 2.
  7. Илья Кашлаков, руководитель фронтенд-отдела Яндекс.Денег как стать тимлидом фронтендеров и как жить после этого.
  8. Влада Рау, Senior Digital Analyst в McKinsey Digital Labs как попасть на стажировку в Google, уйти в консалтинг и переехать в Лондон.
  9. Ричард Левелорд Грей, создатель игр Duke Nukem 3D, SiN, Blood про личную жизнь, любимые игры и о Москве.
  10. Вячеслав Дреер, гейм-дизайнер и продюсер игр с 12-летним стажем про игры, их жизненный цикл и монетизацию
  11. Андрей, технический директор GameAcademy как видеоигры помогают прокачивать реальные навыки и найти работу мечты.
  12. Александр Высоцкий, ведущий PHP-разработчик Badoo как создаются Highload проекты на PHP в Badoo.
  13. Андрей Евсюков, заместитель CTO в Delivery Club про найм 50 синьоров за 43 дня и о том, как оптимизировать фреймворк найма
  14. Джон Ромеро, создатель игр Doom, Quake и Wolfenstein 3D байки о том, как создавался DOOM
  15. Паша Жовнер, создатель тамагочи для хакеров Flipper Zero о своем проекте и другой деятельности
  16. Татьяна Ландо, лингвист-аналитик в Google как научить Google-ассистента человеческому поведению
  17. Путь от джуна до исполнительного директора в Сбербанке. Интервью с Алексеем Левановым
  18. Как Data Science продает вам рекламу? Интервью с инженером Unity
  19. Как я переехал в Лондон c Revolut
  20. Завтрак с легендарным геймдизайнером Американом МакГи: о новой Алисе, России и депрессии
  21. Как организовать IT-конференцию и не сойти с ума
  22. Чем биоинформатика отличается от вычислительной биологии краткое введение
  23. Профессия системный аналитик: развитие сообществ, популяризация профессии и подготовка




Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru