«Производство ИТ-специалистов в России не поставлено на конвейер, но это хорошо»
Современный разработчик - это почти всегда самоучка, способный работать в команде и действовать в условиях неопределенности. Об особенностях профессии, а также о проблемах ИТ-образования в России и демонизации корпораций Хайтек+ рассказал главный инженер по разработке «Сбербанка» Алексей Леванов.
В одном из интервью вы отмечали, что на собеседовании при устройстве в «Сбербанк» проходили оценку soft skills. У этого термина довольно расплывчатая формулировка. Что под ней подразумевают в компании?
Какого-то специализированного теста нет, но на самом деле оценить soft skills довольно легко. Проверяют умение общаться - строить фразы и грамотно отвечать на вопросы, а также реагировать на критику - это особенно важно. Среди разработчиков часто встречаются люди, которые воспринимают критику неадекватно, и при работе над командными задачами это становится проблемой.
Soft skills - это также умение подстраиваться под собеседника. При групповой работе часто возникают технические споры и важно уметь аргументированно донести свою позицию. Иногда люди встают в позу и не идут на компромиссы. Сейчас я сам провожу собеседования и оцениваю, как человек может повести себя в спорной ситуации. Не факт, что из-за таких особенностей соискатель точно получит отказ. Просто я делаю пометку, что он не командный игрок.
Вы также выступаете в роли наставника для разработчиков. В чем заключается эта роль?
Раньше я преподавал в университете (Алексей читал курс «Разработка мобильных приложений» на кафедре ИУ3 МГТУ им. Баумана - прим. авт.), а сейчас преподаю в школах «Сбербанка». Но наставник - это не преподаватель, у него другая задача. Он не дает готовый материал, а поддерживает человека в его начинаниях, исследованиях, работе. Он может подкинуть обучающие материалы или подсказать эксперта для решения вопроса, но не будет «вести за ручку».
Исходя из вашего опыта работы в вузе, какие проблемы характерны для ИТ-образования в России?
Мне кажется, до меня их уже неоднократно называли. Первое - в университетах недостаточно молодежи, но при этом невозможно привлечь новые кадры. Это объяснимо, поскольку в университетах мало платят - особенно по сравнению с ИТ-компаниями - и предлагают довольно специфические задачи.
Есть определенная прослойка людей которым нравится преподавание и исследовательская деятельность. Они готовы мириться с тем, что будут получать гораздо меньше денег, чем могли бы получать в компании. Я, как видите, не смог работать в таких условиях. Передо мной стоял выбор - заняться наукой или продолжить развиваться в компании. Я выбрал второе.
К тому же в университетах не обеспечивают минимальные нормальные условия для работы. К сожалению, оснащение кафедр тоже оставляет желать лучшего. Люди просто уходят.
Проблема еще и в том, что учебная программа в ИТ быстро устаревает. В определенный момент ты уже сам не хочешь адаптировать свой курс под новые веяния. Ты успешно ведешь программу много лет и не понимаешь, зачем вносить какие-то изменения. Наверное, на дистанции в один год отсутствие изменений не так страшно, но со временем есть риск, что твой курс закостенеет, и программа потеряет актуальность.
В математике, к примеру, такая ситуация менее вероятна. Математический анализ преподается примерно на том же уровне, что и 20 лет назад, а вот ИТ-сфера меняется стремительно, и преподавателям нужно под эти изменения подстраиваться.
На мой взгляд, это две основные проблемы, для которых есть очевидное решение.
ИТ - это одна из немногих сфер, в которой возможно самостоятельное изучение предмета и абсолютно не нужны университетские курсы и преподаватели.
Сейчас есть доступ к интернету, где можно найти все что угодно. Поэтому советую идти не на мои лекции, а послушать курс Стэнфордского университета, который даст те же знания, но глубже и в большем объеме.
Согласно исследованию сервиса HackerRank, две трети студентов-разработчиков - самоучки. Большинство признает, что одних только курсов в вузе недостаточно. Разве это не признак кризиса в ИТ-образовании?
Мне кажется, вступить в пору кризиса может только то, что когда-то пережило расцвет. А ИТ-дисциплины никогда не преподавались на высоком уровне. Я взялся за разработку в десятом классе и сразу же начал с самообразования. Мне пришлось пойти в библиотеку, засесть там с книжкой, чтобы понять, как работают алгоритмы.
Но я не считаю, что это плохо. Такова специфика этой сферы, и по-другому быть не может. Отрасль меняется с такой скоростью, что мы просто не можем требовать, чтобы преподаватели успевали за всеми изменениями. Тем более если учесть массу других задач, которые они вынуждены выполнять.
На руку играет то, что сейчас востребовано не столько ИТ-образование, сколько знания. Люди сами заинтересованы в их получении.
И мне кажется, что знания, которые вы получаете самостоятельно, намного важнее чем те, которые вам «кладут» в голову.
Так что считаю, что говорить о кризисе в данном случае некорректно, поскольку он перманентный. Но я не считаю это проблемой - напротив, это здорово.
При этом в университетах продолжают давать какие-то базовые низкоуровневые знания по специальности. Они обеспечивают хороший бэкграунд, который впоследствии позволяет браться за более сложные и высокоуровневые задачи. Если специалист хорошо освоил в университете алгоритмы и структуры данных или, например, C (язык программирования - прим. авт.), то он будет лучше понимать, как устроена технология, с которой ему предстоит работать дальше.
Но сейчас все меняется, и крупные ИТ-игроки создают свои школы разработки. Собственные обучающие программы есть и у «Сбербанка», и у Mail.ru, и у «Яндекса».
Бизнесу не хватает кадров, и компании запускают образовательные курсы, которые читают те самые специалисты, которые в свое время могли остаться преподавать в университете, но не остались. Возможно, мы только идем к расцвету образования в России - хотелось бы верить.
Об этой проблеме говорят и на Западе. Крупные ИТ-компании переманивают лучших экспертов по искусственному интеллекту. В результате они уходят из академической среды и бросают свои исследования.
В основе любых продуктов лежат исследования, и они проводятся не только в университетах. Например, тот же Google можно считать активным поставщиком новых технологий и разработок, которые уже стали частью повседневности.
Я не сторонник принуждения по принципу: «Ты слишком умен! Не уходи в Google!». Тем более на Западе, где обладатели PhD-степени могут рассчитывать на высокую зарплату.
Работа в западной системе образования позволяет нормально существовать, содержать семью, откладывать деньги на старость и быть уверенным в завтрашнем дне.
Если человек чувствует, что он хочет заниматься наукой и не хочет работать в ИТ-компании с начальником, спринтами и списком задач, то он останется в академической среде и не уйдет из нее. Главное создать специалистам комфортные условия, а дальше они сделают выбор сами.
У нас бы на таких условиях люди тоже оставались в вузах. Некоторые и в нынешней системе остаются. У меня есть знакомые, которые продолжают читать курс в магистратуре, хотя не видят отдачи. Да, в системе образования могло бы быть больше увлеченных и творческих специалистов, если бы ситуация сложилась по-другому.
Конкуренция между ИТ-компаниями указывает и на более глобальную проблему - дефицит кадров в отрасли. Либо специалистов не хватает, либо им не хватает квалификации. Вы заметили эту тенденцию?
Да, ИТ-специалистов мало. Не хватает разработчиков мобильных приложений, бэковых систем, даже дизайнеров - хотя тут я не могу говорить со стопроцентной уверенностью. Дело в том, что вузы просто не выпускают людей по таким специальностям, а если подобные курсы все-таки появляются, то качество оставляет желать лучшего.
У нас не поставлено на конвейер производство ИТ-специалистов. Но на мой взгляд, это даже хорошо. Бизнесу это позволяет создавать образовательные курсы под свои нужды и отбирать лучших - именно так решается проблема дефицита. Это хорошо и для сотрудников, поскольку из-за повышенного спроса они могут рассчитывать на более высокую зарплату.
Я не уверен, что проблему можно решить, наладив потоковый выпуск в университетах. Да, из-за конкуренции компании переманивают лучших, но это происходит в любой сфере, не только в разработке.
Из-за повышенной конкуренции за кадры ИТ-компании предлагают все более выгодные условия. Например, вводят четырехдневную неделюили более гибкий график. «Сбербанк» такое практикует?
Четырехдневной рабочей недели, насколько я знаю, в «Сбербанке» и крупных российских ИТ-компаниях нет. Но гибкий рабочий график так или иначе внедряют все. Опять же, такова специфика сферы деятельности. Разработка - это процесс сложно прогнозируемый. Многие задачи носят исследовательский характер - специалист оценивает их с позиции возможно/невозможно.
До меня уже не раз говорили о состоянии потока, необходимом при создании ПО. Часто нам просто удобнее работать в офисе, когда там меньше людей, то есть приходить и уходить позже. Компании это понимают и идут навстречу.
Что касается четырехдневной рабочей недели, то я всеми руками за такие эксперименты. Но опыт компаний и исследования университетов пока дают противоречивые данные и неясно, насколько это эффективно.
Интересно, что мы говорим с вами об ИТ-компаниях, хотя вы работаете в банке. Недавно Герман Греф заявил, что «Сбербанк» может поменять название на «Сбер», поскольку он превращается из банковской организации в ИТ-компанию. Как бы вы объяснили это решение?
С этим решением я полностью согласен, потому что в перспективе все крупные предприятия превратятся в ИТ-компании или погибнут. Технологии занимают все больше места в нашей жизни. Не знаю, сколько вы проводите времени в телефоне, но я, кажется, каждую свободную минуту.
И компании знают о нас столько, сколько не знают даже родители и друзья, а иногда понимают нас лучше, чем мы сами.
Вы слышали про стартап, который на основе ваших лайков в Facebook составляет ваш психологический портрет? Компания анализирует активность в соцсети и обещает с точностью 95-97% прогнозировать, что вам понравится, а что нет. Причем делает это лучше, чем ваши родные и близкие.
В этих условиях вы либо окажетесь во главе тренда и будет предлагать пользователям актуальные сервисы. Либо вы просто останетесь не у дел. Это следующая технологическая революция.
Из-за растущей власти ИТ-корпораций топ-менеджмент, а с ним и разработчики все чаще подвергаются критике. Компании называют монополистами, обвиняют в невнимании к проблемам меньшинств. В американских СМИ регулярно выходят статьи, демонизирующие ИТ-рынок. С точки зрения представителя индустрии это оправданно?
Вы перечислили целый ряд проблем, но я не согласен ни с одним из пунктов. Не надо демонизировать ИТ-компании, но и восхвалять их не нужно. Как и другие представители бизнеса, они нацелены на получение прибыли. Они не пытаются сделать вашу жизнь хуже, а часто даже хотят улучшить ее.
ИТ-компании стараются понять проблемы простого человека. Решая их эффективнее, чем конкуренты, они привлекают клиентов. Чтобы получить конкурентное преимущество, нужно понять, что надо людям.
Мы применяем этот принцип при разработке новых продуктов «Сбербанк Онлайн». Недавно мы создали открытки, запустили Stories. Каждый раз мы пытаемся понять, какая у людей потребность, а не берем какую-то технологию и пытаемся засунуть ее в приложение.
К примеру, мы выяснили, что P2P-переводы пользуются популярностью - люди часто переводят друг другу деньги. Мы подумали, как сделать этот сервис еще популярнее, и интегрировали в него диалоги. Так появились открытки.
Понятно, как функционирует рынок. Но часто попытка создать новый продукт заканчивается провалом. Алгоритмы вторгаются в частную жизнь, укрепляют предрассудки и даже нарушают права человека. Вы как разработчик когда-нибудь думали, что необходимо изучать этику? Об этом говорят многие эксперты.
Разработчики часто находятся в состоянии потока и стремятся решить задачу. Они не задумываются об этике. Более того, перед тем как попасть к специалистам, задача проходит несколько циклов. Ее обдумывает и добавляет в backlog владелец продукта, product owner, затем включаются дизайн-мышление, разработка идеи, дизайн прототипа и этап аналитики. Речь идет о крупных ИТ-компаниях, в стартапах процессы могут быть выстроены иначе.
Этические проблемы, скорее всего, возникают на этапе аналитики, а не на этапе разработки. И у разработчика не всегда есть возможности определять специфику задачи.
Если компания хочет создать неэтичный продукт, разработчик может максимум сказать - нет, я это делать не буду. Обычно проблема заключается в использовании личных данных. Но мы персональные сведения не используем, а применяем только обезличенные выборки.
|