💰🚀 USDT, BTC, ETH - це все просто купляється в Trustee Plus в парку кліків. Встановлюй 👉

«Формально я был джуном, но в душе уже чувствовал себя сеньором и боссом самому себе». Исповедь 23-летнего тестировщика, который в 23 стал сеньором в Softserve

Борису Евстигнееву, Test Automation Engineer в SoftServe, 23 года. И с недавних пор он занимает Senior-позицию по специальности. на форуме DOU парень поделился своей историей — как за три года стать специалистом высшего сорта в крупнейшей украинской IT-компании. пересказываем самое интересное.

1 комментарий
«Формально я был джуном, но в душе уже чувствовал себя сеньором и боссом самому себе». Исповедь 23-летнего тестировщика, который в 23 стал сеньором в Softserve

Борису Евстигнееву, Test Automation Engineer в SoftServe, 23 года. И с недавних пор он занимает Senior-позицию по специальности. на форуме DOU парень поделился своей историей — как за три года стать специалистом высшего сорта в крупнейшей украинской IT-компании. пересказываем самое интересное.

Знакомство с IT

С компьютером я дружил с детства, поэтому в широком смысле направление желаемого высшего образования сознавал. Помню, как неоднократно подбирал пароль к BIOS и учил друга заходить в скрытый аккаунт суперадмина на Windows XP. В школе был отличником (хотя в 8–9 классе имел безудержное желание забить и скатиться), прекрасно сдал ВНО и поступил без проблем.

На окончательный выбор специальности «Прикладная математика» в ЛНУ повлияли разные люди, которых я встретил в течение 11-го класса. Кое-кто жаловался, что окончил более «компьютерную» специальность, но испытывает нехватку фундаментальных знаний для работы — и советовал бы идти только на ПМ. Айтовцы, которые работали с новобранцами, также подчеркивали заметную разницу между студентами-прикладниками и студентами-компьютерщиками. Словом, со всех сторон звучало, что прикладная — это жесть, придется серьезно пахать, но оно того стоит. Так и поступил.

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

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

Компания мечты

Почему-то я сразу знал, в какой компании я хочу работать. Возможно, произвели впечатление баннеры, развешенные вдоль факультетского коридора, но больше всего люди, случайные знакомства и отзывы. Хотя, конечно, я не прочь попасть и в другую известную «контору» — чтобы среди топ-N по Украине.

А вот насчет Test Automation не думал (и даже не догадывался о существовании такой специализации), пока не попал на выборочную дисциплину о контроле качества. Как и на каждый ДВ факультетского уровня, на эту студенты записывались не ради темы, а ради преподавателя. Как раз на этом курсе я попробовал немного Selenium и понял, что в таком направлении можно искать работу.

Впоследствии прошел сертификацию на Junior QC и около полугода находился в пассивном поиске работы. Когда рассматривал возможные курсы в Серве, меня отталкивала от автоматизации только Java: во Львове были доступны только Test Automation with Java, но этот язык мы совсем не изучали. Поэтому сначала я пробовал отправиться на рядового .NET разработчика, но, к счастью, не прошел: первый раз по ошибке выставили курсы, предназначенные лишь какой-то особой группе из Политеха; а во второй раз был большой наплыв кандидатов из-за ководной оттепели. Так что я решил летом поколбасить Java и отправиться в следующую группу TAQC.

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

Пришло письмо, мол, вы не справились, но каким-то чудом тест отжил, я смог его закончить — и вуаля, вдогонку приходит поздравление с переходом на этап собеседования. «Отсеивают недостаточно упорных», — в шутку подумал я и вытер холодный пот.

Главное, что я понял за этот период — не надо искать халяву, а лучше следовать словам Сковороды: «Бери вершину и будешь иметь середину». В конце концов, мне казалось, в мире не может быть ничего сложнее матанализа на первом курсе.

Курсы и стажировка

С осени для меня начался интенсив, ведь курсы действительно уносили 6-8 часов в день, как и писалось в анонсе. Сначала все сокурсники были мотивированы и упорно работали, но со временем начали пропускать митинги — кто-то из-за пары, а кто-то просто так. Мы не понимали, что технический эксперт, который вел курсы параллельно с ментором, присматривается к кандидатам, чтобы взять к себе на проект.

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

Технического собеседования со мной не было. Зато будущий менеджер гонял меня по софт-скалам, в частности предлагал разные мысленные ситуации. Одним из вопросов, глубинный смысл которого я понял лишь впоследствии, был: «А вот что ты будешь делать, если твоего руководителя не будет? Ну, например, в отпуск уйдет. К кому обратишься с вопросами?». Не помню, как ответил, но очевидно, что единого «правильного» ответа здесь не существовало. Вскоре пришел offer на позицию Trainee.

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

Из этого вышел прикольный каламбур в беседе с заказчиком.

После представления заказчик поинтересовался, как мне работа и команда, а потом сказал о «nice background». Я же, отвечая еще на первый вопрос, говорю: «I feel completely onboarded, even though I’m still a trainee». Это onboarded на фоне корабликов звучало очень забавно.

Пан или пропал

Весенние праздники. Начинался последний, четвертый месяц стажировки. На выходных я ездил в Одессу и увлеченно рассказывал TA Lead’у Олегу, как это было прикольно гулять по пляжу в сапогах не в сезон. Руководитель, как ни в чем не бывало, поддерживал разговор, но когда дошел до рабочих вопросов:

— Да, Борис, есть важная новость.

Я напрягся. Олег глубоко вдохнул и продолжил:

— Я ухожу из проекта.

Сказать, что меня шокировало — это ничего не сказать.

— Ну что ты молчишь? Скажи хоть что-нибудь!

— Э-э-э… Надеюсь, справлюсь сам.

— Уверен, что ты справишься.

Я, конечно, совсем не был в этом уверен, но другого варианта не было. К вечеру переваривал полученную информацию, а потом стал думать, чего я еще не знаю о проекте, в чем нужно завершить knowledge sharing.

Конечно, меня не оставили один на один с неопределенностью, но все-таки это выглядело броском на амбразуру.

Переход теперь уже бывшего руководителя на другой проект происходил плавно, сначала он продолжал ежедневно со мной встречаться, потом через день, потом раз в неделю, но все решения я теперь принимал сам, Олег советовал и делился опытом. В конце концов, мы образовали mentorship пару. Серьезной моральной опорой стали жизнерадостные QC Lead и менеджер, да и остальная команда всячески меня поддерживала.

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

Мало-помалу начал думать: а зачем новый руководитель, если и так неплохо работается? Менеджер тоже увидел, что я, так сказать, «exceed expectations», поэтому после отказа одного кандидата перевел вакансию не в hot статус, а еще через некоторое время предложил прекратить поиски и сделать ставку на мое развитие. Я согласился. Есть подозрения, что это немного сэкономило проекту деньги, ведь в том году наняли многих людей и провели в изобилии тимбилдингов.

Основными трудностями первых месяцев в одиночестве стала, конечно, потребность «въехать» во все уголки довольно разветвленного фреймворка, сочетающего UI и API. К счастью было у кого выяснить, да и к архитектуре не возникало серьезных вопросов. Мне оставили не огромную «макаронину», а нормальный стабильный код, хотя и не без нескольких «костылей».

Вынужденное развитие

Вскоре стало ясно, как мне повезло с проектом. Здесь не только была возможность применить современные технологии и попробовать разнообразные инструменты, но и широкое пространство для интересных технических решений (чтобы устранить те же «костыли»). Все побуждало к саморазвитию, а ментор-экскеров подсказывал, в каком направлении смотреть и какие идеи он мечтал воплотить, но не успел. Меня ждал и Selenium 4 с его DevTools, и переезд на Java 17, и подключение платформы для cloud-based тестирования, и поддержка большего количества браузеров — не упоминая уже о стандартных активностях типа покрытия новыми тестами.

Одним из первых нешаблонных решений была замена костыльного if-else для разного поведения в разных браузерах на элегантные аннотации на уровне бизнес-логики. Рефлексия, «темная сторона Java», меня полностью увлекла. Т

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

В том, что ты один на проекте, есть свои преимущества: можно вносить глобальные изменения и не бояться, что они не смерзаются с чьими-то комитами. Хотя существенный минус этого — отсутствие code review, поэтому пришлось прикручивать инструменты статического анализа, писать памятку по Conventions & Best Practices, более ответственно относиться к self-review и даже разработать юнит-тесты для самого automation framework. Также невозможно достаточно точно предсказать, сколько реального времени займет какое-нибудь задание: ведь сделают новую фичу, упадет значительная часть тестов — и сиди разгребай, про рефакторинг или хотя бы покрытие на день-два можно забыть.

Формально я был джуном, но в душе уже чувствовал себя сеньором и боссом самому себе.

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

Заканчивался 2021 год, все в надежде смотрели в будущее, и я решил, что готов взять себе стажера-напарника — хотя и сам лишь отпраздновал свою первую годовщину. К счастью, менеджер полностью поддержал мою несколько спонтанную идею. Гораздо легче проводить собеседование и не иметь ложных ожиданий от кандидатов, когда сам помнишь, как оно было на курсах. Повезло сразу встретить хорошего студента (ну, как «наткнуться» — перед этим я пересмотрел записи демо целой группы), поэтому и для меня, и для будущего коллеги, Андрея, опыт первого интервью оказался успешным.

В феврале я чувствовал себя максимально счастливо: наконец, после стольких месяцев в одиночестве, со мной работал напарник! Было немного смешно все еще носить титул Junior и управлять стажировкой, но жизнь полна неожиданностей. В конце концов, мне кажется, меньший разрыв как по статусу, так и по возрасту позволил построить более напарнические, дружеские отношения, максимизировал доверие. Думаю, у нас с Андреем получился отличный симбиоз. Для него это был интересный первый проект с современными технологиями и приятной командой, возможность проявить креативность и обрести широкий базовый опыт; В общем, классный старт карьеры. Для меня — возможность попрактиковать тимлидерские навыки, делегирование, knowledge sharing, code review и т. д. Для проекта — серьезный рывок вперед, новые тесты, начало покрытия совершенно новой области (на что у меня одного просто не хватало ресурса), освоение еще более эффективных технологий.

Великая война

Хорошо помню утро 24 февраля: именно в этот день мы с напарником договорились впервые встретиться лично. Еще не до конца осознавая весь масштаб войны, я все-таки собирался в офис, но вовремя затормозил. Наша первая очная встреча надолго отложилась… А офис в тот же день закрыли из-за близости к критическому объекту и соответствующих рисков.

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

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

Работая вдвоем, мы совершили существенный рывок в основном automation framework’у, но вскоре после расставания мне пришлось лезть в отдельное решение по performance testing на JMeter’е. Его писали наскоро, потом никто не двигал года два — а теперь подумали, что было бы хорошо расширить покрытие. Первые впечатления, снова цитируя нашего QC Lead’а: «чёрт си голову сломит». Но полезный опыт: чуть-чуть теперь представляю, как оно — работать с legacy, и почему все зависимости надо обновлять вовремя…

Еще из интересных решений этого периода — использование Selenium 4 DevTools для имитации бэкендного ответа относительно maintenance приложения и проверки сообщения пользователям о грядущем релизе. Впоследствии я даже учил использовать свое решение Manual QC команду, чтобы они не «клали» всю аппликацию для тестирования (с соответствующими последствиями для автотестов).

23-летний Senior

В конце года я прошел очередное performance review, по результатам которого в шутку сказал: «Что ж, у меня есть шансы стать мифическим 23-летним сеньором!». Эксперт посмеялся, я тоже, но подсознательно все-таки заложилась цель добиться всех критериев к следующему ревью. На старте карьеры я и подумать не мог о такой авантюре, но условия способствовали стабильному профессиональному развитию — а я ими пользовался, проявлял инициативу и прислушивался к советам ментора.

Готовясь к регулярной презентации достижений Test Automation, я продумал возможные направления развития на следующий год, но уже через пару недель стало ясно, что нужно все перепланировать. У заказчиков вдруг появилась «политическая воля» добить проект, простиравшийся в параллели с основным уже долгое время, — а он предполагал полное изменение UI и, как следствие, потребность переработать чуть ли не половину автотестов.

Хотя моральная готовность к этому замыслу была давно, физически (еще без напарника) это выглядело на грани возможностей. Но, «what others call challenges, we call opportunities» — я интересовался переходом из чистого Selenium на Selenide, что-то удалось попробовать вместе с Андреем, однако, учитывая максимально ограниченные ресурсы, о полном переезде нечего было и мечтать. А здесь — такой шанс! Горит сарай, горы и дом: если уж придется перелопачивать automation framework из-за изменений в продукте, казалось оптимальным соединить это с миграцией на Selenide.

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

Вроде бы этого было мало, я еще и умудрился записаться вести благотворительные курсы «ИТ-школьник» (их начало перенесли, а спасать уже не хотелось). Вполне положительный опыт, приятные в общении учащиеся и остальные преподаватели, общественно полезное дело, sense of accomplishment, повод вспомнить дополнительный язык программирования, а также еще один плюсик на performance review.

Собственно, подтверждение сеньорности происходило без особых волнений и тому подобного, в обычном порядке вещей. Подобно тому, как сдача экзамена на курсе на пятом. Правда, я снова «получил пощечину» (в положительном смысле): неблагоприятная оценка показала более низкий результат, чем я тайком надеялся, но и этого было совершенно достаточно для повышения. Еще есть куда развиваться. Получение нового статуса не вызвало экстраординарных эмоций, ведь здравый смысл подсказывал: нечего раздувать щеки, потому что никто вместо меня работу не сделает. Мифическим 23-летним сеньором я побыл почти неделю… нет, не разжаловали — просто день рождения случился :)

Что дальше

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

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

Не пасуй перед трудностями, а пользуйся ими. В конце концов, все произойдет даже лучше, чем ты мог ожидать — но должен приложить усилия. Упорный труд не позорит — позорит только рано задранный нос.

Путь к предстоящему президентству. История 17-летнего выпускника из Киевщины которого номинировали на премию в $100 000 и почему он уверен, что не получит этих денег
Путь к предстоящему президентству. История 17-летнего выпускника из Киевщины, номинированного на премию в $100 000, и почему он уверен, что не получит этих денег
По теме
Путь к предстоящему президентству. История 17-летнего выпускника из Киевщины, номинированного на премию в $100 000, и почему он уверен, что не получит этих денег
16-летний волынянин отказался от высшего образования ради карьеры в IT. Он разослал 200 резюме и получил оффер от литовского офиса немецкого GOD.dev
16-летний волынянин отказался от высшего образования ради карьеры в IT. Он разослал 200 резюме и получил оффер от литовского офиса немецкого GOD.dev
По теме
16-летний волынянин отказался от высшего образования ради карьеры в IT. Он разослал 200 резюме и получил оффер от литовского офиса немецкого GOD.dev
Читайте главные IT-новости страны в нашем Telegram
Читайте главные IT-новости страны в нашем Telegram
По теме
Читайте главные IT-новости страны в нашем Telegram
УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте также
«Ловушка начинающего». 5 самых распространенных ошибок джунов на собеседованиях и как их избежать
«Ловушка начинающего». 5 самых распространенных ошибок джунов на собеседованиях и как их избежать
«Ловушка начинающего». 5 самых распространенных ошибок джунов на собеседованиях и как их избежать
Наверное, каждый хоть раз в жизни переживал ситуацию, когда после собеседования вместо приглашения на работу приходил отказ. Как же так? Это несправедливо!» — многие из нас жаловались на судьбу и не понимали, что пошло не так. Екатерина Никитина, SoftServe IT Academy Recruiter, рассказала о пяти самых популярных ошибках начинающих кандидатов на собеседованиях.
В 18 лет «захантил» SoftServe, в 21 — открыл собственную компанию. История львовского IT-вундеркинда
В 18 лет «захантил» SoftServe, в 21 — открыл собственную компанию. История львовского IT-вундеркинда
В 18 лет «захантил» SoftServe, в 21 — открыл собственную компанию. История львовского IT-вундеркинда
Глеб Щур — выпускник кафедры систем искусственного интеллекта НУ «Львовская политехника». На младших курсах его пригласила на работу IT-компания SoftServe, где он работал почти три года разработчиком в R&D-отделе. А уже в 2021 году Глеб основал свою компанию и стал CSO в 21 год. Рассказываем историю львовского «самородка».
1 комментарий
Разработчик Softserve справил нужду в центре Львова. Был суд. Парень не пришел. Что ему было?
Разработчик Softserve справил нужду в центре Львова. Был суд. Парень не пришел. Что ему было?
Разработчик Softserve справил нужду в центре Львова. Был суд. Парень не пришел. Что ему было?
В планах SoftServe на 2022 год – 15 000 айтишников. Хотите стать частью команды, «оставайтесь в западных регионах»
В планах SoftServe на 2022 год – 15 000 айтишников. Хотите стать частью команды, «оставайтесь в западных регионах»
В планах SoftServe на 2022 год – 15 000 айтишников. Хотите стать частью команды, «оставайтесь в западных регионах»

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Ihor Lysenko
Confirmed verification
Ihor Lysenko Pam Pam Studio, Gamedev
0

Перше враження від заголовку було таке, знову якесь зарозуміле зухвалько вважає себе самоназваним сеньйором. (Сам таким був).

Але я бачу у Вас не простий шлях, про який було дуже цікаво читати.

Дякую.