Ми створили розділ з історіями успіху якраз для таких молодих, амбітних і цілеспрямованих розробників, як наш наступний герой. Junior Software Engineer Борис Царіков у свої 22 роки має величезний досвід проходження тренінгів, стажувань та співбесід. Це людина, яка завжди шукає, ніколи на здається і вперто йде вперед. Його шлях до ІТ був тернистим і звивистим. Але в певний момент життя винагородило його за наполегливість і дозволило скоротити шлях до мрії завдяки Ruby-розробці. Якщо ви хотіли познайомитися з людиною, яка знає 5 мов програмування - вітаємо, ви її знайшли.
Знайомство з ЕРАМ і народження мрії
Я почав замислюватися про майбутню професію в середніх классах. В 9 чи 10 класі вступив у фізмат і зрозумів, що це буде технічний напрям, хоча я ще точно не знав куди буду вступати. Потім познайомився зі студенткою першого курсу. Вона запросила мене поїхати з нею на практику, підмінити одного студента. З вікна автобусу побачив будівництво (там якраз зводили будівлю, в якій я зараз працюю). Виявилося, ми приїхали до офісу ЕРАМ біля парку високих технологій. Там я побачив, як працюють хлопці, які в них умови праці. Поспілкувався з людьми, нам розповіли, як і що працює, який ЕРАМ великий і крутий. І я загорівся. Зрозумів, що буду вступати на програміста. Я не обирав між вишами, я знав, що хочу тільки в БДУІР. В останній день вступної компанії мама запропонувала подати документи в БНТУ, щоб точно пройти за балами. Але я сказав ні, тільки БДУІР, якщо не в цьому році, то буду в наступному вступати знову. І я пройшов.
Зі свого досвіду можу сказати, что 75% тих, хто обирає спеціальність програміста не уявляють куди вони йдуть. Можливо, вони женуться за грошима, тому що розробники добре заробляють і можуть собі дозволити працювати дистанційно з різних країн. Але все не так просто. Це сувора праця, в ІТ потрібно багато вчитися. І багато студентів відпадали вже на першому курсі. Я знав, що хочу бути програмістом, проте враховував, що це може «не зайти». Щоб через чотири роки не кусати собі лікті, що я вступив не в той ВНЗ, що займався не тим, у мене був другий план — піти в економіку. Я свідомо обрав інженерно-економічний факультет. Я був на 50% програміст, на 50% логіст-економіст. У мене була можливість помилитися.
Спочатку цей план мені дуже допомагав. Але пройшов перший рік навчання. Хтось вже пішов, хтось зрозумів, що програмування — це не його і чекав на предмети з економіки та логістики, а ось я вже не чекав. Я зрозумів, що мені потрібно більше програмування, що мені це подобається, що я хочу цим займатися і зробив акцент саме на технічний частині. Я гнув своє. Ще на першому курсі я збагнув, що виш — це добре, але він не зробить мене програмістом. Один лише ВНЗ не зробить з людини спеціаліста. Потрібно постійно черпати знання з нових джерел і навчатися самостійно. Джерела ж бувають двох видів: платні та безкоштовні. Я людина дуже ощадлива і не бачу сенсу віддавати гроші за курси з такою самою програмою. На другому курсі я почав шукати тренінги. Я вже знав про ЕРАМ, знав про training.by, тобто, я знав, де шукати. І розумів, що можу отримати знання і не віддавати жодних грошей. Я сприймав ЕРАМ як величезну компанію, топову як у Білорусії, так і за її межами. І я хотів туди. У мене була мрія потрапити в EPAM.
C/C++
Я знайшов курс для студентів з C і C++ розробки, зареєструвався і написав мотиваційного листа. Зі мною зідзвонився рекрутер, запитав чому я обрав саме цей курс, я розповів про себе, чого я прагну. Будь-яке спілкування з HR передбачає розмову англійською мовою. Хоча моя англійська не найкраща, мене прийняли.
Курс тривав три місяці. Я не розраховував відразу після нього потрапити до компанії. Оскільки розумів, що тільки закінчив другий курс, що я ще сирий. Мені тоді здалося, що роботодавець не дуже хоче брати на проєкт студентів другого й третього курсів, тому що присутній ще тиск з боку навчання. Нам запропонували продовжити вчитися за одним з трьох напрямків: Java, C# і QA. Я обирав між Java і QA. Але вчасно згадав, що мрію працювати саме з кодом, тому зупинився на Java.
Java
Java я почав вивчати з нуля. Тривалість цього курсу була півтора місяці. Викладач залишився той самий, що й на курсі з C/C++. Нас було вже менше: не 50-60 студентів, а всього 15. Матеріал викладали дуже добре, я розумів, що вивчаю. Якщо я зараз все кину, ці знання в мене залишаться. Якщо розбудити мене о другій ночі, я розкладу все по поличках. Після закінчення курсу нам сказали почекати. Я розумів, що за кілька місяців стартує набір на поглиблену програму з Java Web розробки і ми можемо туди потрапити. Однак я не хотів просто сидіти в очікуванні весь цей час, я вже набирав обертів, неначе машина, і хотів отримувати нові знання. Хотів усе і відразу, тому почав шукати щось додатково.
C#
Поспілкувавшись з другом вирішив піти на курси від іншої компанії, щоб не гаяти час. На першому етапі на нас чекали три години тестування: сухі тести з англійської, логіки та технічної частини. До технічної частини входили питання про різні мови програмування: від Python до Java. Я відповідав на те, що міг. Можливо, це трохи кумедно, але мого друга, який хотів потрапити на ці курси не взяли, а мене взяли. До того ж не Java, навчання з якої я тільки закінчив, а на C#. Подумав, що це на краще, я був готовий до знайомства з новою мовою.
Ці курси були геть інакші. Програма кардинально відрізнялася від тренінгів у ЕРАМ. Уявіть, що вас вивезли на середину озера і кинули у воду. Пливи як хочеш. Якщо ти виживеш — молодець, ми тебе візьмемо. У нас була суха лекція один раз на тиждень, на якій я мало що розумів, і дуже багато тестів та завдань. Хоча один плюс все ж таки був. Компанія надавала студентам приміщення у своєму офісі. Воно було доступне для нас цілодобово, ми могли приходити туди, спілкуватися і працювати. Тоді я навчився виживати і познайомився з командною розробкою. Інформації було багато і обробляти її треба було швидкл. Виходило в нас поганенько, але ми намагалися розібратися з цим разом. Ми могли бути на різних курсах, вивчати різні мови, але ми всі зтикалися зі схожими проблемами і вирішували однакові задачі. Пам’ятаю, як мене осяяло після обіду і розмови з другом. Я прийшов, вирішив проблему, і до мене вишикувалася черга з хлопців із питанням «Як ти це зробив?». Я пояснив одному, той передав другому, другий третьому і так по ланцюжку рішення розлетілося кімнатою. І мені це сподобалося. Втім, я усвідомлював, що знання, які я отримую, були тільки моїми. Що я знаходив, те й отримував. Я сам доходив до суті, мене не навчали. Я виконував завдання за завданням, виживав і не одержував жодного задоволення від процесу. Якби мене в той момент відірвали від навчання і запитали щось про C#, я б нічого не зміг розповісти. І це мене не влаштовувало. У навчанні важливо зберігати баланс, а тут його було порушено.
Робота VS Курси
Після закінчення курсу нам запропонували презентувати фінальні проєкти і нагадали про Job Offer для найкращих студентів. Це була приваблива пропозиція, особливо для студента, який тільки-но перейшов на третій курс. Приблизно через два дні після цього, я отримав повідомлення від EPAM: «Вітаємо, вас зараховано на курс із Java Web розробки. Будь-ласка, підтвердіть участь, якщо це актуально». Мені довелося обирати: або робота, або знову навчання. Це був дуже непростий вибір. Я здогадувався, що проєкт, на який мене можуть взяти в іншій компанії, швидше за все буде нецікавий і простий. Але це був би досвід роботи і гроші, я міг би зайти в ІТ. Та в душі я хотів у ЕРАМ, я хотів туди від самого початку, а оскільки я дуже впертий і люблю доводити справу до кінця, то вирішив ризикнути і знову піти на курси.
Вже через тиждень зрозумів, що все не дарма. Тому що я побачив абсолютно інший підхід. Я був бадьорий, свіжий і хотів поглинати всі знання, які мені давали. П’ять академічних годин за заняття — це було важко. Навіть з перервою. Мене вистачило на місяць. Я гарно сприймав інформацію, але коли починались складні речі, які вимагали більшої концентрації, мій мозок перевантажувався. Десь на третій годині організм відключався, я засинав і навіть не міг зупинити себе. Добре, що лекції записувалися. Я приходив додому, відпочивав і знову починав розбирати завдання. Через два місяці я почав кусати лікті тому, що майже всіх моїх одногрупників з минулих курсів взяли на роботу. Я шкодував, що я не серед них. Проте до кінця тренінгу з Java розробки, я отримав стільки знань, що відразу забув про ці думки.
Зрозумійте, якщо ви тямуща людина, якщо ви прагнете глибоко розбиратися в певному напрямку ІТ, навіть якщо вас не запросять в лабу або на роботу, ваші знання залишаться з вами. І це колосально, я це знаю по собі. У мене склалася тяжка ситуація вдома і в університеті, тому мені довелося знову обирати, цього разу між курсами та університетом. Я вирішив, що для мене вища освіта важливіша, тому склав фінальний тест, одержав свою кількість балів і залишив курси з Java на найцікавішому місці — за крок до лаби.
Ці обставини мене збентежили. Я з острахом думав, що витратив рік на курси й нічого не досяг. Місяць я сумнівався у собі, можливо, мій стан можна було назвати депресією. Але я зміг зібратися: владнав всі питання з університетом, подолав страх і вирішив так просто не здаватися. Друг запропонував сходити на співбесіду у будь-яку компанія, тільки вже не на курси, а на вакансію. Мені й тут захотілося спробувати щось нове. Мені не дуже сподобалась Java Web, але ці знання могли стати в нагоді в Android-розробці. Перевчитися було б неважко. Я знайшов відкриту trainee позицію у компанії ItechArt. Все йшло непогано: я навіть зміг пропустити технічну співбесіду по телефону, тому що представник компанії швидко зрозумів, що я багато що знаю та вмію, і відразу запросив мене на особисту зустріч. Для мене це була перша значна співбесіда, і я дуже хвилювався. В цілому співбесіда тривала півтори години, з них півгодини англійською мовою. Для мене це була найскладніша частина, так як англійська в мене далеко не найкраща. Технічна частина зайняла цілу годину. Ми спілкувалися майже без упину. Мені було важко, десь я помилявся, десь показував усі свої знання. Зрештою, якщо мені було про що годину говорити зі спеціалістом, який вже давно працює в ІТ, то зі мною не все так погано.
Я чекав на результати тиждень. Оцінював слабкі сторони, але сподівався на краще. Мені дали дуже граний відгук: компанію вразили мої технічні навички у Java і C++, але їм дуже не сподобалась моя англійська. Мені порадили підтягти мову і повернутися за три місяці. Після цієї відмови я зрозумів, що без англійської нікуди, почав займатися самостійно. Але мені не хотілося сидіти три місяці без діла. Я відкрив свій улюблений training.by і почав шукати щось цікаве. Я побачив два курси, з Android і Ruby розробки і зареєструвався на обидва. На мій подив мені вперше в житті не відповили: інформації про набір на Android-розробку я так і не дочекався. Натомість отримав відповідь від Ruby.
Ruby
Я очікував на звичну вже програму навчання. Але ж ні. Цей тренінг створювали розробники спільноти Rubyl’nik та співробітники EPAM: компанія надавал ресурси, а спільнота — менторів. Я здивувався. Це був зовсім інший підхід — щось середнє між озером і ґрунтовним навчанням від ЕРАМ. Це була золота середина. Наша група отримувала багато теорії, паралельно відпрацьовувала її на практиці, тобто був лайвкодінг. Я швидко зрозумів, що це моє і діставав максимальне задоволення. Мені хотілося проявляти ініціативу: я виконував завдання, спілкувався з хлопцями, знайомився, розпитував менторів. Мені дуже подобалося, що можна було спокійно розмовляти з викладачами, майже як з друзями.
Через півтора місяці розпочалася командна розробка. Ментори презентували три проєкти і сформували три групи для роботи з кожною ідеєю. Мені захотілося зробити щось своє. Описав ідею ментору, він мене підтримав і запропонував підготувати презентацію до наступного заняття. Моя ідея полягала у створенні зручного інтерфейсу для EPAM Relocation Program — програми з переміщення співробітників у інші країни. Я був дуже активним на курсі, тому знав, хто до чого здібний у нашій групі, трохи схитрував і заманив на свій проєкт саме тих, кого хотів. В результаті у нас вийшло чотири команди. Коли ми взялися до роботи, я зрозумів, що не просто приймаю участь у розробці, але й виконую роль керівника, яка в інших командах залишилася за викладачами. Я оформлював тікети, проводив зустрічі з командою. Ми могли годинами сидіти в дискорді, слухати джаз і писати код. Щоправда, роботи було багато. Я сідав за комп’ютер зрання і вставав пізно ввечері. За місяць ми побачили, що з чотирьох команд в перегонах залишилися лише дві. Люди відвалювалися. Студент з нашої команди отримав job offer і теж залишив команду. Втім, проєкт ми закінчили, хоч і не без труднощів. Успішно презентували, отримали сертифікати і готувалися до співбесіди в компанію.
Я неймовірно нервував перед співбесідою. Сидів на лавочці перед офісом і намагався заспокоїтися. Там мене помітив ментор моїх курсів, з яким в мене власне мало бути інтерв’ю. Покликав і забрав у кабінет. Ми дуже приємно поспілкувалися, але я знову зіткнувся зі своєю проблемою — англійською мовою. Я старався. Я завжди готуюсь до співбесід, продумую, що казатиму. І всім раджу так робити. Тому що співбесіда — це діалог, яким я можу керувати, але не англійською мовою. У мене були заздалегідь підготовані фрази, але вони не дуже допомогли. Наприклад, мені було потрібно розповісти про процеси в команді англійською мовою. Через стрес вийшло зовсім погано. Я ніби-то все це знав, але зібрати слова у граматично правильне і гарне речення не зміг. З облич інтерв’юерів було видно, що моя англійська враження на них не справила. Натомість, з технічної частини питань майже не було, тому що вони знали, що я можу.
План Б
Після співбесіди я залишився в очікуванні. Впевненості, що мене візьмуть у компанію не було. Щоб не втрачати час, я почав думати над планом Б. Я знав, що мій одногрупник, який теж пише на Ruby, проходив практику в компанії. Він дав мені контакти розробників, які займаються набором. Я приїхав поспілкувався, сподобався їм і отримав пропозицію вийти на роботу за два тижні. Мені мали платити з наростанням, тобто оплата залежала від того, наскільки добре я працюватиму. Я гнався не за грошима, а за досвідом. Тому що з кожним роком все важче зайти в ІТ. Мені ця ідея сподобалась, я пристав на пропозицію і вирішив поїхати з друзями в наметовий табір, щоб відпочити.
Щойно я приїхав у ліс і поставив намет, як пролунав дзвінок від рекрутера з ЕРАМ. Я почув омріяне: «Борисе, ми вас вітаємо! Ми готові прийняти вас на роботу. Завтра у вас буде формальна співбесіда щодо організаційних моментів. Що скажете, зможете підключитися?». Я взагалі не зрозумів, що відбувається, сказав, що я в лісі і що, напевне, зможу. У відповідь почув дзвінкий сміх.
Я був дуже щасливий. Перше, що зробив, зателефонував мамі, яка підтримувала мене і допомагала з оплатою навчання в університеті. Я дуже хотів поділитися з нею новинами. Я мріяв допомагати своїм батькам, робити свій внесок у спільний бюджет і бути корисним. Це бажання і було моєю мотивацією і рушійною силою. Як тільки ейфорія минула, я почав думати як підключусь до співбесіди з лісу. Уявіть картину: я бігаю полем з телефоном, щоб зловити інтернет, а з динаміків чую тільки сміх Senior-розробника, який проводить співбесіду. Я повернувся з походу, пройшов все оформлення і нарешті відчув успіх від того, що я увійшов в ІТ. Щоб ви розуміли, з мого курсу в компанію взяли всього чотирьох людей, троє з них були в моїй команді.
Мрія VS Англійська
У перший робочий день мене позачергово записали на англійську. Мене влаштували на проєкт, де англійська не дуже використовується. Але навіть там доводилося спілкуватися із замовником з Голландії для вирішення питань. Це було справді лячно, я дуже нервував. Хоча мене всі розуміли, і я навіть відповідав на питання. Тож в певному сенсі вважав це перемогою над собою. Далі розвивав англійську на внутрішніх курсах компанії. Заняття в моїй групі проводив носій мови, який приїхав з Ірландії. Він допоміг мені підняти базу і за півроку я доріс до рівня Intermediate. Зараз я працюю на іншому проєкті, де англійська мова використовується щодня. Я спокійно розмовляю і вирішую робочі питання з носіями мови. Здається, саме час братися за технічну частину й прокачувати hard skills.
Плани на майбутнє та екстренний план
Хочу розвиватися далі в Ruby разом з EPAM. Зараз готуюся до assessment на middle розробника. Рік — це середній строк переходу від джуна до міддла. Але тут ніхто нікого не підганяє. Якщо почуваєтеся добре, якщо вам подобається ваша робота і про вас схвальні відгуки, йдіть і спробуйте підвищити свій рівень. У мене добре виходить комунікувати з людьми, спілкуватися. В перспективі хочу покращити ці навички, підняти технічний рівень і рівень англійської, можливо відійти від коду і рухатися в бік Project Manager або Product Owner. А взагалі, у мене був екстрений план на випадок, якщо не вийде з Ruby. Я почав би самотійно підтягувати англійську і вирушив у подорож. Наприклад, поїхав би вчителм англійської мови у Китай.
Але зірки склалися, і я знайшов свій напрямок. Так, не відразу, але головне, що знайшов. Часто чую, що Ruby вважають непопулярною мовою програмування. Це не так. Це дуже цікавий і актуальний напрямок. У розвиток мови вкладають багато грошей. Я був на одній міжнародній конференції і зрозумів, що Ruby — це елітна мова. Зустріти людину, яка пише на Ruby, складно, знайти гарного Ruby розробника ще складніше. Тож я можу сказати, що я унікальний спеціаліст. Звичайно, у Ruby є свої мінуси і свої плюси. Але жоден Ruby розробник не скаже вам, що жалкує про свій вибір. Тому, що ця мова для задоволення. Я дуже тішуся з того, що відкрив її для себе.
Поради
Беріть від навчання те, що вам потрібно
Я був поганим учнем у школі, гарним студентом в університеті та поганим практикантом. Тому що я намагався брати від навчання не все, а лише те, що мені потрібно. І так, я халтурив, куди ж без цього. І в унверситеті доводилось заняття пропускати. Бо я розумів, що курси й практика в ЕРАМ дадуть мені в рази більше, ніж пари. Вас я до цього не закликаю. Ви маєте усвідомлювати, що вибір робити тільки вам, але й з наслідками теж боротиметесь самотужки. Наприклад, в школі я прогавив англійську мову. Як ви мабуть помітили, це упущення наздоганяло мене мало не на кожній співбесіді. Звідси наступна порада.
Вчіть англійську
Розповім вам історію. На другому курсі я вирішив підтягти англійську мову. На той момент моє фінансове становище було скрутним, тому я влаштувався працювати в ресторан швидкого харчування, щоб підзаробити грошей. Я приходив додому о пів на першу ночі втомлений і хотів тільки спати. А зранку мені потрібно було в універ, а потім на знову на роботу. Час, здавалося, тягся нескінченно. В такому режимі я працював два місяці. Це була точка, коли я усвідомив, що більше ніколи не хочу займатися фізічною працею. У певному сенсі саме це рішення можна вважати початком моєї кар’єри в ІТ. Але далося воно мені дуже важко. А курси англійської, на які я витратив зароблені гроші, все одно мені не допомогли. Не повторюйте моїх помилок, вчіть англійську в школі.
Для успішного Job Offer важливий не тільки досвід роботи, але й досвід співбесід
Щоб отримати перший досвід інтерв’ю я рекомендую записатися на безкоштовні курси за будь-яким ІТ-напрямком. На таких навчальних програмах є певний відбір кандидатів за рівнем знань. Щоб пройти далі, потрібно показати, що ти щось можеш, що у тебе є деяка база і бажання розвиватися. Цей досвід навчить вас тверезо оцінювати свої вміння і розподіляти сили.
Якщо ви хочете спробувати себе на цікаву вакансію, раджу вибрати кілька компаній і відфільтрувати список: подумайте, до якої компанії вам хочеться потрапити найбільше, а до якої — найменше. І подавайте першу заяву в ту, до якої байдужі. Після першої співбесіди ви зрозумієте, что потрібно робити, що говорити, отримаєте фідбек і навчитесь себе «продавати». І вже з цим вантажем сміливо підете на співбесіду до компанії своєї мрії.
Якщо вам відмовлять і там, і там, як свого часу сталося зі мною, запитайте себе «Чим я хочу займатися?», «Що я робив не так?» і поставте мету. Визначіть конкретний час на її втілення. Наприклад, до зими я вивчатиму Android-розробку. Якщо у мене не вийде завершити курс і вийти в лабораторію, то я зміню напрямок.
Продовжуйте рух за будь-яких обставин
Коли я тільки починав ворушитися і шукати навчальні тренінги, я був один. До третього курсу половина моїх одногрупників вже стажувалися чи повноцінно працювали у великих компаніях, доки я закінчував чергові курси. Треба просто спробувати. Рухатися у своєму темпі. Але я раджу починати якомога раніше. Як я вже казав, 75% студентів не знають, куди вони вступають. Я почав після першого курсу і в мене було більше часу, щоб розкачатися. Я влаштувався на роботу в кінці третього курсу. Весь четвертий я працював. Напевне, я міг дізнатися і зробити набагато більше. Але я зробив усе, що міг. Тому ні про що не жалкую.