«Я использовал весь свой потенциал, но все равно сомневался, что могу стать программистом»
— новый сотрудник Payme Азиз Мухторжонов о прохождении стажировки в компании.
«Я использовал весь свой потенциал, но все равно сомневался, что могу стать программистом»
— новый сотрудник Payme Азиз Мухторжонов о прохождении стажировки в компании.
В 2021 году финтех-компания Payme запустила систему стажировок в поддержку молодежи из IT-сферы. Этот материал — рассказ одного из участников стажировки и уже сотрудника компании о том, как все проходило.
С мая по сентябрь 2021 года я проходил стажировку в Payme. Прошел я ее успешно, после чего устроился в компанию и теперь веду самостоятельный проект. В статье я расскажу, как проходила стажировка и чему она меня научила.

Азиз Мухторжонов
успешно прошел стажировку в Payme

Азиз Мухторжонов
успешно прошел стажировку в Payme
С мая по сентябрь 2021 года я проходил стажировку в Payme. Прошел я ее успешно, после чего устроился в компанию и теперь веду самостоятельный проект. В статье я расскажу, как проходила стажировка и чему она меня научила.
Как я попал на стажировку
Еще за год до основных событий, в 2020-м, я стал искать работу. Опыта работы в IT у меня не было, но я знал логику программирования. Его я изучал в университете и на курсах по веб-программированию.

Весной 2021 года мой однокурсник, который к тому моменту только устроился в Payme, отправил в общий чат сообщение о стажировке в компании.

Требования были простыми — владеть объектно-ориентированным программированием и уметь писать код. Писать код я умел — а это уже половина требований. Я написал Виктории, менеджеру по подбору персонала.
Азиз:
Добрый день. Меня зовут Азиз. Я по поводу стажировки в Payme на Node.js. Заканчиваю Туринский университет. Свободно работаю с фронтендом и JavaScript в частности. Хотел бы дальше развиваться и обучиться Node.js.

Являюсь способным учеником и за короткий срок сумею овладеть языком. Очень хотел бы пройти стажировку у вас. Что мне нужно сделать для этого?
Виктория:
Добрый день. Пришлите резюме для ознакомления.
Азиз:
*отправляет резюме*
Виктория:
Значит, вы с Node.js не работали?
Азиз:
Нет. Я уверен, что овладею основами Node.js в короткий срок и точно не разочарую
Виктория:
Пока набор на стажировку не начался. Как начнем, сможем рассмотреть вашу кандидатуру.
Прошел месяц. За это время я уже успел попрощаться с надеждой на работу в Payme. Но через какое-то время однокурсник опять скинул объявление. Я решил, что если снова ищут стажеров, то стоит еще раз попытаться. 13 апреля 2021 года я написал Виктории.
Азиз:
Добрый день. Я слышал, у вас начался отбор на стажировку. Хотелось бы устроиться к вам. Надеюсь, рассмотрите мою кандидатуру.
Виктория:
Здравствуйте, нам нужны стажеры хотя бы с базовым уровнем Node.js.
Азиз:
Я работаю на JavaScript. Уверен, что сумею разобраться и с Node.js.
Виктория:
У нас будет техническое задание на отборе.
21 апреля меня позвали на собеседование.

Общее собеседование провела Виктория. Техническое должен был провести Олег. Его на месте не оказалось, и спустя минут пять позвали Влада. Это был настоящий программист до мозга костей и кончиков кудрей.

Было 3-4 простых тестовых задачи, в каждой — всего по вопросу. Я знал их решение, но перед такой личностью уверенность канула в небытие, и я проверял каждый символ по 10 раз, потратив времени больше, чем это могло бы занять.

Настал конец технического собеседования, и я был рад, что мучения закончились. Спустя 10 минут мне пришло уведомление от Виктории. Сообщение вызвало улыбку, облегчение и гордость.

Стажировка началась 10 мая. Режим работы — с 10:00 до 19:00.
Первый этап стажировки
В первый день я пришел чуть раньше. Мы ждали какое-то время, а затем пришел парень, похожий на джуна: в стильных джинсах, рубашке и кедах. Говорил он негромко, был на одной волне с нами, оценивал наши шутки, хотя они были и редкими. Весь тот факт, что в будущем, возможно, такими будем и мы, служил дополнительной мотивацией.

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

Уверенность в себе в тот самый миг бесследно исчезла. Я вдруг осознал, что это тот самый Олег, который должен был взять у меня техническое интервью. И он был не джуниором или миддлом, а техническим директором компании.

Мы не знали, с чего начать. Это был новый мир непонятных терминов. Я тупо смотрел на монитор и думал: нам бы не дали то, что мы не могли выполнить. А если я не могу справиться с таким простым заданием, то что вообще здесь делаю. Все остальные не задавали вопросов и писали код.
В итоге я начал с того, с чего обычно все и начинают:
console.log("Hello World!");
И все завертелось.
Кто был в команде со мной
В коллективе все быстро нашли общий язык и без стеснений подходили друг к другу с вопросами и советами. Мы обсуждали не только работу, но и учебу. Ребята были из разных университетов, каждый изучал что-то свое.

К примеру, за полгода до стажировки я изучал компьютерные сети, и когда речь заходила о DNS и IP, то сразу мог показать свои знания.

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

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

Код стал чище. Изначально он был на три вертикали монитора. После этого мастеркласса осталась одна вертикаль. Закончив практическую часть, Олег начал рассказывать про чистый код. Кто из нас знал это? Мансур. Кто применил это? Никто.

Именно в этот момент исчез мой психологический барьер. Я больше не считал, что остальные на голову выше, потому что даже у опытных есть банальные ошибки. Я понимал: главное, что код работает, пусть он и не идеален. Об этом напоминала надпись в офисе в рамке: Done is better than perfect.
Второй этап стажировки
В конце одного из рабочих дней, когда проект у всех был завершен, пришли Олег и два сотрудника HR-отдела и позвали двоих из нас. В тот момент я не знал, огорчаться или радоваться. Через минуту стало ясно, зачем их позвали. Я боялся представить, что было бы, окажись на их месте я. Но вместе с тем пришло понимание, что я сильнее этих парней. Ведь я остался, а значит уровень моих навыков был не настолько низок. Это мотивировало меня выкладываться не на 100, а на все 200%.

Когда мы прощались с двумя стажерами, нам сказали, как проходит отбор. Мы узнали, что это не конкурс, а соревнование с самими собой. Если мы проходим по критериям — значит, нас возьмут.
После бенчмарка Олег дал следующее задание — сделать конвертер запросов из SQL в запросы для MongoDb. Как и в прошлый раз, он разрисовал все и даже построил конкретную архитектуру. Бенчмарк был больше функциональным проектом. Здесь же в ход пошла тяжелая артиллерия — классы. Было очевидно, что сначала нас учили писать код, потом — составлять архитектуру.
SQL и MongoDb — системы управления базами данных.
Вначале ощущения были теми же — новые термины, много вопросов. Но было и отличие — мы уже знали, где и как искать.

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

Им скинули код готового сервера для общения по API, а логику должны были писать они сами. Но код был непонятен, так как мы не имели дел с реальным API. Все запросы и ответы к API, которые мы делали, создавались по готовым шаблонам. По этой причине архитектуру нам объяснил Влад.
Через неделю, когда проекты должны были дать уже нам, я заболел COVID-19 и провел месяц без работы.
За это время команды разделились, а первая тройка сильных ушла вперед со своим проектом. Когда я вернулся, Олег разрешил мне присоединиться к команде, которая занималась акциями. Теперь мои шансы уменьшились из-за того, что я не мог работать из-за болезни. Это ударило по моей мотивации.

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

И это стало пинком для меня. Я начал усердно работать над собой — гуглить, искать ошибки в коде, дебажить.

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

Это придавало мне уверенности.
Экзамен
В сентябре всем прислали сообщение, что нас будут аттестовать. Мы ждали целую неделю.

В один из дней к нам пришли Олег, Влад и еще один сеньор — Вадим. Они и должны были принять у нас экзамен.

Пока экзаменовали первого, я испытывал те же ощущения, когда прощались с первыми двумя из нас: холодный пот, мурашки, пустота и сильное сердцебиение. Но когда приходило время действовать, я был спокоен как удав.

Вторым позвали меня. Сразу же попросили показать код на компьютере и объяснить его, что я довольно успешно сделал. После мы приступили к теории.

Хитрых и каверзных вопросов почти не было. Где-то меня пытались подловить, где-то хотели, чтобы я дал логичный ответ, но мне запомнился один диалог между мной и Олегом, который закончил Вадим:
— Какие есть протоколы?
— HTTP и HTTPS.
— В чем между ними разница?
— Если перехватят HTTPS, то он будет зашифрованным.
— А как перехватывают данные?
— Олег, если бы я знал, как перехватывают данные.
— Олег, если бы он знал, как перехватывают данные, то это мы бы сейчас работали на него.
После теоретической части надо было выполнить практическое задание, с которым я тоже справился довольно успешно.

В четверг нас собрали, чтобы объявить ответы. Подошел Олег с HR и сказал, что нам в последний раз начислят зарплату за стажировку и уже после объявят ответы. Первым на работу принят Ислам — один из парней из команды админки.

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

Третьим взяли Мансура, того самого опытного фронтендера.

На работу были приняты сильная тройка и я, который за время стажировки успел потерять и восстановить уверенность в себе, способность мыслить рационально и логически.
Повезло ли мне? Определенно. Была ли удача моим основным козырем? Абсолютно нет.
Мы тут же начали расспрашивать Олега, в какой проект попадем. Cody уже больше месяца работал со своим наставником, Мансура определили в один из отделов.
На радостях и с пониманием того, что попадаем в штат, я сходу задал вопрос Олегу:

— Мы попадем на легаси?
— Вы попадете в конкретное легаси.
Легаси — проект с кодом, который достался по наследству от других разработчиков.
Нам с Исламом Олег приготовил лакомый кусочек. Он сказал, что есть небольшой проект, который надо доделать до конца октября. Работать будем напрямую с ним и Владом. Похож он на акции, так что мне будет проще. Почти полтора месяца, да еще и со знакомой структурой — вроде несложно.

Мы вышли в офис, потратили 2-3 дня на обустройство. Знакомились со всеми, привыкали к обстановке. Еще через пару дней Олег позвал нас в переговорную комнату, чтобы обсудить проект. Я, Ислам, Олег, Влад, Вадим и Дамир (очень сильный программист, как я узнаю позже) стали обсуждать техническую реализацию.

Позже мне дали собственный проект, которым я очень горжусь. Об этом — в следующем материале.
Итоги
Мотивация
Возможность работать над таким крутым продуктом в окружении опытных программистов одной из крупных финтех-компаний Узбекистана — это то, что добавляет мотивации. И я благодарен за опыт, который мне дали в Payme.
Не стоит бояться ошибок
Даже стажеры с хорошим опытом работы могут их совершать. Готовый код, работающий неидеально, лучше неготового.
Стажировка помогла побороть неуверенность в себе
Именно здесь я понял, что не понимать что-то или не знать — нормально. Главное — нельзя опускать руки, нужно не лениться искать дополнительные источники информации, чтобы как можно глубже изучить вопрос.
Любые знания могут пригодиться
Если вы проходили до стажировки курсы или сами что-то изучали — это только вам в плюс.
Не нужно бояться спрашивать
Я получил бесценный опыт работы в команде с одаренными людьми. Это не только сами стажеры, но и те, кто нас учил — сотрудники Payme.
На правах рекламы.