«У 2016-му моя зарплата з двох шкіл становила 2400 гривень». Як я пройшов шлях від сільського вчителя до програміста
Привіт, мене звуть Богдан Овенко, мені 27. Вже рік, як я Java-розробник і консультант у компанії GlobalLogic. У професію прийшов після того, як три роки відпрацював учителем інформатики, фізики та астрономії в середній школі (такою була вимога навчання на бюджеті в університеті Драгоманова). Перший рік вчителював у школі Києва, два наступні — у рідному селі Плесецьке та в сусідньому селі Васильківського району. На тій годину — в 2015-16 роках — моя зарплата з двох шкіл становила 2400 гривень. Це була не єдина, хоч і вагома причина для змін. Стрес та інші негативи на роботі підштовхнули здійснити дитячу мрію та стати програмістом.
Передісторія
Програмування цікавило мене змалку. Мама працювала програмістом у конструкторському бюро в Києві, іноді брала мене з собою на роботу, спостерігав за її працею. Альо після закінчення школи не пройшов на відповідну спеціальність за результатами ЗНО, тому подався на фізмат у Драгоманова. На якийсь час мрію про програмування довелося відкласти — аж поки в процесі роботи вчителем не зрозумів, що не бачу майбутнього для себе в школі.
Досвід у школі був повчальним, виніс для себе багато. Проте було багато матеріальних мінусів (не лише щодо зарплати). В усіх трьох школах, де працював, взимку неймовірно крижані навчальні кабінети, що вже казати про підсобки. Матеріальна база теж погана. Лабораторні годі нормально проводити, приладів не вистачало. Придумував хоч щось оригінальне, щоб дітям було цікавіше. Наприклад, демонстрував електрогітару і пояснював принципи її дії (якраз у тій годину сам опановував інструмент).
У школах недостатньо комп'ютерній ютерів, щоб діти працювали з ними, а також не було нормального програмного забезпечення. Склад самої навчальної програми — тема для окремої статті. А також відсутність системного адміністрування: доводилося все налаштовувати, ремонтувати, допомагати іншим викладачам, фіксити різні питання самому, без будь-якої доплати, просто тому, що я це вмів. Нема середовища, в якому можна розвиватися, зростати кар'єр єрно. Найбільшим позитивом у таких реаліях залишалися учні, відчуття, що можеш комусь допомогти змінити життя.
В університеті Паскаль був єдиною мовою, на якій нас вчили програмувати, інформатика загалом вважалася другорядною на факультеті. Тож коли зрозумів, що йтиму зі школи, ставши потихеньку вчитися — довелося самостійно починати з азів.
CoffeeScript
Знайомі програмісти порадили почати з Android або Java. Вибрав останнє, почав ґуґлити, знайшов сайт JavaRush . Проходив рівень за рівнем, на певних завданнях застрягав — тоді просив допомоги у знайомих програмістів із НАУ. Вони щось підказували. Тупив на елементарних завданнях, все здавалось незвіданим і неймовірно складним. Долаючи приступи апатії і прокрастинації, приймаючи допомогу друзів, таки пройшов дев'ять ять рівнів на JavaRush. У цею годину допрацював останній рік у школі, потрібно було думати про наступну роботу.
Влаштувався в інтернет-магазин кави і знову відклав на якийсь час програмування — потрібно було заробляти на життя. Спершу працював менеджером з продажів, а через два тижню роботодавці запропонували займатися обліком кавових машинок і створити для цього базу даних. Так я перейшов на цю ділянку роботи.
За вдалим збігом обставин потрапив на IT-конференцію. Наша компанія виставляла стенди з кавою на різних заходах для реклами магазину — таким чином я потрапив на XP Days. Там спілкувався з айтішниками, пропонував їм спробувати CoffeeScript, тобто кави. Розговорився з одним архітектором з EPAM, розповів про свої наміри. Він і порекомендував пройти якісь курси. Сам же я доті не задумувався про таку можливість. Тоді він назвавши невідомі мені на тій годину ІТ-компанії, в яких найкраще було шукати курси. Я не розумів тих назв, тому він написавши їх на буклеті з кавою, який я зберіг собі на пам'ять. Можливо, в майбутньому зможу йому подякувати.
В інтернет-магазині я протримався два місяці, аж поки у бізнесу не почалися проблеми і всім не врізали платню наполовину.
Курси
Був листопад 2016-го, коли я почав шукати курси. Підходящі довго не знаходилися: для деяких вимагали досвід, для інших — знання англійської. У мене ж не було нічого. До того ж важливим тоді був критерій: курси мають бути безплатні. Зрештою знайшов курси, які тоді звалися Easy Start in IT, тепер це Mate Academy. Для мене вони підходили найбільше, оскільки не потребували жодних вкладень (за правилами, навчання оплачується тоді, коли випускник знайде роботу).
Через півтора місяці після того, як подавши заявку, зателефонувала 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. Можливо, відповіді не завжди вичерпні, але принаймні задають напрямок, куди думати.
На кожному занятті ми 10-15 хвилин приділяли тому, щоб опрацювати одне з питань. Хтось зі слухачів, на кого вкаже викладач, повинен був розповісти, до прикладу про ООП, розкрити основні поняття з тими. Потім усі інші приєднувалися до обговорення. І так щоразу з іншою темою.
Готували до співбесіди не лише в технічних аспектах. Викладачі багато уваги зосереджували на тому, як слід позиціонувати себе під час розмови. Проговорювали, що відповідати на стандартні запитання рекрутера: «Розкажи про себе», «Чому 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 лише через гроші, то краще не треба. Правильна мотивація — знайте заняття до душі, як очевидно це не звучало б.
За допомогу в підготовці статті дякуємо Ярославі Тимощук
Опубліковано: 05/11/18 @ 11:21
Розділ Різне
Рекомендуємо:
Як українські IT-компанії святкували Halloween 2018
Ruby/Rails дайджест #23: реліз Ruby 2.5.3, оновлення Hanami до версії 1.3.0, фреймворк Action Text для Ruby on Rails 6
Туторіал з налаштування Rails-додатків на Amazon EC2 з Chef. Частина 3
Як валідувати продуктові гіпотези. Досвід Google, MacPaw і SendPulse
Финстрип за Жовтень 2018, інфо-сайти. Вперше 100К+