Чем занимается главный архитектор в ABBYY? Интервью с Владимиром Юневым
Так устроена наша компания, что она не может не развиваться. В прошлом году ABBYY приобрела TimelinePI — разработчика платформы для анализа бизнес-процессов и вышла на новый рынок. А сейчас мы активно переходим на современные облачные архитектуры.
Конечно, пока за рубежом cloud-сервисами пользуются активнее, чем в России. По данным Gartner, в 2019 года мировой рынок публичных облаков составил $242,7 млрд, а в нашей стране — пока 73 млрд рублей (~$1 млрд), следует из отчета «ТМТ Консалтинг», хотя в России этот рынок растет быстрыми темпами.
Наши международные клиенты уже пользуются решениями, которые работают в облаке, например, ABBYY FlexiCapture и Cloud OCR SDK. Они помогают заказчикам автоматически распознавать штрихкоды, извлекать из товарных накладных суммы и даты и многое другое — и делать все это со всевозможных устройств, различных операционных систем, удобно и безопасно. Нам бы хотелось, чтобы наши интеллектуальные решения становились еще доступнее для пользователей. Ведь даже в пандемию компаниям во всем мире все равно нужно обрабатывать счета, готовить налоговую отчетность, сравнивать написанное мелким шрифтом в разных версиях кредитных договоров, а также внедрять решения для удаленного обслуживания клиентов. Чтобы все эти задачи можно было решить в любое время, где угодно и в необходимом объеме, мы взяли курс на интеграцию наших продуктов с облачными технологиями.
Именно поэтому в 2019 году в нашей команде появился главный архитектор — человек с хорошим знанием подходов к созданию архитектуры программного обеспечения в компании сегмента B2B и с большим опытом в построении и развитии облачных сервисов. Им стал Владимир Юнев, в прошлом — облачный архитектор и эксперт по стратегическим технологиям Microsoft, известный в сообществе на Хабре как @XaocCPS.
Мы поговорили с Володей о том, чем занимается главный архитектор ABBYY и его команда, какими навыками и знаниями важно обладать такому специалисту и за какими ИТ-архитектурами будущее.
— Чтобы стать главным архитектором, ты наверняка проделал большой путь. Расскажи, с чего ты начинал и как развивался в профессии?
— Я начал работать в 17 лет в компании, которую образовали преподаватели ВУЗа, где я учился. Там на C++ и ассемблере мы уже в 1998 году делали то, что сегодня называют IoT. Мы автоматизировали процессы по обеспечению безопасности шахт: для этого собирали десятки метрик, анализировали их, предсказывали взрывоопасные ситуации. Набравшись опыта низкоуровневого программирования, я ушел работать в финансовое учреждение, где занимался клиент-серверной разработкой. Затем перешел в крупную IT-компанию, где начал разрабатывать первые продукты на базе веб-технологий. Примерно в 2005 году я перебрался в Свердловскую область и там работал над крупным публичным банковским порталом, который функционирует и сейчас.
В Екатеринбурге я познакомился с тусовкой разработчиков, использующих технологии Microsoft, а затем и с техническими представителями компании. Мы много общались и однажды с одним из сотрудников решили написать книгу про новую на то время технологию ASP.NET MVC. Книга вышла через год, и тираж раскупили за пару недель.
Я продолжал тесно общаться со специалистами Microsoft, мы делали совместные проекты, и вскоре я получил приглашение на работу. В 2011 году я стал экспертом по стратегическим технологиям Microsoft и за 6 лет получил все основные навыки, которыми обладаю сейчас. Сложно переоценить, как много дает работа в крупной глобальной ИТ-компании. Набравшись опыта в веб- и облачных технологиях, помогая внедрять и использовать их в стартапах, партнерах и клиентах Microsoft, я перешел на главную для себя роль — облачного архитектора.
Облачный архитектор помогает клиентам компании эффективно применять купленные облачные сервисы и технологии. Я работал над проектами в таких крупных компаниях, как Сбербанк, «Лаборатория Касперского», «Тандер» (сеть «Магнит»), «Балтика» и других. Кроме того, мы общались и с ABBYY, где у нас было много добрых знакомых.
— Как ты попал в ABBYY и почему именно на должность главного архитектора?
— На самом деле, это забавная история. На тот момент я проработал более трех лет архитектором в Microsoft. Осенью 2019 года я отдыхал с семьей в Турции и как-то просматривал на пляже уведомления на телефоне. Одно из них, судьбоносное, было от LinkedIn со списком «подходящих для вас» вакансий, среди которых я заметил должность Chief Architect в ABBYY. Ответить на предложение можно было в один клик, и я решил испытать судьбу, не особенно рассчитывая на результат. Работы я не искал, но всегда смотрел на рынок, изучая, какие в наше время требуются технологии и навыки. Позиция Chief Architect в одном из лидеров рынка тогда сразу показалась мне логичным развитием карьеры. В результате я стал главным архитектором и подключился к работе над очень интересными проектами компании.
— Насколько я знаю, в ABBYY до твоего прихода не было должности главного архитектора. Получается, ты начал выстраивать работу в ABBYY c нуля? Расскажи об этом подробнее.
— Да, я пришел в ABBYY в разгар достаточно сложной и большой перестройки внутренней структуры компании. Одним из нововведений стало появление моей позиции. Оно связано с решением ABBYY взять курс на развитие современных облачных архитектур, так как и технологические тренды, и рынок, и сами клиенты заявляют о совершенно определенных требованиях к продуктам и стеку технологий. Кроме того, современная разработка ведется очень энергично, и без применения новых методов, подходов и технологий добиться быстрых и качественных выпусков становится почти невозможно. В итоге, именно выбор современных средств и архитектур становится конкурентным преимуществом, которое позволяет удовлетворять спрос и потребности клиентов.
Архитектор — один из немногих в компании, кто видит весь проект сразу. Он должен отвечать за то, чтобы большой продукт, который создают сразу множество команд, был во всем согласованным и успешным. Это и называется архитектурой — искусство проектирования чего-то большого из множества небольших частей.
— Чем ты занимаешься в ABBYY каждый день?
— Мы в ABBYY разрабатываем решения, которые помогают компаниям автоматизировать процессы и быстрее решать рутинные задачи, например, обрабатывать информацию из сотен тысяч товарных накладных, счетов-фактур, актов и вносить данные из них в учетные системы.
Сегодня наш стек технологий построен на базе современных платформ и инструментов с открытым исходным кодом. Это такие платформы как Kubernetes и Docker c обширным набором инструментов из экосистемы, средства хранения и обработки данных Redis и PostgreSQL, платформа и языки разработки .NET Core и C#, средства обмена сообщениями RabbitMQ и так далее.
Вместе с этим, разрабатывая решение для публичных облаков, мы используем и управляемые готовые сервисы. Они предлагают публичные облака, и в нашем облаке мы применяем эти средства, чтобы еще больше снизить затраты на их сопровождение и поддержку. Например, любой облачный провайдер предлагает готовые сервисы для организации обмена сообщениями, хранения блобов, управляемые базы данных и многие другие компоненты, включая управляемые кластеры Kubernetes. Все это позволяет еще быстрее разрабатывать продукт и предоставлять более качественный сервис.
Помимо непосредственно архитектурных задач я возглавляю Chief Architect Office, куда входят разные команды, одна из которых — команда общих библиотек. Общие библиотеки — это строительные компоненты, на основе которых в компании выстраивают части больших продуктов. Важнейший их компонент — библиотеку алгоритмов и машинного обучения NeoML — мы с нашей крутой командой недавно выпустили на GitHub с открытым исходным кодом.
— Расскажи про NeoML: как вы готовились к запуску библиотеки на GitHub и какие вызовы стояли перед вами?
— NeoML — масштабный проект, над которым команда ABBYY работала не один год. О том, как происходило создание библиотеки и о ее технических подробностях, мы рассказали в недавнем посте на Хабре.
Я пришел в компанию 19 декабря и мне поручили руководить выпуском фреймворка в open source. Над этим работала по-настоящему классная команда из самых разных департаментов. 16 июня мы официально опубликовали NeoML на GitHub. Работы за полгода было проделано много: подготовка и инспекция исходного кода, создание примеров приложений, перевод документации и комментариев, организация маркетинговой кампании, юридическое сопровождение и множество других мелких задач. Самым интересным и довольно сложным занятием оказался выбор названия библиотеки. Это заслуживает отдельной статьи, но, если кратко — довольно тяжело в наши дни подобрать название ИТ-продукта так, чтобы оно не нарушило торговые марки других участников рынка.
NeoML — это гордость компании, в библиотеке мы собрали многолетний опыт разработки интеллектуальных продуктов в ABBYY и технологический вклад десятков людей. Это не сырой проект, а зрелый набор инструментов, уже давно и успешно используемый нами в коммерческих продуктах. По сути, NeoML — это технологическое основание бизнеса ABBYY, и теперь оно доступно для каждого на платформе GitHub.
Только за первый месяц мы получили более 400 звезд на GitHub и массу положительных отзывов как от сообщества, так и от наших клиентов. Они с энтузиазмом отреагировали на то, что их партнер делится своими технологиями на открытой платформе. Для многих клиентов — это уверенность в том, что используемый ими продукт действительно обладает уникальными интеллектуальными возможностями.
— Расскажи немного о своей команде: много ли в ней человек, как вы взаимодействуете?
— Команда NeoML небольшая, но очень профессиональная, и я горжусь, что работаю с ней. У нас 5 разработчиков, включая тимлида, менеджера проекта и девопс-инженеров, которые помогают нам с инфраструктурными задачами. С составлением и переводом документации нам помогают опытные технические писатели. Кроме того, нашу команду поддерживает руководство департамента Product Development, куда входит и R&D. Оно активно участвует в стратегическом планировании развития библиотеки.
— Какие у тебя впечатления об атмосфере работы в ABBYY? Компания чем-то отличается от других мест, в которых ты работал?
— В первые дни в ABBYY удивительным открытием для меня стало то, что в компании многие люди работают десять и более лет и продолжают расти в профессиональном плане. Это большая редкость для ИТ-компаний, где наблюдается постоянная текучка кадров. Наверное, этому способствует особая открытая атмосфера, где сотрудники ценят человеческие отношения в работе, уважают мнение каждого и решают все трудности вместе. Многие приходят сюда после института и, развиваясь в одном и том же месте на протяжении долгого времени, успешно строят карьеру. Это, кстати, может быть как вертикальный, так и горизонтальный рост.
ABBYY — международная компания. Многие коллеги работают в зарубежных офисах, и мы периодически общаемся онлайн. Кроме того, меня и других сотрудников приглашают сопровождать встречи с крупнейшими клиентами по всему миру — из США и стран Европы, где мы общаемся и отвечаем на вопросы, рассказываем о наших архитектурных и технических решениях. Сегодня заказчики обладают глубокими техническими знаниями и хотят знать подробности продуктов.
— На твой взгляд, какими знаниями, навыками и опытом важно обладать хорошему главному архитектору?
— Огромным кругозором и опытом работы в разных проектах и на разных позициях. Мне очень помогает то, что я в разное время занимался системным программированием, разработкой бизнес-систем и распределенных веб-систем, поработал техническим сейлзом и технологическим евангелистом и, конечно, был облачным архитектором в крупнейшем вендоре. Этот опыт позволяет взглянуть на проекты со множества сторон, чтобы принимать правильные решения, что и требуется от архитектора.
Оставаться при своих знаниях недостаточно. Необходимо постоянно следить за текущими трендами и развитием ключевых технологий и сервисов, облачных и других платформ. В нашей индустрии все очень быстро меняется, знания устаревают, появляются новые инструменты и подходы решения задач.
Для того чтобы быть в курсе трендов, потребуется тщательно отобрать источники информации, которые будут ежедневно поставлять новости. Это могут быть аккаунты инфлюенсеров (еще один термин из евангелизма, который означает ключевых персон в том или ином направлении) в социальных сетях; блоги крупнейших вендоров компаний, которые влияют на рынок своими продуктами и вкладом в технологии (например, блоги AWS, Google и Azure на тему новинок в облаках); новостные агрегаторы по темам как от крупных изданий, так и от энтузиастов, которые публикуют подборки новостей и технических статей. Наконец, заведите подписку на один из сервисов технической литературы, чтобы получить доступ к самым свежим книгам и публикациям.
— Что бы ты посоветовал тем, кто хочет стать главным архитектором?
— Много читайте, стремитесь туда, где есть крупные и сложные проекты. Не бойтесь ошибок и смены обстановки. Выходите из зоны комфорта — только так можно расти дальше. Учитесь, узнавайте больше, не останавливайтесь, и все получится.
Мой топ-3 книг для начинающих архитекторов распределенных систем:
— Есть ли у тебя видение, какое будущее ждет рынок интеллектуальной обработки информации и анализа бизнес-процессов лет через 5–10?
— Во-первых, я очень надеюсь, что мы вскоре полностью откажемся от бумажных носителей и мой ребенок уже не будет сталкиваться с бумажными формами в документообороте. Все к этому идет, многое уже в цифре.
Вместе с этим, объемы информации будут расти еще быстрее. Согласно исследованию IDC Data Age 2025, к 2025 году общий объем новых данных увеличится до 175 ЗБ по сравнению с 33 ЗБ в 2018 году. Нам кажется, что вокруг много информации, но ее станет еще больше. Что с ней делать? Анализировать, сортировать, выделять значимое и автоматизировать все эти процессы, чтобы видеть только самое полезное. И здесь пригодится опыт компании ABBYY. Наши клиенты получают самые современные инструменты для извлечения информации, интеллектуальной обработки данных и автоматического анализа процессов. С каждым годом мы делаем наши продукты все более интеллектуальными и умными, а наши клиенты пользуются этим, чтобы управлять потоком информации.
Через 5–10 лет все чаще решения будут принимать искусственный интеллект и алгоритмы, построенные на все более сложных моделях и математическом аппарате. И мы в ABBYY приближаем эти дни своими разработками.
— Как главный архитектор, как ты думаешь, за какой архитектурой ИТ-проектов будущее? К чему все движется?
— Все движется по спирали. Текущий тренд — распределенная разработка на базе микросервисов — уже сегодня начинает подвергаться критике, а казавшиеся вчера «плохими» монолитные системы внезапно, с реорганизацией, приобретают множество сторонников.
Вычислительные мощности растут огромными темпами. Задачи, на которые ранее требовался отдельный кластер из множества серверов, теперь решаются едва ли не на одном процессоре. За этим следует и переосмысление архитектурных подходов.
Сложно сказать, к чему все движется, потому что нет никакой цели — есть только развитие. И как раз тут критически важно оставаться в курсе текущих трендов и не переставать узнавать новое.