Шлях стажиста: Provectus

[Шлях стажиста — постійна рубрика, в якій початківці IT-фахівці діляться своїм досвідом стажувань як в іноземних, так і в українських компаніях. Якщо ви хочете розповісти свою історію, пишіть на vlada@dou.ua ]

Всім привіт! Мене звуть Олена, мені 31 рік, я живу в Одесі. Рік тому я вирішила кардинально змінити свою кар'єру, і сьогодні я — випускниця стажування «Formula-1» від компанії Provectus за напрямом Front-end. Якщо ви боїтеся зробити свої перші кроки в IT-за віку, статі чи освіти, то моя історія як раз для вас!

Багато років мій кар'єрний шлях не був пов'язаний з програмуванням. Я працювала в маркетингу і як маркетолог іноді брала участь у створенні сайтів: малювала мокапы, формулювала завдання для дизайнерів і верстальників. Так-так, я була тим самим людиною, який просив «пограти зі шрифтами» :) Мені завжди хотілося розібратися детальніше в процесі розробки, зрозуміти магію, яка відбувається в UI, і спробувати створити щось самостійно.

Проби верстки

Все почалося з верстки листів для email-розсилки. Я захотіла відійти від поштових сервісів і створити універсальний шаблон, який би коректно відображався у всіх поштових клієнтів. Кожен, хто коли-небудь стикався з версткою листів, знає, наскільки це нетривіальне завдання. Особливо, коли з неї починається твоє знайомство з HTML/CSS. Перші вдало зверстані листи надихнули мене на подальші подвиги.

Я вирішила не йти на курси. У мережі достатньо ресурсів зі всією необхідною інформацією, а рівень англійської дозволяв мені без праці проходити відеоуроки на Coursera, Udemy, Udacity, а також читати оригінальну документацію до технологій. На той момент у мене вже було багато знайомих серед розробників, так що мені швидко допомогли визначитися з планом навчання та необхідними ресурсами. Верстка легко піддавалася розуміння, а ось перші кроки в JavaScript далися непросто. Мені пощастило бути дружиною програміста, який взяв на себе нелегке завдання пояснити основи програмування гуманітарію. Обговорення JavaScript ввечері на кухні іноді переростали в гарячі суперечки, але, як сказав товариш Бендер, «крига скресла». Завдяки терпінню і професіоналізму хлопців, які мені допомагали, я зуміла подолати складні моменти і далі продовжити навчання самостійно.

Про умови стажування

Через вісім місяців навчання мені попалося оголошення на DOU про відкритий набір на стажування в Provectus. Було заявлено багато напрямків, в тому числі і Front-end. Також був досить докладно розписаний формат стажування. На відміну від деяких інших компаній, Provectus не гарантує працевлаштування. Після закінчення чотирьох місяців стажисти отримують сертифікат, рекомендації від менторів, портфоліо у вигляді виконаного проекту, а також потрапляють в кадровий резерв компанії. Крім того, стажування не оплачується і є дистанційної, під чуйним керівництвом менторів і з періодичними зустрічами в офісі.

Спочатку мене такі умови насторожили, але, трохи подумавши, я прийшла до висновку, що насправді Provectus пропонує саме те, що необхідно починаючому фахівця — досвід на проекті в умовах, максимально наближених до реальності, і менторство з боку більш досвідченого фахівця. Пізніше я дізналася, що наша стажування є частиною внутрішнього процесу навчання працівників управління проектами, і нам належить спільними зусиллями за 4 місяці створити новий продукт. На мій погляд, це просто відмінна ініціатива компанії як для працівників, які бажають прокачати свої навички в project-менеджменті, так і для початківців розробників і тестувальників.

Етапи відбору

Для участі в конкурсі необхідно було заповнити анкету, додати резюме і виконати невелике тестове завдання. Вимог до стажерів було всього два: знати англійську на рівні не нижче Intermediate і бути студентом курсів або внз за напрямом стажування. Пізніше з'ясувалося, що друга вимога було необов'язковим, а головне — це знання. Але для підстраховки я вписала в анкету онлайн-курси, які проходила, а також свій невеликий волонтерський викладацький досвід HTML/CSS для дітей IT2School .

Завдання виявилося нескладним — зверстати сторінку і написати невелику функцію. Але це був тільки початок. Через кілька днів мене запросили на співбесіду в офіс. Незважаючи на великий досвід проходження інтерв'ю, я хвилювалася, як студентка, адже це було моє перше технічне співбесіду, і я розуміла, що одними soft skills мені явно не відбутися.

Спочатку ми поговорили про мене і мою кар'єру. Потім, як це часто буває на співбесідах, мене попросили розповісти про моїх хобі англійською, після чого ми перейшли до технічної частини. Питання були в основному стандартні, яких дуже багато в мережі — з основ HTML/CSS/JS. Тому перед співбесідою на стажування краще скласти чек-лист, освіжити в пам'яті теорію і потренуватися вирішувати задачки з секретом». Всю інформацію можна знайти на w3schools.com , learn.javascript.ru , developer.mozilla.org та інших ресурсах.

Куратор напрямку Front-end (згодом — мій ментор) був налаштований дружелюбно, давав можливість подумати над відповідями і поміркувати вголос, вирішуючи завдання. Так що співбесіда пройшло швидше на позитивній ноті. Фінальним акордом було питання, з якими фреймворками я знайома. На той момент я тільки планувала приступити до вивчення Angular 4, тому відповіла, що поки ні з якими. На що Тарас, куратор, порадував мене останнім завданням — написати невеликий додаток на ReactJS. Спочатку на виконання завдання було відведено 5 днів, яких мені вистачило, щоб зробити основний функціонал. Потім дедлайн відсунули ще на 5 днів, що дало мені можливість доробити все до кінця. Чи треба говорити, наскільки драйвовими для мене були ці десять днів?

Наша команда майже в повному складі. Всі намагалися бути серйозними, але не у всіх це вийшло :)

Старт стажування

Про те, що мене взяли, мені повідомила рекрутер компанії. Також мене додали в чат, де всім стажистам була призначена перша зустріч. В ту суботу біля офісу Provectus зібралося 39 стажистів, і ніхто толком не знав, над чим ми будемо працювати. Вступна лекція все розставила по місцях. Нас розділили на 4 проекту, закріпивши за кожним стажистом ментора (людини, який проводив співбесіду). На тій же зустрічі ми обговорили майбутню роботу в межах нашого проекту.

Я потрапила в невелику команду, в якій з стажистів, крім мене, був ще один Front-End Developer, один Back-End Developer і два QA. У деяких з нас вже був досвід роботи в IT-компаніях на різних посадах, але призначену роль кожного належало виконувати вперше. Наше завдання — за чотири місяці «з нуля» написати веб-додаток для рекрутерів і технічних фахівців, які проводять співбесіди. Ми вивчили прототип, обговорили документацію до проекту і флоу розробки. Працювати треба по методології Scrum з двотижневими спринтами. Ми вирішили не проводити щоденні статус-мітинги, проте домовилися підтримувати регулярний зв'язок у Slack і кожен день відписуватись про стан тасок. Зустрічі в офісі передбачалися раз в місяць, але ми могли збиратися частіше, якщо виникала необхідність.

Процес розробки

Приємним організаційним моментом для мене було відсутність фіксованого робочого дня або кількості робочих годин на тиждень. Головною вимогою було виконувати свої завдання. В процесі кожен виробив для себе зручний графік і витримував його протягом усіх чотирьох місяців. Я приділяла стажуванні 4-6 годин в день по буднях, так як вважаю, що в інші години продуктивність сильно знижується, а також кілька годин у вихідні. Мінусом такого підходу було те, що не завжди можна застати потрібного тобі людину онлайн. Наприклад, якщо на вихідних у тебе виникло питання до ментора, а він кудись поїхав, то потрібно чекати до понеділка і поки займатися чимось іншим.

Спочатку було складно. У нас не було теоретичної частини або іншого підготовчого етапу — з першого ж спринту ми почали пиляти таски». Поверхневе знайомство з React, звичайно, залишало ще багато питань. Крім того, необхідно було швидко розібратися в ES6, як взаємодіяти з бекендом через REST API, підключити до проекту Redux і почати користуватися Git. Найскладніше було зробити перший компонент. Перший місяць допомогу ментора була потрібна буквально на кожному кроці, тому ми часто зідзвонювалися ввечері і обговорювали нюанси розробки. Щоб не втрачати час на дизайн і адаптивну верстку, ми підібрали відповідний Bootstrap Template і використовували його, доповнюючи зовнішніми модулями бібліотеки React-Bootstrap і npm-компонентами.

Ретроспектива за піцою

Мені дуже пощастило з командою. Ми швидко знайшли спільну мову і налагодили неформальне спілкування. Нас об'єднувала спільна мета — зробити продукт максимально якісним, укластися в термін і отримати якомога більше знань і досвіду на проекті. Були і розбіжності: кожен прагнув зайнятися цікавою завданням, а не робити те, що вже вміє. Але ми навчилися розв'язувати їх мирним шляхом і приходити до компромісу. Думаю, саме завдяки згуртованості, яка особливо проявилася в останньому спринті, ми звели до мінімуму недоліки дистанційної роботи і встигли виконати весь запланований обсяг завдань.

І ось стажування підійшла до кінця. Останні баги пофикшены. Ми готуємося до демо, яке повинні проводити стажисти. Радість від того, що у нас все вийшло, перетинається з хвилюванням — а раптом на демо «щось піде не так». Але все пройшло успішно. Ми продемонстрували весь функціонал програми в тій послідовності, в якій його будуть використовувати. Один користувач — рекрутер — створює всі необхідні сутності (проект, кандидата, вакансію, інтерв'юєра), а також саме інтерв'ю. Інший користувач — інтерв'юер — бачить закріплене за ним інтерв'ю на своєму дашборде, проводить співбесіду і залишає фідбек, який потрапляє до рекрутеру.

Це поки MVP, але є ще багато ідей, як можна поліпшити додаток, ніж його доповнити. Трохи шкода розлучатися з проектом і хлопцями. Однозначно можу сказати, що планую і далі працювати з ReactJS. Стажування показала мені, як, використовуючи цей фреймворк, можна швидко написати повноцінний веб-додаток з не самим простим функціоналом.

Розповідаємо про те, як призначити та провести співбесіду з допомогою нашої програми.

Що дає стажування

Незважаючи на те, що у Provectus поки немає відкритих вакансій для джуніорів, стажування, безумовно, була корисним досвідом. І якщо мої аргументи вас не переконали, то ось ще кілька причин, чому варто пройти шлях стажиста.

  1. Ви прокачиваете резюме і налаживаете зв'язку.
    Подивіться на ваш профайл в LinkedIn. Як багато в ньому рекомендацій, лайків ваших релевантних скілів, скільки рекрутерів в друзях? Є велика різниця між фахівцем без досвіду взагалі і фахівцем, у якого є запис в резюме про проходження стажування з рекомендацією від ментора. До того ж, ви стаєте частиною нового ком'юніті, що дає вам можливість і далі обмінюватися знаннями.
  2. Ви придбаєте безцінний досвід роботи в команді.
    Чим би ви не займалися раніше, в розробці ПЗ є своя специфіка, методології та оточення. Знати все це в теорії від знайомого-програміста або з книг — мало для розуміння того, як це працює насправді. Стажування не може повністю відобразити реальну картину, але умови дуже схожі.
  3. Ви вчіться вчитися.
    Можливо, в інших компаніях процес роботи зі стажерами налагоджений інакше, але у нас основний упор був зроблений на самонавчання. Якщо щось не зрозуміло, ментор допомагає розібратися. Але в основному ви добуваєте інформацію самостійно. Причому робити це треба дуже швидко, так як терміни обмежені, і ви не повинні затримувати команду. Як людина, яка до цього вчився сам, можу сказати, що такий підхід у декілька разів прискорює процес навчання, а також готує до реального життя, де вам часто доводиться стикатися з новими технологіями і відразу починати їх застосовувати.
  4. Ви можете помилятися.
    До стажистам не такі високі вимоги. Ви можете задавати дурні питання, пробувати, зізнаватися, що чогось не розумієте, або взагалі вперше про це чуєте. Зрештою, саме на стажуванні ви можете визначитися з тим, чи бажаєте далі присвятити себе цьому заняттю.
  5. Big brother is watching you!
    За вами спостерігають, вас обговорюють, і навіть коли ви спите, ментор читає ваш код :) Саме час проявити себе. Компанії зацікавлені в активних і розумних співробітників, які хочуть розвиватися.

Сердечка з логотипом нашого проекту Interviewer — подарунок від доброго Product Owner.

Зміна кар'єри — це завжди важкий і ризикований крок. Вам потрібно вийти з зони комфорту, відмовитися від стабільного заробітку і почати все спочатку. Але якщо ви налаштовані рішуче, то цей крок все ж таки доведеться зробити. Після стажування я відчула впевненість у своїх силах: оновила резюме і сторінку на LinkedIn і почала вивчати вакансії. Звичайно, є ще багато технологій, з якими я б хотіла познайомитися або розібратися в них трохи краще, але вже зараз я можу сміливо позиціонувати себе як Junior Front-end Developer з досвідом роботи c ReactJS.

Компанії пропонують різні умови стажування — оплачувані чи ні, з фіксованим або вільним графіком — так що моніторте ринок, вивчайте пропозиції і подавайте заявки. Як мінімум ви оціните свої сили і зрозумієте, скільки вам ще треба вчитися до вашої першої роботи в IT.

Опубліковано: 04/12/17 @ 11:00
Розділ Різне

Рекомендуємо:

AI & ML дайджест #6: вміє бізнес користуватися AI, законодавство, перспективи професії
Робочі місця 54 SEO фахівців
Листопад 2017 — финстрип за інфо-сайтів, фільтрів не зловив, дохід підняв
Штучний інтелект в медицині: тренди та можливості
Як я писав книги і що з цього вийшло. Досвід QA інженера