Как вы попали в DataArt? Каковы были ваши рабочие задачи в компании?
Все очень просто. Я был разработчиком в компании «ФонтЛаб», которая выпускала один из двух существовавших тогда на рынке редакторов шрифтов. В DataArt меня позвал мой школьный друг Леша Кривенков. Я не был до конца уверен в том, стоит ли мне менять работу, но в DataArt предложили зарплату в два раза больше. На новом месте надо было решать совсем другие задачи. Из продуктовой компании я перешел в ту, которая занимается сервисом, то есть не пишет ничего для себя, а делает продукты по заказу клиента, но этого я тогда не знал. Многому пришлось научиться. Например, я ни разу до этого не работал с UNIX. Интернетом я уже пользовался, но приходилось быть не просто пользователем, а реализовывать малознакомые протоколы – например, те же SMTP/POP3.
В это время вы уже обучались в Университете ИТМО?
Да, я пришел туда учиться в 1997 году, но не потому, что офис DataArt тогда был в здании вуза. Это уже потом я узнал, что компания базируется именно там, и это действительно было удобно: не нужно было далеко ходить на работу. Но был с этим связан и один курьез: чтобы попасть в DataArt, нужно было пройти мимо вахтерш, которые требовали студенческий билет. Забыв студенческий, в офис ты попасть не мог, хотя дверь находилась прямо за вахтой, буквально в одном метре.
Оглядываясь назад, как вы думаете, нужно ли программистам образование? Или можно, как вы, начать работать, будучи самоучкой?
Если честно, я до сих пор не могу внятно объяснить, зачем я вернулся в университет. Ведь до Университета ИТМО (тогда ЛИТМО) я обучался в СПбГУ, куда поступил сразу после физико-математического лицея №30, выпускников которого брали почти в любой вуз. Примерно в то же время я начал работать в офисе на «Балтийской». Очень часто по дороге на учебу я вспоминал, что чего-то не доделал на работе, выходил из метро и шел в офис. Так продолжалось полгода, а потом наступила сессия, к которой я был совершенно не готов. Я ушел из университета, просто перестал там появляться. Но через пять лет решил, что не иметь высшего образования – это не комильфо. Хотя на работе у меня никогда не требовали диплома.
Так как с момента окончания школы прошло уже много времени, мне потребовалось походить на подготовительные курсы по физике и математике, чтобы сдать вступительные экзамены в ЛИТМО. Я получил три «хорошо» по трем экзаменам. Этого не хватило, чтобы поступить на дневное отделение, поэтому я пошел на вечернее. Я знаю, что у Парфенова (Владимир Парфенов, декан факультета информационных технологий и программирования Университета ИТМО – прим. ред.) на дневном отделении очень сильная команда по подготовке олимпиадников и спортивных программистов. Но на вечернем отделении большинство обучающихся мало интересовались программированием. В группе было только два человека, включая меня, которые понимали, чему нас учили. ЛИТМО я в итоге окончил с отличными результатами.
Обучение помогло в работе?
Не могу сказать, что вуз тогда много мне дал в плане практических знаний. Но это общероссийская проблема: у нас редко обучают тому, что реально пригодится в жизни. В этом плане мне больше нравится финская модель образования. Преподаватель там может предложить студенту к концу года разработать прокатный станок для определенного металла вместо того, чтобы посещать лекции. Сначала можно подумать, что это халява. Но для того, чтобы сделать этот станок, нужно очень много работать: выяснять, как работают те или иные технологии, сочетаются ли они между собой. В школе моего сына (хоть она и не в Финляндии) детям, которые оказываются более способными в какой-то области, догружают именно ее. Раз ты хорошо рисуешь – давай рисовать больше. В России же всех пытаются натянуть на какую-то сверху спущенную модель: «Отлично рисуешь? Прекрасно! Но поешь плохо, поэтому давай будем больше петь, пока не запоешь хорошо». В результате человек ни того, ни другого толком не делает.
Но могу сказать точно, что обучение в вузе как минимум выводит людей на более продвинутый уровень эрудиции, общей подготовки. Потому что, когда общаешься с людьми, у которых есть вышка, и с теми, у кого ее нет, разница сразу чувствуется: со вторыми общаться сложнее и не так интересно, как с первыми.
Вы работаете на одном месте уже почти 20 лет. Сегодня это кажется немного удивительным. В чем причина такой стабильности?
Видимо, я ленивый человек. Но если серьезно, то DataArt отличается от большинства компаний. Здесь можно работать 20 лет подряд и при этом испытывать чувство, будто ты успел поработать в разных местах. Постоянно меняются заказчики, языки программирования. Здесь я работал с Perl, PHP, C++, Java, Ruby, C#, JavaScript. Это многообразие удерживает людей. В других компаниях или отраслях ситуация может быть иной. Например, в Лондоне я понял, что банковские программисты могут прыгать между разными банками не потому, что они решают разные типы задач в разных банках, а просто потому, что на новом месте работы им больше платят. Поэтому люди могут переходить из банка А в банк В, потом в банк С, а потом снова в банк А, потому что при переходах они получают повышение. И таких историй очень много. Поэтому, возможно, складывается впечатление, что в IT-индустрии люди часто меняют работу.
Я общалась с ученым в области Computer Science, который стал исследователем, потому что работать программистом ему было скучно. У вас не было желания податься в науку?
Я думаю, это зависит от характера. Кому-то интересно ковыряться с бездушной (но крайне логичной) железкой, а у кого-то душа к этому не лежит. Есть мнение, что все программисты – интроверты. Программирование – это логичная вещь, а в жизни много нелогичного. Ты задал алгоритму функцию делать так, и он так делает, а если нет, значит, ты где-то ошибся. Мне всегда было интересно заниматься программированием, мне повезло в жизни, потому что многие люди делают свою работу только ради денег.
Я помню, первый мобильный телефон у меня появился где-то в 2004 году, через несколько лет в моем провинциальном городе появился Интернет. Как люди приходили в IT в конце 90-х?
Я начал заниматься IT не в конце 90-х, а раньше. Когда я поступил в лицей, нам сразу сказали, что мы напрасно считаем себя умными. Программа обучения у нас сильно отличалась от других школ. Там были компьютеры, и это был первый раз, когда я их увидел. Я купил книжку про Basic, и все, что там было, я пробовал делать. В то время программирование не было мейнстримом, да оно, в принципе, и сейчас таким не является. Просто это хорошая специальность, на которой можно заработать. Хорошо еще, что у нас не как в Индии. Там, условно, можно увидеть два здания с табличками: «Здесь готовим программистов Java», «Здесь готовим специалистов по машинному обучению». Готовить программистов в Индии – что-то вроде национального спорта. Я думаю, что наша страна упустила эту возможность: мы могли развивать индустрию IT-аутсорсинга, ковать кадры. Но мы этого не делаем, этим занимаются только отдельные энтузиасты. То есть не то, чтобы у нас была какая-то государственная программа по подготовке программистов, просто люди видят, что в этой сфере деньги, поэтому идут в нее, а вузы отвечают на запросы новыми курсами и так далее…
На самом деле, я в чем-то согласна: мне иногда кажется, что наши программисты выигрывают чемпионаты только благодаря крутым тренерам вроде Андрея Станкевича…
Олимпиадная индустрия – это индустрия. Если наши программисты выигрывают, это не значит, что качество подготовки программистов в России в целом выше. Вот недавно школьник из Москвы выиграл международную олимпиаду по физике. Значит ли это, что физику в наших школах преподают лучше? Нет. Замените олимпиаду по физике фигурным катанием, где наши фигуристы рвут соперников на куски. Значит ли это, что в стране все потрясающе катаются на коньках? Просто есть хорошие программы подготовки людей к олимпиадам, но это не характеризует качество образования в стране в целом.
Но почему тогда русских программистов ценят во всем мире? Ведь это не просто так.
Да, не просто так. Когда я только начинал работать в IT, нас было мало, но все мы были энтузиастами. А любой энтузиаст в сто раз лучше профессионала. Ведь первые работают за интерес, а вторые – за деньги. И русские программисты действительно всегда любили программирование. Сейчас планка сдвинулась, коммерциализация отрасли дает о себе знать. И если мы пойдем по индийскому пути, то качество программистов будет падать. Есть поговорка: количество разума на планете – величина постоянная, а население растет. Можно выпустить из вуза 10 круто подготовленных программистов, а можно 100 «середнячков». Индия поставляет миру этих самых «середнячков». И когда индийский программист сделает плохо, а русский это исправит, то у заказчиков, конечно, остается воспоминание: в Индии все испортили, а в России все сделали круто.
А как менялись требования заказчиков к разработке ПО за последние годы?
Сложно сказать однозначно. Раньше, например, заказчик мог сотрудничать с программистами из условной Камбоджи, потому что там меньше просят за работу. Но сейчас, как правило, в компаниях есть IT-проект-менеджер, который понимает, что Камбоджа, может, и прокатит, но качество продукта будет низким. Если говорить о стартапе, то здесь важно, чтобы работа была сделана быстро и качественно. Некоторые заказчики меряют проект не результатом, а количеством людей, которые должны его выполнить. То есть они приходят и говорят: «Нам надо 20 человек на этот проект, и мы сами будем ими руководить». А другие приходят и просто описывают, что им нужно, а мы уже сами разбираемся, как и какими ресурсами это сделать.
Как в DataArt программисты распределяются на проекты?
Сейчас у нас работают более 2300 человек и среди них можно выбрать тех, кто больше всего подходит проекту по своим компетенциям и знаниям. Но у нас люди также могут выбирать, в каком проекте им участвовать, а в каком – нет. На каждый проект у нас есть лидер, который собирает команду. И к каждому программисту могут подходить несколько лидеров и «рекламировать» свои проекты. Если программисту это подходит, он включается. Если нет, то он работает над текущими общими задачами DataArt, обучается на внутренних курсах и ждет более подходящей возможности.
В проекте Mail.ru, согласно описанию, все складывалось непредсказуемо, но при этом удачно. Как вы думаете, сейчас в IT могут появиться такие «вирусные» проекты, которые будут работать долго и успешно?
Дело не в том, что это именно IT-проекты, IT – это просто способ реализации идей, это инструмент. Если бы я знал, что может «выстрелить»! Вот я не понимаю, что люди находят в SnapChat, но он безумно популярен. Или находили в Pokemon Go, пока волна одержимости этой игрушкой не прошла. IT хорош тем, что он позволяет людям творить потрясающие вещи, не имея каких-либо ресурсов и находясь в любой точке планеты. Не секрет, что, например, в США оборудование для промышленности или исследований в разы круче, чем в России. Поэтому у нас какая-либо прикладная наука буксует, а вот IT развивается, потому что программисту не нужно строить завод или открывать лабораторию, ему хватит и компьютера.
Какие IT-отрасли будут развиваться, по вашему прогнозу? Искусственный интеллект – это тренд, а что еще?
Интернет вещей, конечно. Это то, чем я сейчас занимаюсь как раз. Но это страшная вещь. У нас был проект – мы делали, точнее переделывали платежную интернет-систему. Снаружи она была красивой, но внутри до нашего вмешательства – просто чудовищной, взломать ее было очень просто. Еще полгода после этого проекта я боялся что-то покупать в Интернете, потому что безопасность везде хромает. Киберпреступность уже у всех на слуху, а дальше будет еще хуже. Сейчас только ленивый не делает всякие супердевайсы, типа кофеварки, которая управляется по Wi-Fi. Потому что можно сделать это быстро и дешево, заодно накрутив розничную цену. А какой опыт в IT-безопасности у производителей таких девайсов? Почти нулевой.
А как же сеть Li-Fi? Она ведь более безопасная, будут разрабатывать на ее основе…
Я думаю, с помощью Li-Fi проблему решить не удастся. Есть же окна, отраженный сигнал и всякие шпионские штучки. Например, разговор двух людей можно считать с помощью лазера, направленного на окно комнаты, который детектирует колебания стекла от звуковых волн. Для меня в свое время было открытием, что киберпреступники – это не подростки, которые сидят дома в темных комнатах, как это было когда-то, а коммерческие организованные структуры. Сейчас вы можете выйти в интернет и заказать атаку на конкретного человека или компанию. И люди получают за это огромные деньги, это выгодно, поэтому им будет выгодно взламывать и Li-Fi, хотя взламывать Wi-Fi проще. Всегда приходится искать баланc между двумя вещами – удобством пользователя и безопасностью. Первое победило, а безопасность пострадала. А люди по всему миру набивают дом устройствами, которые управляются через беспроводное соединение, то есть вероятность наличия «дырки» для хакера, повышается.
Но тогда будут развиваться и средства защиты?
Да, но это борьба копья и щита. Вы, как пользователь, вроде доверяете разработчику, который, казалось бы, должен что-то сделать для обеспечения безопасности. При этом разработчики имеют разный уровень подготовки, разные знания, разные возможности. И вот когда есть код для той же кофеварки, даже хороший программист может десять раз перепроверить, убедиться, что все нормально. Но затем подойдет специалист по кибербезопасности и тут же укажет на пять уязвимых мест. Что уж говорить, если программист был не очень. Без накопления опыта сделать хотя бы относительно безопасными вещи, работающие на основе беспроводной сети, невозможно. К тому же, сначала произойдет заполнение рынка IoT-девайсами, только потом производители начнут думать об их защите.
Кроме того, стоит постоянно помнить о том, что я уже косвенно обозначил: когда индустрия растет, растет и количество неграмотных специалистов. Например, автономные автомобили сейчас разрабатывают самые крутые «айтишники», которые сто раз все перепроверяют, но это пока. Когда индустрия станет массовой, потребуются все новые и новые разработчики. И найдется такой, который сделает ошибку в коде, а ценой этой ошибки станет чья-то жизнь. Похожая ситуация бывает, например, с врачами. Вы же не можете, придя в поликлинику, сразу сказать, попали вы к хорошему специалисту или к не очень компетентному?
Расскажите о самом интересном проекте, который вы выполняли?
Наверное, самым запомнившимся был все-таки mail.ru, и даже не потому, что он был самым громким. Это был настоящий стартап в противоположность бюрократии больших заказчиков: небольшая команда очень быстро разрабатывала что-то с нуля, каждый понимал всю систему в целом, а не какие-то маленькие зоны ответственности, все изменения без задержек шли пользователям, от пользователей обратно шел фидбек. Было бодро.
Но, если брать другие проекты, наверное, больше всего меня впечатлила компания Ocado. Это такой супермаркет в Англии, у которого есть только доставка продуктов домой, а самих магазинов нет. Супермаркет шиворот-навыворот. Если в обычном супермаркете вы сделаете онлайн-заказ, то какой-то работник супермаркета с вашим списком будет ходить по залу и складывать в корзинку товары. Тут же все наоборот: работники стационарны, а к ним по огромной системе конвейеров приезжают корзинки. На экране при этом появляется инструкция, что куда положить. У одного работника под рукой ограниченный набор товаров, ходить никуда не нужно, поэтому он кладет товары очень быстро, а система управления складом гоняет тысячи корзин по конвейерам от одного работника к другому, пока каждый заказ не будет полностью укомплектован. В конце все корзины загружаются в машины и отправляются в путь. Каждый автомобиль доставляет сразу пару десятков заказов. Автоматизировано абсолютно все: от движения корзин по огромному четырехэтажному складу и распределения корзин по машинам до прокладывания оптимального маршрута для каждого авто, гарантирующего покупателю получение заказа точно в выбранный временной слот.
То, что пришлось делать конкретно мне, наверное, не было суперинтересно, но все происходящее вокруг впечатляло. Белой завистью завидовал парням, делающим автоматизацию склада, ведь далеко не каждому разработчику доводится испытать это чувство, когда от твоего кода не просто циферки на экране меняются или новая страничка на веб-сайте появляется, а оживает и приходит в движение огромная машина.