Sberseasons: как я провел это лето

wqxfef281vn1xmabfjz19ybaq3s.jpeg

Привет! Что делать, если не составил планов на лето? Стажироваться! Сбербанк предложил мне пройти двухмесячную оплачиваемую стажировку. В этом тексте я расскажу о самой программе стажировки Sberseasons, о том, как проходил отбор, чем я занимался и чему научился. Эта статья может быть полезна для студентов, заканчивающих обучение математических или экономических направлений.

Что такое Sberseasons?


Sberseasons — это оплачиваемая стажировка, которую проводит Сбербанк студентов 3 и 4 курса бакалавриата, последних курсов специалитета и магистратуры очной формы обучения три раза в год.

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

Как проходил отбор


Весной я заканчивал третий курс специальности «Фундаментальная математика» и узнал об оплачиваемой стажировке, которую проводит Сбербанк. Я увидел программу «Java-разработка», которая проходит в Москве.
Пока читал разную информацию, увидел, что эта стажировка проходит не только в Москве, но и других городах России: Санкт-Петербург, Нижний Новгород, Екатеринбург, Самара и Воронеж. Увидев свой город (Самара) я сразу обрадовался, что если удастся пройти отбор, то ехать никуда не придется. Но сразу после радости пришло разочарование: в Самаре нет направления, связанного с Java. Были только экономические модели и аналитика. Немного взвесив все «за» и «против», я решил попробовать себя в аналитике.

Началось все с того, что 12 мая я заполнил анкету (некоторая информация о себе) и мой статус перешел в режим ожидания обратной связи. Спустя примерно неделю мне пришел ответ о том, что меня приглашают на тестирование, назначенное на 8 июня. Тест состоял из двух частей: в первой были задачки на легкую математику и логику (например, найти угол, образованный стрелками часов в такое-то время, или выяснить, как изменится зарплата сотрудника, при понижении ее на $x$ процентов и повышении после этого на $x'$ процентов); вторая часть включала в себя задачи на знание основных структур и функций Excel и знание некоторых операторов на языке SQL. После этого тестирования всем предлагалось ждать: тем, кто прошел этот этап, будет направлено приглашение на очное собеседование.

Почти через две недели 22 июня мне позвонили и пригласили на это самое очное собеседование в Центр Сопровождения Клиентских Операций. Я пришел, и, как выяснилось, самого по себе собеседования не будет. Начальник отдела по работе с персоналом провела устную экскурсию по разным отделам их центра, рассказала, кто и чем занимается и спросила, куда бы мне больше всего хотелось. Я выбрал IT-отдел. Договорились, что она спросит в этом отделе, нужен ли им сотрудник, после чего перезвонит и сообщит о результате.

Результат не заставил себя долго ждать. 29 числа наконец-таки пригласили на финальное собеседование с начальником отдела по работе над операциями с банковскими картами. Поспрашивал, что умею, что не умею (по итогам выяснилось, что я не умею ничего, что им могло бы пригодиться). Сам он рассказал про свой отдел и про то, чем они занимаются. И решил, что готов взять меня на работу на эти два месяца. Еще через неделю 6 июля я заполнял документы на трудоустройство. 9 числа был первый рабочий день.

Чем я занимался


В понедельник мне предоставили рабочее место и назначили руководителя. Немного пообщавшись со мной, он решил, что мы будем заниматься Machine learning на основе кода Python. Так как с машинным обучением я прежде на сталкивался и максимум, что мог написать на Python«е — это решение задачи A+B, то начали мы со знакомства с разными вспомогающими библиотеками Python, с некоторыми алгоритмами и приемами машинного обучения.

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

g8dctdasirvyy_mqrhobcyemew4.jpeg

Параллельно с изучением Python«а и машинного обучения, поступали задания от других сотрудников отдела. В основном эти задания были простыми: разослать письма коллегам, сделать сравнение столбцов в Excel с помощью ВПР-функции и так далее; то есть я выполнял роль помощника.

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

Вернемся к машинному обучению. Каждый такой запрос имеет тему и описание. Далее происходит распределение этих запросов внутри отдела по сотрудникам в зависимости от темы. Понятно, что тема будет напрямую зависеть от описания. Поэтому было принято решение создать модель, которая будет осуществлять распределение запросов по сотрудникам. Когда я пришел, такая модель уже была создана, но работала нестабильно. Я совместно с руководителем так сказать «оптимизировал» модель, то есть подбирал более подходящие классификаторы и параметры для них, работал над входными данными, искал ошибки и так далее.

В итоге получилась модель, которая определяла тему с точностью $95$%.

Чему я научился


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

Следующее, что я узнал — SQL-запросы. Конечно, я и раньше слышал о них. Но не было необходимости начать изучение, а оказалось — и интересно, и полезно.

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

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

Впечатления от пройденного


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

© Habrahabr.ru