На практике в InterLink мы даем студентам возможность создавать что-то интересное и полезное своими руками. Зимнюю практику в 2019 году прошли 10 студентов из ЧДТУ, ЧДБК и ЧНУ. Ребята сформировали две команды. Одна команда из 6-ти человек разработала сервис для тестирования кандидатов на позицию дизайнера в нашей компании. Вторая команда из 4-х человек разработала квест по функциональному программированию.
На практике каждый обрел свою роль в команде и внес вклад в общее дело. Интересно узнать кто и как проявил себя и что получилось в результате? Читайте дальше ;).
Test Design Playbook
Размер команды в 6 человек открыл перед ребятами проблему – как делать раздачи, чтоб потом можно было все вместе соединить и никто никого не ждал. Как ребята вышли из ситуации? Про это немного позже :).
По ходу работы над фронтендом папка с компонентами из нескольких штук превратилась в свалку. Называть новые, находить и менять существующие было все сложнее и сложнее. Но ребята проявили доблесть, не пошли на поводу у хаоса и привели все в порядок.
Еще одной проблемой были редкие мержи и, как результат, частые конфликты. Несколько фич в одной Git ветке, фразы типа “а когда же ты забирал себе master в последний раз?” – все это добавляло хлопот. А с ними и опыта владения Git-ом.
Так как же организовать команду из 6-ти человек? Спросите Вову из ЧДТУ. Поначалу он разрабатывал backend на Node.js c MongoDB и немного frontend. А потом взял на себя разбиение пользовательских историй на технические задачи, распределял их в команде и ревьювил пул-реквесты ребят. А еще мы с ним настроили (хоть и поздновато) авто-деплой приложения на наш сервер. Воспользовались удобным и готовым к работе CI/CD от GitLab в нашей компании.
Вместе с Вовой бэком занимался Леша из ЧДБК. Он разработал большую часть REST API приложения.
Валентин из ЧДБК тащил разработку фронтенда на Angular. Туда же вкладывались Мирослав из ЧДТУ и Катя из ЧНУ. Ребята на свой вкус и интуицию сделали достаточно неплохой интерфейс. После моего последовательного прохождения всех режимов было всего два листа замечаний 😀.
Помимо фронта, Мирослав отличился в мастерстве проведения демо заказчику и повествовании в нашем телеграмм канале 💪. С неимоверной выдержкой и спокойствием он каждую пятницу рассказывал заказчику о реализованных за неделю фичах.
Вадим открыл мне глаза на продвинутость одного email сервиса. Он создал в нем аккаунт, чтобы мы могли отправлять пользователям письма. И уже на следующий день аккаунт заблокировали. Как выяснилось, сервис просек, что Вадим запушил API ключ от аккаунта в публичное репо на GitHub. Вот такая забота про безопасность :).
В результате ребята успели реализовать минимально необходимый функционал – MVP. Рекрутер может добавить кандидата в систему и отправить ему ссылку на прохождение теста. Кандидат проходит тест и результат становиться доступен рекрутеру. Сейчас я жду замечания от заказчика. Надеюсь, их будет немного, и мы сможем go live!
Functional Hell
Ребята устроили себе настоящий ад прямо во время разработки. Они использовали совсем новые и незнакомые для них технологии. Сначала React, а затем и Redux. И сразу в боевых условиях, тут же на проекте. Львиную долю работы с React проделал Женя, автор идеи проекта. Он же был голосом команды на демо и в нашем Telegram канале. Тоже еще тот невозмутяшка со стальными нервами во время демо.
Сколько людей – столько и мнений. Иногда ребята не могли договориться, какой же написать сценарий или квесты. К счастью, им как-то удавалось приходить к компромиссному варианту.
Еще из необычного – ребята использовали Jasmine и тесты как часть production кода. Респект Максиму из ЧДТУ 💪. С помощью Jasmine он составлял проверки уровней квеста. Тесты прошли – значит игрок написал правильный код.
Богдана, aka Бодя, неожиданно для себя выяснила, что она верстальщик. Она занималась оформлением приложения и напару с Женей генерила идеи для сценария. Если вы когда-то увидите “монетизацию” в квесте, знайте – это Бодя позаботилась, чтобы ее реализовали.
– Кто-то из нас на демо: У вас переносы слов кривые.
– Бодя: Я знаю як це зробити, але не хочу.
– Хтось за практикантів: А так можна було?
Этот короткий диалог надолго останется в моей памяти.
Косте выпала непростая задача – писать квесты по функциональному программированию. Тоже без предыдущего опыта его использования. Из тех, что я успел пройти, скажу так – он справился!
В результате 4 недель интенсивной работы ребята сделали полный мемов и приколов квест по FP. Сыр, как игровая валюта. Ачивки за прохождение квестов. А цвета и шрифты в оформлении интерфейса подчеркивают терминально-адовый сеттинг игры.
Впечатления ребят
Вова и Мирослав поделились своими ощущениями по завершении практики. Читайте, вдохновляйтесь, собирайте команду и беритесь за свой собственный проект. Главное начать!
Я вже звик. До хорошо привикаєш швидко, а до колективу InterLink – моментально. Захоплююча і дружня атмосфера не залишала нас ніколи. В останній день тяжко було розуміти, що все закінчилося. Але такі почуття лише підсилили бажання попасти на inCamp. InterLink, чекай мене, я ще вернусь 😎
– Вова, Test Design Playbook
Провівши місяць на практиці в InterLink, можу сказати, що це, безперечно, був цінний досвід та незабутня пригода. Тепер поясню, чому варто відчути це на собі.
Перш за все, тут ми познайомилися з методологією розробки Scrum. Тобто слова та бажання розробника, наприклад, “Хочу, щоб були стрілочки та картинки, а ще авторизація” ми відобразили у вигляді користувацьких історій, які згодом перетворилися у технічні завдання.
Не менш важливим є те, що тут ми дізналися, що таке працювати у команді. Спілкуватися так, щоб вас розуміли; чітко пояснювати свою точку зору; планувати подальші дії; розділяти задачі за пріорітетми та уміннями; допомагати, підтримувати та надихати один одного; система контролю версій та багато іншого.
Думаю, що немає сенсу пояснювати, скільки нового ми вивчили та спробували. Більшість практикантів майже за тиждень-два освоїли абсолютно нові для них технології: такі як Angular, React (Redux), MongoDB, Node.js та створили з їх допомогою проекти. Майже робочі.) Плюс курс лекції з інтерактивами.
Практика побудована таким чином, щоб “земулювати” справжній процес розробки. Нам довелося спілкуватися з замовниками, вирішувати з ними питання та, увага, проводити демо. За невдачі та проблеми потрібно було відповідати.
Звісно, що після кожного демо проводилася робота над помилками (ретроспектива) з досвідченим ментором.
Що може сильніше вплинути на бажання щось розробляти, ніж оточення з “бородатих” програмістів та практика на повний день?)
Практика в InterLink це непростий виклик, але надзвичайно цікавий, тому рекомендую кожному!
– Мирослав, Test Design Playbook
P.S.: Хотите больше деталей? На протяжении всей практики ребята вели дневник практики. Нет, не тот дневник, что для университета. А “для своих”, с шутками, мемами, фейлами и впечатлениям. Окунитесь в историю их “че за …?” и “it’s alive!” в Telegram канале парктики t.me/InterLinkPractice.
Та з іншого ракурсу:
Post A Reply