Шлях стажера: Binary Studio Academy
Привіт! Мене звати Олександр, я працюю full-stack розробником, пишу статті, допомагаю на StackOverflow і беру участь у кількох open-source проектах. У цій статті хотів би розповісти про свій досвід навчання в Binary Studio Academy, яку закінчив півтора року тому. Поділюся інсайтами, порадами, чого чекати, як готуватися й дійти до кінця.
З чого все починалося
Моя освіта не була пов’язана з IT, тож мої знання з програмування обмежувалися домашніми потребами, наприклад, перевстановленням Windows. За
- Мій код працює, але чи правильно він оформлений?
- Мій код не працює, і я не знаю, як це вирішити.
- Мої роботи прості й не можуть називатися проектом.
Тимчасовим рішенням були відеоуроки/підкасти на YouTube, де розробники діляться досвідом, показують, що таке «хороший код» і як його досягти. Після кількох переглянутих відео я здійснив тотальний рефакторинг свого коду (хоча тоді навіть не знав слова «рефакторинг»). Але все ще не був упевнений у всьому коді, оскільки виправляв лише те, на що звертали увагу автори відео.
Після марних спроб знайти сервіс, який би розв’язував усі мої проблеми одним заходом, я змінив свій запит у Google:
Серед результатів були різні варіанти, зокрема Coursera/Prometheus, які, на мій погляд, є лише розширеною версією YouTube, тож я проігнорував їх. А згодом натрапив на Binary Studio Academy. Швидко переглянувши умови, не одразу повірив, що такий курс може бути безкоштовним. Але уважно перечитавши FAQ, переконався в правдивості й з радістю зареєструвався на JavaScript напрям.
Підготовка до вступного тестування
Відбір до академії складається з трьох етапів: онлайнового тестування обсягом приблизно 30 запитань з основ програмування, зокрема й з ООП і баз даних; трьох відеолекцій та домашніх завдань до них і невеличкої співбесіди з HR компанії.
Після реєстрування в особистому кабінеті академії на мене чекали подальші інструкції та матеріали для підготовки до вступного онлайнового тестування. Я був приємно здивований тим, що серед рекомендованих матеріалів був саме той підручник, над яким я вже працював. А теми з HTML/CSS я пройшов раніше, тому сфокусувався на тесті й тих сферах, у яких не розбирався зовсім — бази даних та ООП.
У процесі підготовки:
- встановив Apache сервер на ПК для тренування MySQL;
- проходив різні туторіали із SQL;
- кілька разів перечитав статті на Вікіпедії про терміни ООП;
- двічі проходив демотест.
Завдяки зробленому я почав розуміти, що таке «клієнт», «сервер» і «база даних» та як вони взаємодіють між собою. Отож ще до початку безпосереднього навчання вже одержував користь. До речі, демотест був у кілька разів простішим за реальний тест, про що не раз згадували на сайті. І це мене дуже насторожувало, тому що складно було оцінити свої реальні сили й можливості. Але водночас це стимулювало не зупинятися на досягнутому й вчитися більше.
Відбір
Для онлайнового тестування запропонували два дні на вибір, і я вирішив складати в останній день, щоб мати якомога більше часу на підготовку. Академія відбувається лише раз на рік, і я хвилювався, як перед будь-яким важливим іспитом у моєму житті, тому що занадто багато було поставлено на карту.
Початок тесту, я цілком готовий: вимкнув телефон, закрив усі вкладки в браузері, зібрався з думками ― і вперед. Згодом дізнався, що найбільші проблеми абітурієнтів під час тестування ― це неуважність, спроби гуглити й несерйозний підхід у цілому. Тому ось кілька порад:
- виберіть час, коли вас нічого не відволікатиме;
- подбайте про стабільне під’єднання до інтернету, достатній заряд ноутбука та інші зовнішні фактори;
- вимкніть телефон і месенджери;
- не намагайтеся гуглити, це мало вам допоможе;
- не переходьте між вкладками, навіть щоб вимкнути музику або зупинити відео на YouTube. Усе це потрібно зробити ще до початку тесту;
- не поспішайте виконати завдання щонайшвидше, тому що неправильна відповідь за тридцять секунд гірша, ніж правильна за п’ять хвилин.
Попри те, що поради досить прості й очевидні, чомусь десь 30% абітурієнтів припускаються тієї самої помилки. За тиждень я одержав листа з новиною про те, що тест складено успішно й далі на мене чекають вступні онлайнові лекції з домашніми завданнями. Я неймовірно радів, тому що перший крок був позаду й тепер тільки вперед.
Перші лекції другого відбіркового етапу розповідали про Git, ES6 та MongoDB. Вони не здалися мені занадто складними, тож виконавши основне завдання, я робив альтернативну або доповнену версію розв’язання до кожної лекції. Так, наприклад, у завданні з ES6 і прототипування в JavaScript додатково використовував HTML/CSS, роботу з DOM й Adobe Photoshop, і от що вийшло:
Звісно, із моїм теперішнім досвідом я бачу всі баги в цій роботі та знаю, що можна покращити, але вирішив залишити все як є заради історії.
Що можу порекомендувати для цього етапу:
- не забувайте, що відео з лекцією ― це не єдине джерело знань, і шукайте додаткову інформацію самостійно;
- дотримуйтеся дедлайнів ― це дуже важливо;
- не бійтеся ставити запитання викладачам, вони з радістю допоможуть;
- за можливості намагайтеся зробити більше, ніж від вас чекають, ― це ефективний спосіб вирізнитися.
Цікава історія. На останнє завдання я одержав фідбек від викладача, у якому йшлося про те, що розв’язання не є оптимальним і його можна поліпшити. Я почав вести діалог, одержав кілька порад і посилань на «почитати», та найголовніше ― це був перший справжній розробник, із яким мені випало поспілкуватися. Завдяки йому я значно поліпшив свою відповідь й одержав десять балів із десяти. «І що ж тут цікавого?» ― запитаєте ви. Просто все це відбувалося пізно вночі, і менторові було не ліньки зі мною чатитися. Дізнавшись, що він буде очолювати команду студентів, я вирішив, що неодмінно маю бути в ній.
За результатами тесту й перших домашок я подолав відбірковий етап. І після невеликого інтерв’ю з представником Binary Studio в скайпі став студентом академії та одержав запрошення на першу лекцію в офісі компанії у Львові.
Початок навчання та лекції
Відкриття академії й перша лекція відбувалися у львівському офісі компанії. Попри те, що присутність була необов’язковою, я твердо вирішив, що маю там бути, — і не дарма. Я вперше завітав до офісу IT-компанії й був під величезним враженням: від таких самих ідейних студентів, як я, від тренерів, готових ділитися знаннями й відкритих до дружнього спілкування, та від усієї атмосфери в цілому.
Після повернення зі Львова важке літо з безсонними ночами, лекціями та домашками з академії офіційно розпочалося. Було складно, але круто. Як я люблю казати ― буде, що згадати. У кожному домашньому завданні я намагався видати максимум, показати все, що можу й знаю. Що далі, то складнішими ставали завдання, усе важче було вкладатися в терміни, і поступово такі темпи почали вибивати тих, хто не був готовий. Звісно, мені було сумно бачити, як студенти, із якими познайомився на першій лекції, просто здавалися або були відраховані за неуспішність, але я знав, що зможу, і не кидав навчання.
Найголовнішою відмінністю академії від усього мого попереднього досвіду самоосвіти була можливість спілкуватися. Це найбільший плюс, який я намагався використовувати на повну. Я обговорював питання з іншими студентами, діставав своєю цікавістю викладачів і в цілому намагався взяти якомога більше того, чого мені так бракувало раніше.
Коли етап лекцій завершився, ми мали кілька днів перерви перед проектом, які після місяця безперервного навчання були як курорт на Мальдівах. Я використав їх, щоб підтягнути те, у чому не почувався впевнено, а такого було багато. Я переглядав лекції, читав запропоновані ресурси/книжки й у такий спосіб зберігав набрані мною темпи.
З усіх порад для подолання етапу лекцій можу виокремити основні:
- плануй свій час і не відкладай до останнього;
- спілкуйся з іншими студентами;
- не соромся запитувати викладача;
- допомагай іншим порадами.
Проект
Далі почався проект, який є головною фішкою Binary Studio Academy. Ми розробляли спортивну соцмережу на MEAN стеку з нуля. Головна ідея продукту полягала в тому, щоб зробити інформацію про спорт, здорове харчування та спосіб життя доступною й дати змогу зберігати всі важливі показники та дані в одному місці.
Тут було все: щоденні розмови телефоном із командою, планування, таски, дедлайни, презентації, код, рев’ю й фідбеки від замовників (якими виступали менеджери Binary Studio) та відкати версій — і все по-справжньому.
Окремо хотілося б відзначити командну роботу, із якою не так усе просто. Кожен член команди має свою думку, мотиви та здібності. Однак настає мить, коли всім треба зібратися в одну бойову одиницю й створити продукт. На початку мені це здавалося просто неможливим і нагадувало байку про лебедя, рака та щуку, але із часом завдяки грамотному розподіленню ролей, організації процесів і мотиваційній тренерській роботі нам це вдалося:
Поради для роботи над проектом:
- будь ініціативним і не бійся висловлювати власну думку;
- бери завдання, які тобі здаються складними (звісно, якщо терміни дають змогу), тому що в подоланні перешкод і полягає навчання;
- пам’ятай, що ти ― частина команди, не соромся просити допомоги в інших і завжди будь готовим допомогти сам;
- не забувай, що твої помилки впливають на всю команду, тому слід розуміти подвійну відповідальність.
Завершення академії
Розробка проектів тривала шість тижнів. Студентів, які дійшли до цього етапу, знову запросили до львівського офісу на випускний, де кожна група презентувала результати своєї кропіткої роботи. Я дуже хвилювався, адже до цієї миті ми з командою довго йшли крізь різні випробування й труднощі. Ми вклали купу сил і душу в цей продукт, і тепер треба було показати його всім. Однак наша команда впоралася й охоче відповідала на запитання публіки. Було приємно бачити, що твоя робота цікава й гідно оцінена.
Презентуючи, потрібно бути готовим до всього й не панікувати, якщо щось піде не так, тому що обов’язково щось піде не так. Головне ― уміти розв’язувати проблеми чи принаймні правильно на них реагувати.
Життя після академії
Наприкінці навчання в академії зі мною зв’язалася HR компанії Binary Studio з пропозицією про роботу. Усього лише за три місяці навчання я одержав не тільки знання та практичний досвід, а ще й офер. Я погодився. За тиждень уже приїхав до Львова, де мені допомогли знайти житло та облаштуватися. Тепер я міг називати свого тренера колегою й бути в офісі не гостем, а частиною команди.
Нині, за півтора року після закінчення академії, планую брати участь у проведенні Академії-2019, можливо, уже як лектор та/або коуч, щоб поділитися здобутим досвідом і допомогти комусь стати справжнім інженером, готовим до викликів сучасного розроблення.
Висновки
Академія не для тих, хто шукає швидкої й легкої перемоги. Але я впевнений, що всі зусилля не минають дарма. Два з половиною місяці інтенсивної практики можуть бути ефективнішими, аніж роки самонавчання, якщо скористатися всіма можливостями, які дає цей курс.