Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Всем привет! Хочу рассказать о своем опыте погружения в мир IT, получении новых знаний на курсах и попытке устроиться на работу в Т-банк (на момент моего решения это еще был Тинькофф). Что из этого получилось, постараюсь изложить ниже. В этом тексте (или сочинении, эссе, как хотите называйте) будет довольно много слов.
На данный момент я заканчиваю третий курс одного из региональных ВУЗов по крайне спорной специальности. У каждого преподавателя свое видение того, чем мы должны заниматься, поэтому три года наша группа пользовалась принципом: на занятиях по информационным технологиям говорили «Мы не программисты — мы экономисты», а на экономических дисциплинах — «Мы не экономисты — мы программисты».
Отбор
В феврале этого года передо мной встал вопрос, где и как проходить производственную практику. В вузе данная специальность является скорее экспериментальной (насколько мне известно, был всего один выпуск), и никаких наработок по содействию в поиске мест практики у учебного заведения нет (максимум, кто-то из преподавателей может узнать есть ли где-нибудь место по настройке 1С-базы или помощником бухгалтера). На кафедре сказали искать работу самостоятельно, главное условие — компания должна иметь направленность либо на информационные технологии, либо на экономику, в идеале и то и другое. Что вы будете там делать, не имеет значения (хоть кассиром в супермаркете работайте, а потом в отчетах притянем что-нибудь). Меня, конечно, этот вариант не устроил, и я начал изучать, куда можно податься.
Преподавательница по базам данных посоветовала мониторить варианты стажировок от крупных IT-компаний и сказала, что примерно в апреле стартуют наборы на летние стажировки в Яндекс, Сбер, ВК и другие (сразу предупредила, что конкурс большой, попасть сложно, но почему бы не попробовать). Как раз в этот момент стартовал набор на курсы Финтеха от Тинькофф. Посоветовавшись с той же преподавательницей, я решил участвовать в конкурсе на курс по QA (так как разработки как таковой у нас не было, а для анализа данных я еще не дорос, я выбрал тестирование). Если попаду, то научусь чему-то новому и получу опыт, а также не придется сразу разбираться с упавшими задачами. Плюс озвучивалось, что после курсов есть возможность попасть в штат. Я подсчитал, что к моменту окончания курса до начала практики по учебному плану у меня будет полтора месяца, и я успею подать документы о трудоустройстве (в Т-Банк или другое место) в ВУЗ.
Сам отбор проходил в один этап, который состоял из трех блоков. Необходимо было заполнить анкету, в которой спрашивались общие вопросы: где учитесь, кем работаете, что привлекло вас в направлении, что хотите достичь в будущем, какие у вас есть технические достижения и организационные навыки. Анкета стандартная, но было сложно оценить себя. По отзывам, я узнал, что анкета играет чуть ли не единственную решающую роль в отборе. Я собрал все свои немногочисленные достижения и красивым языком написал, что сдавал курсовые в университете на отлично и на первом курсе организовал в общежитии турнир по покеру.
Далее был тест, состоящий из вопросов на общие технические знания и задач жизненно-математическо-логического спектра (на YouTube таких полно по запросу «задачи с собеседования»). Отдельно хочу отметить задачи на логическое мышление, в которых встречались перефразированные задачи из теста Войнаровского. Здесь я, конечно, поплыл, так как туго у меня с причинно-следственными связями.
И в конце был экзамен по программированию. Задания включали алгоритмы и структуры данных от самых простых до сложных. В течение пяти часов нужно было решить семь задач. Три задачи я решил за 30-40 минут (задачи на сортировку, прогрессию, поиск элемента). Дальше стало сложнее, но с помощью Google задачи были решаемы. На одну из задач потратил полтора часа, решил ее, но, кажется, не совсем верно или не уложился в лимиты по времени (сложно судить, так как в итоговой оценке было указано только количество баллов без конкретной разбалловки). Не согласен с мнением, что это были олимпиадные задачи, как пишут в комментариях телеграм-каналов после каждого набора. Скорее, это задачи уровня Easy и Medium с LeetCode, возможно, пару Hard. Другой вопрос — нужны ли эти навыки в работе тестировщика, по крайней мере на начальных уровнях? Но как один из вариантов заочного отбора это вполне корректно может отражать умения кандидата находить решения.
Вот я решил все задания, отправил их и стал ждать ответ. Морально я себя готовил к тому, что, скорее всего, не пройду (учитывая, что люди чуть ли не годами пытаются пройти отборы), но в глубине души теплилась надежда: «А вдруг повезет». И повезло. Меньше чем через неделю мне на почту пришло письмо с сообщением: «Поздравляем! Вы поступили на образовательные курсы Финтеха».
Собственно обучение
Так началось мое обучение. Подробно рассказывать, что мы проходили, какие задания давались, не буду, чтобы не быть нечестным по отношению к организаторам и преподавателям, которые действительно вложили душу в курс.
Курс охватывал все основные этапы разработки ПО и интеграцию тестирования в него. Мы изучали методологии разработки, теорию тестирования (виды, техники тест-дизайна, тестовую документацию), архитектуру ПО. Отдельно рассматривались тестирование фронтенда (особенности тестирования web- и мобильных приложений) и бэкенда (в частности, тестирование API). Значительное внимание было уделено автоматизации и практикам DevOps. Завершался курс блоком по процессам тестирования. Информации было действительно много, и она была подана в основном интересно. Сжатые сроки, конечно, ограничивали поток, но благодаря дополнительным материалам и при должном усердии уйти без знаний было невозможно.
Принцип обучения строился по следующему сценарию: лекция, куча дополнительных материалов, домашнее задание. Мне кажется, это оптимальный вариант для обучения в онлайн формате. Я сторонник принципа «Если хочешь научиться – научишься, если нет, то никто не научит», и данный подход был ненапряжным и позволял планировать свое время. Задания были очень разнообразными: от задач на понимание общих принципов тестирования до конкретных технических аспектов и работы с определенным софтом. В процессе решения заданий я пересматривал лекции по 2-3 раза, изучал все дополнительные материалы и много гуглил. Немного не хватало освещения практических аспектов работы QA (например, было сказано, что есть тестовая модель, но как ее составлять затронули вскользь, а домашнее задание надо было делать), но учитывая сроки, было нельзя сделать иначе. Также были тестовые задания по некоторым темам, они были разные: некоторые — ровно по слайдам лекций, а некоторые — на отработку полученных знаний (такие тесты мне, конечно, понравились больше).
Оценивание навыков происходило по алгоритму: решаешь тест — получаешь баллы за правильные ответы, выполняешь домашнее задание — получаешь определенное количество баллов за выполнение. Если есть критические ошибки, дорабатываешь по комментариям преподавателя и получаешь балл поменьше (за все время мне отправили задание на доработку только один раз). В итоге все баллы суммировались. Если выполнены все домашки и тесты, а итоговая оценка больше 50% от максимальной суммы, то ты молодец и получаешь сертификат как путевку в новую жизнь. Плюсом могу отметить, что задания проверял каждый раз разный куратор, и не было возможности подстроить свою модель ответов под определенный стандарт, как зачастую бывает в университете.
Преподаватели на курсе мне в основном понравились. Видно, что каждый действительно имеет большой опыт. Пусть они не всегда могли просто донести материал, но действительно старались, если не рассказать все, то вдохновить на то, чтобы углубиться в тему. Зацепило, что было живое общение, примеры из жизни, а не просто чтение конспектов.
Теперь хочу поделиться своим субъективным мнением по некоторым аспектам организации курса. Возможно, я слишком придираюсь, но несколько моментов меня немного огорчили.
На старте курса нам обещали много живой практики (я думал, что это должно подразумевать работу над реальными задачами в режиме реального времени, как в группах, так и самостоятельно). В итоге практических занятий было три, и только одно из них можно назвать действительно живым. На этом занятии мы работали в группе и решали задачу, что было интересно. Остальные две практики проходили по принципу воркшопа: лектор решал задачу и транслировал экран, а мы смотрели и на основе увиденного выполняли домашнее задание. На одном из занятий задача решалась вживую, а на другом преподаватель заранее подготовил все исходники и просто объяснял, что было сделано на каждом этапе. Смотреть, как кто-то что-то делает, познавательно, но я не всегда мог удерживать внимание в течение двух часов и пропускал некоторые моменты.
Также не всегда была возможность узнать свои ошибки в тестах: зачастую отображался только финальный результат без каких-либо комментариев и даже без указания неверных ответов. Это было неудобно, особенно в тестах с несколькими вариантами ответов, поскольку я до сих пор не нашёл свои пробелы в некоторых вопросах. Не было возможности оспорить выставленный балл за домашнее задание. Была ситуация, когда на лекции сказали, что нужно выполнять задания, используя ограниченный набор функций софта. Я потратил неприлично много времени на решение кейса (используя указанные функции), который можно было бы решить быстро, но необходимая функциональность не входила в набор, представленный на лекции. В итоге проверяющий снизил балл за не оптимальное решение, и на возражение, что я следовал инструкции, ответ был: «Очень жаль, что тебя сбил с толку комментарий лектора, но надо было делать так». Были и другие подобные случаи, но этот запомнился больше всего.
Отдельно хочу отметить манеру донесения информации некоторых преподавателей. Возможно, это только моё восприятие, потому что другие слушатели остались очень довольны. Один из лекторов действительно очень много знает, имеет огромный опыт, подробно раскрывает материал, умеет держать аудиторию. Он был чуть ли не единственным, у кого не было пауз, всегда были вопросы по материалу у студентов и интерактив. Но меня смутило его чрезмерное самомнение: каждый жизненный пример выглядел как «Вот когда я, такой молодец, делал это… то было вот так…», а также большое количество расистских, гомофобных и сексистских шуток, которые часто были неуместны. В какой-то момент я словил себя на мысли, что после его лекций помнил не материал, а только шутки и примеры из жизни. Но повторюсь, возможно, это только моё восприятие. Преподаватель действительно крутой, видно, что он сам получает удовольствие от своей работы.
Слушатели
Хотел бы также затронуть контингент слушателей курса. Это не минус, а просто наблюдение. Ребята действительно очень разносторонние, заряженные, с разным бэкграундом. Общение в чате было активным (в основном по вопросам решения домашних работ), к концу курса энтузиазм поутих, что было связано с усталостью от большого объёма материала. Из-за активного общения в чате были затруднения с получением комментариев от преподавателей. На некоторые вопросы требовались структурированные ответы, но, когда вопрос задавался в чате, часто налетала группа студентов, стремящихся помочь (ведь в начале курса говорили, что для приглашения на собеседование вас должны запомнить). Часто сообщение с вопросом терялось в потоке ответов, которые были не по теме или представляли собой поверхностные разъяснения из первых ссылок поисковика, и преподпватели его не видели.
Для себя я разделил слушателей на три группы:
Люди из других специальностей, которые хотели сменить сферу деятельности. Их было немного, но они были.
Основную часть составляли студенты технических специальностей, которые начали искать работу, потому что выпуск приближается, и надо было уже думать о будущем. Мне кажется, многие попали на курс QA только потому, что не прошли отбор на разработку (может быть, это и не так).
Отдельная группа, показавшаяся мне наиболее интересной, — люди с большим опытом в IT. Был программист частник, который решил перейти в найм; PM, который «решил стать QA» (что-то сомнительное); были автоматизаторы тестирования со значительным опытом работы. Тяга к знаниям похвальна, но у меня возник вопрос к отбору на курс, который позиционируется как введение в профессию, и в статье об итогах отбора говорилось, что отбирали людей без опыта или с совсем небольшим опытом. Тем не менее, спасибо этим слушателям: они действительно задавали интересные вопросы и давали дельные комментарии.
(Не)приглашение на работу
По итогу трех с половиной месяцев упорного труда и поглощения новой информации я завершил курс. На итоговом созвоне нас всех поздравили, сказали, что мы молодцы и что можем выходить на работу хоть завтра. Выделили лучших студентов и сообщили, что из тех, кто успешно окончил курс, на собеседования в штат позовут не всех, а если точнее, то всех, кого хотели видеть, уже позвали. По лицам слушателей было видно, что приглашений было совсем немного. Также отметили, что звали людей на конкретные вакансии и те, с кем связались, будут проходить отбор на упрощенных условиях. Тем, кого не пригласили на собеседования, посоветовали подтянуть знания и подать заявки на зимние стажировки (отбор на летние уже завершился), а также надеяться, что кто-то из приглашенных может отказаться или не подойти компании.
В этот элитарный список я не попал. Не знаю, какие были критерии выбора: 100% баллов за курс (моих 93% оказалось недостаточно), или отбирали тех, кто больше всего задавал вопросов на лекциях или активно строчил портянки ответов на вопросы коллег в чате. Конечно, я был расстроен, но не из-за того, что не попал на собеседование, а скорее из-за того, что упустил возможность попробовать пройти отборы на летние стажировки, как в Т-Банк, так и в другие компании. В этом, конечно, я в значительной степени виноват сам. Когда начался отбор на стажировки, я спросил на одной из лекций, стоит ли пробовать пройти отбор на стажера и будут ли меня рассматривать, если я являюсь студентом Финтеха. Мне ответили, что «не стоит, Финтех — это на шаг выше стажировок, и что ВСЕХ, кто дойдет до конца курса, пригласят на собеседования и зачастую таких кандидатов берут на работу с руками и ногами. Стажировки — это нулевой этап, после которого проводится отдельное обучение для тех, кого пригласят по результатам работы, а таких стажирующихся немного. Зачем тратить полгода на стажировку и повторное обучение, если через два месяца можно уже быть в штате» (авторская интерпретация).
Размышляя о своем опыте, я понял, что всё не так уж и плохо. Когда я проходил отбор на курсы, моя цель была получить знания, и я их действительно получил. Конечная цель была не гарантированное трудоустройство, а приобретение новых навыков. Немного успокоившись, я начал планировать свои дальнейшие действия по поиску места практики (это для меня было самым приоритетным). И тут мне снова повезло.
Собеседование
Вскоре после итоговой лекции мне написал куратор Финтеха с предложением попробовать пройти собеседование в штат. На мое согласие мне задали стандартные вопросы о ставке, зарплатных ожиданиях, возможности переезда и попросили резюме. Резюме было для меня сложным пунктом, поскольку у меня не было опыта работы, но я собрал весь бэкграунд, что был, и попытался адаптировать его под сферу тестирования.
Как оказалось, упрощенный процесс трудоустройства после курсов заключался в том, что вместо четырех этапов отбора было три. Этап беседы с рекрутером был исключен. Профильная секция, секция теории тестирования и программирования, а также знакомство с командами остались такими же, как и у обычных соискателей «с улицы». Успешность прохождения каждого этапа определяла, пройду ли я на следующий.
На первой секции собеседования мне задавали вопросы, основанные на материалах курса, касающиеся приложений, их взаимодействия с интернетом, знания SQL и прочее (про этапы отбора у банка есть отдельная статья). Также были вопросы, которые мы не рассматривали на лекциях или в дополнительных материалах. В целом, собеседование прошло в дружелюбной атмосфере: где-то я допустил ошибки (все-таки я собираюсь стать джуном), но интервьюер давал подсказки, позволял рассуждать и приходить к решениям. По итогу он отметил, что у меня неплохая база знаний для студента после курсов и предоставил фидбэк в тот же день, с указаникм на сильные стороны и недочеты, которые стоит подтянуть. Особенно порадовало большое количество ссылок на дополнительные материалы.
Следующее интервью было через два дня. В этой секции вопросы и задания снова были основаны на материалах курса. Нужно было протестировать форму за 10 минут, предложить проверки, обозначить техники тест-дизайна и рассказать, что делать, если баг поступит через поддержку. В части программирования было три задачи, которые оказались гораздо проще, чем в отборе на курс, но из-за волнения я потратил на их решение больше времени, чем мог бы в спокойной обстановке. На одной из задач я допустил ошибку в алгоритме и долго не мог понять в чем проблема (комментариев от интервьюера не было), но в итоге с горем пополам решил все задачи.
К сожалению, интервьюер опоздал на встречу на 10 минут и все время сидел с каменным лицом, что затрудняло понимание, правильно ли я отвечаю. В некоторых вопросах, где я пытался развивать тему, меня прерывали и говорили «не развивай, просто ответь». Итоговый комментарий был таким: «Ты же понимаешь, что успешное прохождение двух секций не гарантирует, что найдется команда, которая захочет тебя взять». Фидбэк пришел в тот же день: мне сказали, что бросается в глаза отсутствие опыта работы на реальных проектах. В отличие от первой секции, где отсутствие опыта сыграло мне как плюс, здесь это воспринималось как тычок в лицо. На этот раз рекомендации по устранению пробелов ограничились советом порешать задачи на CodeWars.
После двух секций куратор расписал дальнейшие действия: если в каких-либо командах появятся вакансии, она покажет мое резюме и итоги собеседований, и если кто-то заинтересуется, назначат встречу (о каких конкретных вакансиях на итоговой встрече курса говорилось для меня осталось загадкой). В течении следующих 6 дней никаких новостей не поступало, и я связался с кафедрой ВУЗа, чтобы попросить дополнительное время на предоставление договора на практику. Мне предложили место в НИЛ университета, если не найду другое место. Я согласился, так как выбора не было. В конце недели ожидания мне сообщили, что на данный момент нет команд, заинтересованных во мне, но пообещали продолжить поиск. Однако после выходных команда магическим образом нашлась.
На встрече с командой мне рассказали о том, чем они занимаются, какие технологии используют и какие задачи мне предстоит решать. Также я познакомился с возможным ментором. Я подготовил вопросы, чтобы не показаться полным профаном, но во время презентации проекта на них уже ответили, поэтому мне пришлось импровизировать. Я немного рассказал о себе, своих планах и целях. В процессе встречи мы обсудили возможности роста и другие моменты. Встреча прошла немного прохладно, и мне было сложно понять, заинтересованы ли они во мне или нет. В целом, мне показалось, что все прошло не так уж и плохо.
В конце встречи мне сообщили, что фидбэк будет предоставлен сразу, и я узнаю мнение о себе на следующий день (офера это не касалось), так как встреча закончилась после окончания рабочего дня. Однако на следующий день я не получил никаких сообщений. Так как это была пятница, я решил подождать до понедельника и написать куратору. Ответ пришел с информацией, что команда пока выбирает между несколькими кандидатами и до конца недели точно определятся, после чего мне напишут (про фидбэк не было ни слова).
Без ответа
С момента окончания недели, когда должны были принять решение, прошел месяц, но я не получил никаких комментариев или сообщений. Выждав две недели с момента последнего сообщения, я снова написал куратору, но мое сообщение осталось без ответа. Похоже, что мой путь к должности джуниора в Т-Банке завершился таким образом.
Из того, что мне известно, один слушатель из группировки «с большим опытом работы» был приглашен в штат, что дало мне сделать вывод о том, что Т-Банку, возможно, были нужны специалисты со значительным опытом. Курсы, вероятно, были одним из способов отбора таких кандидатов. В будущем рекомендую сообщать соискателям о принятых решениях, включая отказы или, если процесс не завершен, на какой он стадии, чтобы кандидаты не чувствовали, что на них "забили", и не оставались в неопределенности.
Хочу завершить на позитивной ноте и выразить большую благодарность команде Т-Банка за предоставленную возможность пройти курсы и попробовать новое направление. Материал был действительно актуальным и насыщенным. Преподаватели были отличными (мои замечания выше не умаляют их профессионализма). Также спасибо за возможность пройти собеседования. Этот опыт был для меня первым, и я извлек из него много полезного. Я нисколько не пожалел, что рискнул пройти отбор на Финтех и завершить обучение.