«У 2016-му моя зарплата з двох шкіл становила 2400 гривень». Як я пройшов шлях від сільського вчителя до програміста
Привіт, мене звуть Богдан Овенко, мені 27. Уже рік, як я Java-розробник і консультант у компанії GlobalLogic. У професію прийшов після того, як три роки відпрацював учителем інформатики, фізики та астрономії в середній школі (такою була вимога навчання на бюджеті в університеті Драгоманова). Перший рік вчителював у школі Києва, два наступні — у рідному селі Плесецьке та в сусідньому селі Васильківського району. На той час — у
Передісторія
Програмування цікавило мене змалку. Мама працювала програмістом у конструкторському бюро в Києві, іноді брала мене з собою на роботу, спостерігав за її працею. Але після закінчення школи не пройшов на відповідну спеціальність за результатами ЗНО, тому подався на фізмат у Драгоманова. На якийсь час мрію про програмування довелося відкласти — аж поки в процесі роботи вчителем не зрозумів, що не бачу майбутнього для себе в школі.
Досвід у школі був повчальним, виніс для себе багато. Проте було багато матеріальних мінусів (не лише щодо зарплати). В усіх трьох школах, де працював, взимку неймовірно крижані навчальні кабінети, що вже казати про підсобки. Матеріальна база теж погана. Лабораторні годі нормально проводити, приладів не вистачало. Придумував хоч щось оригінальне, щоб дітям було цікавіше. Наприклад, демонстрував електрогітару і пояснював принципи її дії (якраз у той час сам опановував інструмент).
У школах недостатньо комп’ютерів, щоб діти працювали з ними, а також не було нормального програмного забезпечення. Склад самої навчальної програми — тема для окремої статті. А також відсутність системного адміністрування: доводилося все налаштовувати, ремонтувати, допомагати іншим викладачам, фіксити різні питання самому, без будь-якої доплати, просто тому, що я це вмів. Нема середовища, в якому можна розвиватися, зростати кар’єрно. Найбільшим позитивом у таких реаліях залишалися учні, відчуття, що можеш комусь допомогти змінити життя.
В університеті Паскаль був єдиною мовою, на якій нас вчили програмувати, інформатика загалом вважалася другорядною на факультеті. Тож коли зрозумів, що йтиму зі школи, став потихеньку вчитися — довелося самостійно починати з азів.
CoffeeScript
Знайомі програмісти порадили почати з Android або Java. Вибрав останнє, почав ґуґлити, знайшов сайт JavaRush. Проходив рівень за рівнем, на певних завданнях застрягав — тоді просив допомоги у знайомих програмістів із НАУ. Вони щось підказували. Тупив на елементарних завданнях, все здавалося незвіданим і неймовірно складним. Долаючи приступи апатії і прокрастинації, приймаючи допомогу друзів, таки пройшов дев’ять рівнів на JavaRush. У цей час допрацював останній рік у школі, потрібно було думати про наступну роботу.
Влаштувався в інтернет-магазин кави і знову відклав на якийсь час програмування — потрібно було заробляти на життя. Спершу працював менеджером з продажів, а через два тижні роботодавці запропонували займатися обліком кавових машинок і створити для цього базу даних. Так я перейшов на цю ділянку роботи.
За вдалим збігом обставин потрапив на IT-конференцію. Наша компанія виставляла стенди з кавою на різних заходах для реклами магазину — таким чином я потрапив на XP Days. Там спілкувався з айтішниками, пропонував їм спробувати CoffeeScript, тобто кави. Розговорився з одним архітектором з EPAM, розповів про свої наміри. Він і порекомендував пройти якісь курси. Сам же я доти не задумувався про таку можливість. Тоді він назвав невідомі мені на той час ІТ-компанії, в яких найкраще було шукати курси. Я не розумів тих назв, тому він написав їх на буклеті з кавою, який я зберіг собі на пам’ять. Можливо, в майбутньому зможу йому подякувати.
В інтернет-магазині я протримався два місяці, аж поки в бізнесу не почалися проблеми і всім не врізали платню наполовину.
Курси
Був листопад
Через півтора місяці після того, як подав заявку, зателефонувала HR з курсів і запитала, чи мені ще актуальне навчання (так довго, тому що набір в попередню групу вже завершився). Звісно я відповів ствердно, тим паче якраз почалися проблеми з інтернет-магазином. Прислали тестове завдання: розподілити студентів та викладачів за допомогою Java. Із ним, на диво, добре впорався. Наступне завдання виявилося складнішим, на SQL. Але оскільки разом з ним прислали посилання, приклади виконання робіт, за ними все і зробив. Потім призначили співбесіду по скайпу: на ній розбирали виконані завдання, а також зосередилися на тому, щоб зрозуміти мої технічні навички та soft skills.
Усе пройшло успішно, в офісі підписали контракт, мені дали ресурси для опрацювання: книги: «OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808» by Jeanne Boyarsky and Scott Selikoff і «Head First Design Patterns: A Brain-Friendly Guid» by Eric Freeman (є також російською мовою). Перша книжка була англійською, а оскільки з мовою в мене тоді було погано, то сидів і перекладав кожне слово, щоб збагнути зміст речення. Перед початком курсів і впродовж навчання кожен охочий міг необмежено підтягувати англійську з викладачами. Я її посилено вчив перші два місяці, далі більше часу почав приділяти технічним речам.
Навчання почалося в лютому 2017 року — і воно теж давалося мені важко. Здавалося, що я був найслабшим у групі (та що там здавалося! — це був факт), що кожен інший із шести учасників групи має більше бекґраунду і швидше схоплює знання. Мені страшенно не вистачало контексту: не розумів англіцизмів, які вживав викладач, не розумів технічних речей, які він згадував. Спіймав себе на думці, що за три роки в школі дещо деградував: коли перед учнями постійно повторюєш одне і те саме, мозок вже не такий еластичний до сприйняття нової інформації. Потрібні були особливі вольові зусилля, аби налаштувати себе на розвиток. У цьому сенсі я багато працював над собою, перемагав той ступор, в який мене вводили навіть ті завдання, які не впливали на результат, на оцінку.
Навчання тривало чотири місяці (спойлер: наприкінці я так і залишився найслабшим). Заняття відбувалися двічі/тричі на тиждень. Нам щоразу давали домашні завдання, на занятті розбирали їх виконання. Пізніше у нас відбувся хакатон, мета якого — командою створити певний продукт. Ми вирішили зробити соціальну мережу (тоді якраз прикрили «ВКонтакті»). Розбили роботу на завдання для кожного, і кожен вклав щось у розробку, зараз у кожного слухача лежить на GitHub ця робота.
Майже весь час, поки тривало навчання, я не вставав з-за комп’ютера. Усі зусилля зосередив на курсах, багато займався самостійно. Крізь завдання продирався, як крізь хащі. За таких умов про жодну повну зайнятість не могло йти мови, я присвятив себе одній справі. Та жити за щось потрібно. Є класична історія про розвантажування вагонів. У моєму ж випадку вона звучить так: я вантажив дровами і тюками з сіном камази, знайомий у селі запропонував мені такий підробіток. Під час навчання я жив у рідному селі і до Києва їздив електричками (зараз під час роботи теж продовжую, година їзди в один бік). Це не засмучувало, я собі думав: навчання — моя головна мета. Навіть якщо не стану мегаепічним доповідачем на конференціях і семінарах, зможу робити те, чого прагнув у дитинстві.
Підготовка до співбесіди
Також практично з першого дня нас почали готувати до співбесіди. Разом почали вивчати стандартні запитання співбесід. Є чудовий ресурс jsehelper.blogspot.com із відповідями на найпоширеніші запитання по Java, SQL, HTML. Можливо, відповіді не завжди вичерпні, але принаймні задають напрям, куди думати.
На кожному занятті ми
Готували до співбесіди не лише в технічних аспектах. Викладачі багато уваги зосереджували на тому, як слід позиціонувати себе під час розмови. Проговорювали, що відповідати на стандартні запитання рекрутера: «Розкажи про себе», «Чому Java?», «Ким бачиш себе через 5 років?», «Розкажи про свої мінуси». Спершу кожен самостійно шукав для себе відповіді, а потім тренувалися з тамтешніми HR-ми. Вони аналізували помилки, радили, що варто змінити. У мене була така помилка: я хотів сказати про один зі своїх мінусів, що не завжди буваю уважним, починаю тупити. Мені порадили, що цього краще не казати саме в такому формулюванні, а додати, як я працюю над цим недоліком. І так із кожною слабкістю: говорячи про неї, додаєш, як її долаєш (звісно, якщо справді робиш це). Наприклад: позбавляєшся поганої концентрації уваги медитаціями, практиками дихання тощо.
Після того, як кожен учасник групи пройшов тестову співбесіду, ми записали свої помилки — і ще раз пройшли аналогічну співбесіду. Це дуже допомогло. Морально значно легше, коли розумієш, як слід відповідати. У більшості випадків ставлять стандартні запитання, тож реально підготуватися. Я собі за результатами курсів вибудував цілу стратегію, як належить себе поводити.
Резюме: 150 відправлених листів
На другий-третій місяць навчання почали практикуватися з рекрутером, як подавати резюме та сприймати відмови. Відразу зауважу: для мене це виявився найскладніший етап (але водночас і найбільш опрацьований). За півроку я подався на 150 вакансій — і лише після цього отримав фідбек.
Скласти резюме допомогли рекрутери. Далі наведу кілька порад із досвіду викладачів академії.
Передусім резюме обов’язково має бути англійською мовою. Другий важливий аспект — це чітка структура. Спершу вписав у резюме навички, яких навчився на курсах і ті, які в мене вже були. У перших рядках варто акцентувати на тому, що знаєш найкраще. У моєму випадку це були Java 8 та IntelliJ IDEA. Потім розписується стек-технологій, які опанував. Можливо, щось із них знаєш гірше, щось краще, але головне, щоб був бодай якийсь досвід роботи з ними.
Далі вказуєш досвід роботи. Я написав, що був учителем, у дипломі зазначено, що можу працювати вчителем інформатики.
Доброю манерою є вказати скайп, пошту, LinkedIn, номер телефону. Якомога більше контактів, щоб будь-яким чином рекрутер міг зв’язатися з тобою. Важливо адекватно називати всі логіни, жодних «apolon 27», наприклад. Найкраще завести пошту на gmail.
Коли відправляєш резюме, добрим тоном є вступний лист рекрутеру або компанії. Вистачить кілька рядків, в яких розкажеш, хто ти, чому зацікавлений у вакансії, що знаєш і вмієш. Уже такий маленький крок вирізнить тебе з маси, адже така активність свідчить про особливий підхід кандидата. За день рекрутер може отримувати сотні резюме і навряд чи зможе розібрати всі (а надто ті, де нема досвіду роботи). Тож варто докласти бодай таких зусиль.
Після подачі можна написати рекрутеру або ж зателефонувати (якщо рекрутер залишив свій номер телефону): спитати, чи подивилися твоє резюме. І якщо так, то чи можна отримати фідбек. Якщо я знаходив контакти рекрутерів, то так і робив. Цим звертаєш на себе увагу, показуєш, що ця робота тобі реально потрібна і засвідчуєш свою готовність працювати.
У мене не було досвіду роботи, саме тому відправив резюме 150 разів, з яких я зміг потрапити аж на 11 співбесід :) У цьому сенсі працював наполегливо: відправляв і дзвонив, куди міг, оскільки дуже прагнув роботи.
Щодня, коли не вчився, раз на годину заходив на топові сайти. Моніторив Djinni, DOU, Jooble, Work.ua, Rabota.ua. На LinkedIn не надто зважав, оскільки не мав багато доданих контактів рекрутерів. Також не знав про опцію, що щойно зареєстрованим користувачам можна переглядати рекомендовані місця роботи. Із компаній найбільше моніторив позиції у GlobalLogic, Luxoft (оскільки вони входять у топ-5 в Україні і в них частіше з’являлися позиції trainee і junior), Wix, Control Pay (в останньому подобалася атмосфера, також у них гарний бізнес-центр).
Подавався я практично на всі вакансії junior, middle, trainee. Відправляв резюме навіть на ті вакансії, в описах яких було вказано «два роки досвіду роботи». Кожен лист намагався підлаштувати під описану вакансію, наголошував на вказаних аспектах, ніби казав: «Я саме такий, який вам потрібен». Хоч і не відразу, але стратегія себе виправдала.
Як знайшов роботу
Коли побачив вакансію для trainee в GlobalLogic, то одразу подався на неї. Але з першого разу не склалося, тому що я вирішив «пливти за течією» і сподіватися, що хтось побачить моє резюме і відразу ж запросить на інтерв’ю. Вже через два дні позицію закрили (з огляду на швидкість, слід розуміти, що на це місце знайшли когось усередині компанії).
Але коли наступного разу з’явилася позиція Trainee Java Developer, я зрозумів, що не можу прогавити цей шанс і почав діяти як ніколи. Знайшов у LinkedIn контакти не менше як п’ятьох представників компанії з різних міст (від Львова до Харкова) і написав кожному з них, що зацікавлений у цій позиції і напередодні надіслав резюме. Ну і, звичайно ж, що бажаю приєднатися до компанії. Одна з них відповіла і дала контакт київської спеціалістки, попередивши її, що напишу їй у скайпі. Ми списалися — і вона призначила інтерв’ю на вище вказану позицію. Тут величезну роль зіграло те, що я виявляв багато бажання, проявив ініціативу і сам шукав контакти.
На інтерв’ю нервував, це, вочевидь, було помітно представникам компанії. Навряд чи підкажу, як впоратися з нервами, але головне: не вставляти самому собі палки в колеса, як це зробив я. Зайшов у невелику тісну кімнату, де мало проходити інтерв’ю, і сів під стінкою навпроти виходу. Коли зайшли інтерв’юери, вийшло так, наче вони перекрили мені шлях до виходу. Саме через це я почав неймовірно нервуватися (хоча причину зрозумів уже згодом). Психологічно це тисне, сприймається так, наче нема шляхів для відступу. Тож моя порада: якщо будете проходити інтерв’ю в тісній кімнаті, не сідайте під стінку.
Але загалом я добре відповідав на запитання (технічні і такі, що стосувалися soft skills), представники компанії Олександр і Людмила залишилися задоволеними. Після інтерв’ю мені повідомили, що згідно з клієнтським рішенням позицію вирішили змінити на JavaScript. Проте запевнили, що я сподобався, тож готові порекомендувати мене на ще одну позицію Trainee Java Developer.
Я неабияк зрадів із цього другого шансу. Знову відправив резюме і дочекався інтерв’ю. Перед ним мені дали тестове технічне завдання, що було неочікувано, але все ж зміг з ним впоратися. Виконав його за два дні, і після розгляду запросили на технічне інтерв’ю. Порівняно з першим, яке проходило на нервах, у розгубленості, це склалося ідеально. Відповів на всі запитання, розмову вели в дружній атмосфері. Загалом інтерв’ю тривало дві години: на другій годині зловив себе на думці, що зовсім не хвилююся, відповідаю без жодної напруженості — усе мало такий вигляд, наче просто спілкування з друзями. Один із інтерв’юерів нині є моїм тімлідом, з іншим теж підтримуємо зв’язок постійно.
Буквально через 40 хвилин після цього двогодинного інтерв’ю мені зателефонували і запросили на розмову з project-менеджером через два дні (година розмови минула за обговоренням різних технічних речей). Коли вийшов з офісу, знову ж приблизно через 40 хвилин подзвонили: «Готуємо офер». Це було «вау» для мене і для моїх викладачів із Mate Academy.
У проміжках між офером сходив ще на одну співбесіду — радше з цікавості, бо для себе вже вирішив, що йду в Global.
У жовтні минув рік, як я з компанією. Усе круто, всім задоволений. Є з чим порівнювати: після школи з її нервами і непорозуміннями потрапляєш у середовище, де до тебе ставляться приязно, де є умови для розвитку та різні бонуси, на зразок спортзалу, страхування. Тут усі розвиваються, відтак і мислення змінюється. Є команда, яка підтримує. А всі проблеми тут — на рівні задач, а не буденних клопотів. Тепер відчуваю, що вношу цінність у проект. Постійно намагаюся виконувати все більше, живу роботою.
Висновки
З власного досвіду: буває, застрягаєш на чомусь, думаєш, що нічого вже не вийде з твоєї затії. Такі думки треба облишити. Для цього бажано мати ціль — настільки вагому, щоб вона тебе рухала. Коли в мене щось не виходило і внутрішній голос лише починав нашіптувати «А може...», відразу ловив себе на цій думці і промовляв уголос: «Жодних „а може“. У мене все вийде і я зроблю те, що запланував».
Я б порадив тим, хто змінює професію, не наголошувати під час співбесід на грошах. Потрібно адекватно сприймати себе, розуміти, на якому рівні перебуваєш, відштовхуватися від цін на ринку або від конкретної пропозиції. Якщо, до прикладу, з твоїм рівнем і досвідом можна розраховувати на зарплату 700 доларів, то я б і називав таку або, можливо, навіть дещо меншу.
Багато значить правильна мотивація. «О, цей програміст класно заробляє. Спробую й собі», — це неправильна мотивація. Якщо хочеться в IT лише через гроші, то краще не треба. Правильна мотивація — знайти заняття до душі, як очевидно це не звучало б.
За допомогу в підготовці статті дякуємо Ярославі Тимощук