Игорь Рыбаков, DAR: я верю в отечественную разработку
Почему главный IT-архитектор компании верит в отечественных разработчиков и не верит в трансферт технологий?
— Игорь, давайте начнем с того, какие основные тренды в области разработки программного обеспечения сейчас наиболее заметны?
— Сейчас все сходят с ума по AI (Искусственный интеллект). Если точнее, то речь идет о технологии глубокого машинного обучения. И как следствие — это использование графических процессоров. Логика тут проста — глубокое обучение — это нейронные сети; нейронные сети, как правило, считаются на матрицах; матрицы — это векторы, а векторы — это графические процессоры. Круг замкнулся. При этом такая модель подразумевает, что подобные вычисления можно будет делать не только в облаках, но и на небольших машинах — так называемых embended-решениях, которые выполняют какие-то узкие задачи и вычисления. Например, такое решение можно поставить в машину и оно будет выполнять функции компьютерного зрения.
Что касается казахстанских трендов, то тут, наверное, будет уместным заметить, что мы отстаем от мировых. Это не ново. Локальные тренды — в последнее время взялись за безопасность, проводится много различных специализированных мероприятий на эту тему. Это позитивный тренд, этим нужно заниматься.
С точки зрения самих сервисов заметно, что активизировалось стартап-движение. Это положительные тенденции, но важно, чтобы был эффект, результат от такой деятельности…
— Откровенно говоря, хвастаться-то пока не особо есть чем…
— Это не так важно — важно, что люди этим в принципе занимаются. Инженерия — вещь такая: под лежачий камень вода не течет. Мы, конечно, пройдем свой путь, сделаем свои ошибки, набьем шишки, потом будем перерастать из количества в качество. И вот что еще важно — бизнес стал обращать на это внимание, и это одно из средств монетизации. Здесь тоже эволюция состоялась, ведь еще несколько лет назад, до кризиса, инженерия занималась в основном внедрением и сопровождением, сейчас этого уже мало — нужно создавать новые продукты и сервисы. Я уверен в том, что те технологии, которые мы получаем из-за рубежа, не принесут нам абсолютной новизны — мы всегда будем получать что-то второсортное, мейнстрим. А первосортное, то есть, инновации, нужно создавать самим.
— Игорь, задам откровенный вопрос как практику: Казахстан способен создавать инновации, которые могут быть востребованы не только в республике, но и во всем мире?
— Да, мы можем создавать инновации, у нас есть ресурсы, в том числе, и человеческие для этой работы. Посмотрите, во всем мире есть казахстанцы, которые чего-то добились, но почему-то они там и остаются. Возможно, потому, что именно там, за границей, они раскрылись полностью. В принципе сама индустрия уже готова для того, чтобы инновации создавались здесь. Нивелируется гэп, который я наблюдал много лет — это когда была большая дистанция между полученным в вузе образованием и требованиями в бизнесе.
Второе — сам рынок, я отчасти уже сказал об этом — он был не развит. Что было? Какие перспективы были у выпускника? Идти во внедрение или сопровождение готовых продуктов, навязанных вендорами? Либо в банки, а в них внедрялись продукты, которые тоже были разработаны не в Казахстане. Сейчас ситуация меняется. В основе лежит рост концепции Open Source — создавать продукты теперь и дешевле, и быстрее. Сама методология стала проще — стало легче творить, создавать уникальные сервисы.
Я подытожу тут. Нужно продолжать сокращать гэп, который возникает между выпускником и бизнесом, разработчики должны понять пользу самообразования. И тут появление разнообразных образовательных онлайн-проектов очень кстати. И да, я должен сказать, что на ситуацию кардинально повлияла программа «Болашак». У нас в компании работают несколько выпускников этой программы и показывают очень хорошие результаты.
— Я бы все-таки хотел резюмировать в этой части. Насколько рынок разработки ПО в Казахстане зрелый, каковы компетенции разработчиков?
— Рынок делится на несколько секторов. Если говорить про рынок заказной разработки, то тут, пожалуй, самый известный игрок — EPAM. Этот рынок есть, он существует, и он не такой маленький, так как одним из его заказчиков традиционно является госсектор.
Второй сегмент — это аутсорсинг. Как мне кажется, этот рынок не такой большой. И если такие ресурсы в Казахстане есть, то они работают с зарубежными заказчиками, тем более, что сейчас есть все инструменты — агрегаторы заказов и т. д. В целом, полагаю, что его потенциал очень хороший. Особенно на фоне того, что внутренний рынок довольно ограничен.
Третье направление — это когда создается продукт, сервис или стартап, и выводится на рынок. Это — то направление, в котором и работает наша компания, это и есть наша модель. Здесь актив — это компетенции, навыки и команда. Мы хотим создавать продукты, которые несут ценность для потребителя, и на их базе создавать бизнес.
— Идея создать казахстанский Бангалор не выглядит утопической? Хватит ли компетенций, ресурсов, понимания, наконец, во властных структурах?
— Не могу комментировать ваш вопрос о понимании во властных структурах, но, полагаю, что в этой части у них есть какие-то инструменты. Но я глубоко уверен, что кризис заставил взглянуть на ситуацию с нового ракурса — об инженерии как инструменте для создания надбавленной стоимости стали говорить серьезно.
В Бангалоре несколько другой менталитет, там несколько семей скидываются деньгами, чтобы оплатить обучение хотя бы одного человека, чтобы потом уже он кормил эти семьи. У нас проще, с одной стороны, но с другой — нет такой мотивации. Но если этим заняться, то шансы есть, есть талантливые ребята, и их много. Это вопрос времени, чтобы упомянутое взаимодействие между вузами и бизнесом улучшилось, чтобы выпускники получали необходимые компетенции, использовали самые современные технологии.
Мы, кстати, избрали именно этот путь — начали изучать самые современные технологии, поставили перед собой планки, причем, очень высокие. Например, по тому же SLA: если мы делаем сервис, то должны укладываться в 200 мс. Это время отклика системы — таких ответов должно быть 95%. Если мы оказываем сервис за секунду и больше — это уже плохой результат и что-то нужно менять. Это помогло нам кардинальным образом поменять свое сознание в отношении того, как строить свои продукты, свои облачные решения. Мы понимаем как нужно спроектировать продукт, чтобы он был облачным, отвечал всем SLA, чтобы он легко масштабировался, чтобы этот сервис мог обслуживать большое количество запросов. Как пример — наша подсистема управления пользователями — она в состоянии обслуживать 2000 конкурирующих запросов одномоментно со временем отклика 150 мс. Это означает, что за 150 мс пользователь гарантированно получит токен по аутентификации.
При этом я хотел бы добавить, на каком объеме ресурсов этот сервис развернут — это всего лишь четырехпроцессорный сервер с объемом ОЗУ 8 Гб. Система построена так, что может легко масштабироваться. В целом она способна «переварить» несколько сотен тысяч зарегистрированных пользователей. Мы для себя выбрали такой подход в разработке и считаем, что наши решения будут конкурентоспособными на рынке.
— Предлагаю поговорить о наших казахстанских программистах. В чем их сильные стороны?
— У ребят сильная математика, но есть, правда, проблема с использованием этих знаний в реальных задачах. Но это особенность нашего образования — теории много, а практики мало. Если эту проблему побороть, то результат будет очень хороший. Наши программисты — люди творческие, креативные, ответственные, они могут создавать интересные продукты, отслеживают тренды в разработке и неплохо разбираются в том, что происходит в мире. Но чего нам не хватает — так это культуры Quality Assurance.
— Вы нарисовали почти идиллическую картину, но где водятся такие программисты? Где их взять?
— Растить! Понимаете, нельзя куда-то прийти и получить программиста, обладающего всеми навыками, которые требуются вашей компании. Команду нужно выращивать — это самый правильный путь. Перекупать сотрудников не самый хороший вариант — он ведет к тому, что растет цена на кадры, причем, это может привести к непомерным расходам. А это плохо для рынка и не будет стимулировать компании самим растить разработчиков. В общем — тупик.
К качеству нужно относиться как к константе. Например, если запускается проект, у вас есть ресурсы, персонал, качество. Качество в этой части — константа на каком-то интервале времени. Применительно к нашей компании, а у нас штатная единица — это команда, она может сделать много больше, когда в ней все «притерто», тогда результат получается очень хороший. При этом, команды мы не «тусуем» — если такое и происходит, то редко. Таким образом, наша атомарная единица — это команда. На этом все и строится. Это лучшее, что мы видели. Команда делает больше, качественнее и быстрее. В качестве лидера выступает человек, у которого есть большой опыт.
— Насколько зарплаты ваших разработчиков конкурентоспособны?
— Вполне конкурентоспособны. В целом же сейчас я вижу, что такой тренд, когда специалисты уезжали за границу и делали карьеру там, сменился. Жить там дороже, а интересную работу с хорошими условиями и интересными задачами можно найти и здесь. В идеале мы должны экспортировать не кадры, а уже готовые решения.
— Мы начали с искусственного интеллекта, предлагаю им продолжить. Есть мнение, что он кардинально изменит процесс разработки. Способна ли машина заменить человека-разработчика?
— Это уже происходит: машина может что-то сотворить, даже какой-то код написать, при этом, ИИ способен принимать решения. Но я глубоко уверен, что этот процесс должен быть контролируемым, отпускать его нельзя. Роботам можно давать какие-то конкретные процессы. Например, проверку качества кода, чтобы не дать некачественному софту выйти в продакшн. Для человека это очень тяжело, ресурсоемко, а робот справится с этой задачей в считанные минуты. Хороши роботы будут и при повторном, регрессионном тестировании. Мы, кстати, так и поступаем. И еще пока не роботами, но скриптами проверяем свои API.
— Давайте поговорим о вашей компании, о том, где вы ее видите в среднесрочной перспективе.
— Мы строим компанию, которая ориентируется на отечественный рынок, это будет несколько продуктов. В Казахстане мы будем одними из первых во многих вопросах в части разработки — машинное обучение, искусственный интеллект. И, надеюсь, что будем успешно экспортировать наши технологии.
— А можно подробнее?
— Компания изначально создавалась с таким потенциалом, чтобы выйти на внешние рынки. Какое это будет направление, какой продукт — пока говорить рано. Нам нужно на нашем, родном рынке, что-то создать, обкатать и лишь потом выходить на внешние. Но уже сейчас все наши инженерные решения разрабатываются таким образом, чтобы с минимальными затратами выходить на них. Большое внимание уделяем повторному использованию — у нас есть подразделение DevOps, мы очень щепетильно относимся к архитектуре, при этом, мы строим свой особый подход повторного использования. Речь идет не о каких-то кусках кода, а целых платформах. И еще мы используем технику Domain-Driven Design, которая позволяет создавать огромные экосистемы — это вышло из Amazon. Мало «запилить» код, его нужно развивать и совершенствовать. Это, так называемая, открытая архитектура. Если взять не ту сторону, не ту технологию и подход, то получится так, что все, что было разработано, должно быть выкинуто на свалку. И заново разработано. Это недопустимо — дорого, неэффективно и несовременно. Если все сделано правильно, то один и тот же софт можно продать дважды, а то и трижды. Это, конечно, я утрирую, но в такой код просто не нужно повторно вкладываться.
Тут нужно повторить: никогда зарубежные компании не сделают трансферт в Казахстан самых современных технологий. Это значит, что мы будем довольствоваться только технологиями второго эшелона. Поэтому так важно развивать свои технологии, свою инженерию. И, да, я верю в отечественную разработку.
— Игорь, на этот вопрос сподвигли меня вы. Почему в Республике Беларусь появились такие гиганты, которые у всех на слуху, а у нас нет? В чем секрет?
— Вы, вероятно, имеете в виду EPAM, Wargaming? Ответ простой — у них нет нефти (смеется). А мы лишь недавно очнулись от этого нефтяного летаргического сна…
— И завершающий вопрос. Какие технологии, на ваш взгляд разработчика, имеют интересные перспективы?
— Думаю, не буду оригинален, если назову среди таковых блокчейн, смарт-контакты и Интернет вещей.