💰🚀 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», мене цілком захопила. Т

Nакож мали місце незначні баги у фреймворку, на кшталт дубльованих логів або неможливості 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, і чому він впевнений, що не отримає цих грошей
По темi
Шлях до майбутнього президенства. Історія 17-річного випускника з Київщини, якого номінували на премію у $100 000, і чому він впевнений, що не отримає цих грошей
16-річний волинянин відмовився від вищої освіти заради карєри в IT. Він розіслав 200 резюме й отримав оффер від литовського офісу німецької GOD.dev 
16-річний волинянин відмовився від вищої освіти заради кар’єри в IT. Він розіслав 200 резюме й отримав оффер від литовського офісу німецької GOD.dev 
По темi
16-річний волинянин відмовився від вищої освіти заради кар’єри в IT. Він розіслав 200 резюме й отримав оффер від литовського офісу німецької GOD.dev 
Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні 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, де він працював майже 3 роки розробником у 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

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

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

Дякую.