19th Season of InterLink inCamp

Перші 2 місяці інтернатури пройшли в онлайн режимі. Підтримувати зв’язок нам допомагали два канали комунікації. В Slack інтерни могли звертатися за допомогою. Готових прийти на поміч інтернів було більше, ніж питань, тож зазвичай відповідь знаходили ще до того, як я встигав відреагувати на запитання. Також кожен день вcя група збирались в Zoom на спільний огляд результатів роботи. Кожен інтерн демонстрував роботу виконаного завдання та пояснював, як воно реалізоване в коді. В результаті інтерни навчалися на чужих помилках, могли бачити різні варіанти вирішення задачі та практикували свої здібності як доповідачі. Для спільного доступу до матеріалів сезону ми запустили сайт з лекціями та практичними завданнями. Частина лекції 19-го та 18-го сезонів вже доступна на сайті курсу інтернатури

З кожним сезоном я частково змінюю практичні завдання для інтернів. Інтерни 19 сезону практикувалася працювати з масивами в Java, створюючи консольні хрестики-нолики. Потім ця гра стала основою для практики з ООП. Разом з завданням реалізувати зв’язний список вони показали, які ж проблеми вирішує інкапсуляція. Ця ж гра стали прикладом для мережевої взаємодії в Java. Далі REST API на Spring Boot, HTML/CSS, JavaScript та Angular. Тут все по класиці – тренувалися на todo list-ах. Таким чином за 2 місяці full time підготовки в онлайн форматі ми пройшли необхідний мінімум full stack розробника. 

Після завершення ремонту в нашому офісі на Гоголя ми змогли перейти до другого етапу інтератури – командного проекту.

Читати далі


18 Season of InterLink inCamp – The last stage

Завершальний місяць інтернатури наші майбутні розробники працювали над командним проектом. Він приніс інтернам багато викликів, знайомство з новими підходами та технологіями. А тепер давайте про все по черзі. 

Мабуть найбільшим челенджем для інтернів стало знайомство з чистою архітектурою. Такий підхід до побудови бекенду використовуються на наших ентерпрайз проектах, тож ми вирішили ще з інтернатури починати звикати до нього. Першоджерелами є стаття Роберта Мартіна (a.k.a. Uncle Bob) The Clean Architecture а також гайд Івана Павловича. Іван створив шаблон для ASP.Net Core за принципами Clean Architecture, який ми взяли за основу проекту. На початку було важко зрозуміти навіщо все так ускладнювати і розібратися де які класи створювати. Та вже під кінець інтернатури наш код почав приймати форми, що вже нагадувала Чисту Архітектуру :). 

Img 8215 2

Читати далі



InterLink winter practice 2020

На минулому тижні студенти з ЧДТУ, ЧНУ та ЧДБК показали свої фінальні демо проєктів в рамках 4-ї практики в InterLink. Одна команда розробляла систему для оформлення спільного замовлення їжі в ресторанах України. Друга команда працювала над системою для проведення командних пізнавально-розважальних ігор DreamTeam_Game. Які ж задачі стояли перед командами, як вони їх вирішували та що отримали в результаті? 

Dsc 0798

Спільне замовлення в ресторані 

Декілька разів на тиждень ми в компанії замовляємо їжу з ресторану. Уявімо що Макс, так будуть звати нашого героя, вирішив замовити піцу. Він написав в Slack пропозицію приєднатися до замовлення, щоб зекономити на вартості доставки. Кожен обирає одну чи декілька страв та пише їх назви в тред. Далі Макс на сайті ресторану шукає кожну ставу та додає її до замовлення. Це займає певний час та відволікає його. Плюс до того, він ще й має порахувати, хто ж скільки грошей повинен йому повернути. 

Читати далі


16th season of InterLink inCamp – Third month

Третій місяць 16ї інтернатури розпочався з аналізу вимог до наступного ключового режиму нової HR системи, а саме, соціальних програм. Інтерни підготували прототипи інтерфейсів користувача. Назарій презентував їх ключовим стейкхолдерам продукту: CEO, комерційному директору компанії та головній бджілці HR відділу. На радість інтернам, вони отримали позитивний відгук та декілька пропозицій з покращення UX. І вже з наступного тижня закипіла робота з планування користувацьких історій та їх реалізації. 

Плануючи спрінти, інтерни познайомились з planning poker для оцінки складності історій. Також практикувалися в розбивці історій користувача на технічні задачі. Якщо зі складністю історій все більш менш зрозуміло, то розбиття на технічні задачі заходить важко. Адекватно оцінити скільки часу займе кожна задача, не забути включити всі необхідні кроки, а потім ще й відмічати виконані задачі та скільки часу було по факту витрачено – тут потрібна практика та дисципліна. 

Звісно, було б добре, аби студенти ще в ВУЗі починали знайомство з проєктним підходом в роботі. Наприклад, готуючи та виконуючи плани з реалізації курсових та дипломних робіт. Але ж тут вилазить найзліший ворог не лише студентів – прокрастинація. Кому цікаво, Тім Урбан зазирнув Inside the mind of a master procrastinator і набрав 25 мільйонів переглядів. 

Читати далі


16th season of InterLink inCamp. Second month

Подбиваем итоги второго месяца 16 сезона интернатуры. Обучение в режиме фулл-тайм начали с погружение в Java. За 2 дня прошли все простые задачи по Java на HackerRank. Потом взялись за ООП, юнит тесты и попробовали на практике 3 шаблона проектирования: шаблонный метод, стратегию и композит. Почему именно эти 3? Потому что именно они чаще всего используются при работе с разными фреймворками. Spring весь пропитан “стратегией” и “шаблонным методом”. А SPA фрейворки (Angular, React, Vue) – это один сплошной “композит” из компонентов и шаблонного метода (это уже про lifecycle hooks). 

Дальше нам надо было разобраться с Angular. В нем есть несколько важных концептов: роутинг, подписка на события в компонентах, обработка HTTP запросов, и реактивные (динамических, настраиваемых в коде компонента) формы. Все они построены на базе обозреваемых потоков событий с использованием библиотеки RxJS. RxJS, в свою очередь, это микс реактивного программирования с применением функционального подхода в описании операций над потоком событий. Большинство операторов в RxJS – это функции, которые принимают функцию обработки события в потоке, а возвращают функцию преобразования потока. 

Читати далі


16th season of InterLink inCamp. First month

В 16 сезоне интернатуры мы пробуем новый формат. Первый этап подготовки проходит удаленно. Ребята дома самостоятельно изучают материал. По введению в HTML/CSS и разработке JSON REST API на Node.js я уже записал несколько видео. Остальные темы проходим по отобранным в сети материал. Со временем видео запишем и по ним. Каталог статей и видео еще в зачаточном состоянии. Когда наполним контентом – опубликуем в общий доступ. Альфа-тестировщики приветствуются ;).

Помимо теории у нас, конечно же, были практические задания. Их мы разбирали на периодических встречах в офисе. Собирались минимум два раза в неделю. Кто-то ходил на все, кто-то через раз – тут уже кому как время позволяло. Для тех, кто не смог прийти,

Читати далі


15th Season of InterLink inCamp. Початок кар’єри

После месяца интенсивного изучения технологий ребята, на интернатуре, пришли в большой проект для всей команды. Это была новая HR система. Они внедрили новый дизайн для существующих страниц и сами предлагали решение для новых режимов. Создавали новые и рефакторили существующие Angular компоненты. Создали 5 микросервисов на Spring Framework и заложили фундамент их взаимодействия посредством очереди сообщений.

В процессе интернатуры ребята оттачивали не только hard skills. Откроем вам небольшой секрет, благодаря прокачке soft skills, ребятам удалось открыть новый язык. О каком языке идет речь? Все еще не догадываетесь? 

Читати далі


15th Season of InterLink inCamp

Как и с прошлыми группами интернатуры, мы начали с изучения фронтенда и постепенно шли к бекенду. И конечно, мы стремимся обновлять нашу программу и подходы в подготовке. О всех новинках текущего набора читайте дальше в статье.

Прикладное реактивное программирование

Еще на этапе индивидуальной подготовки мы сделали акцент на реактивном программировании в Angular. Ребята узнали, как разные операторы из набора Reactive Extensions (Rx) помогают эффективно обрабатывать события в браузере. А конкретно, мы сделали навигацию по списку проектов с параллельным отображением задач из текущего проекта. Эта, простая на первый взгляд задача, становиться гараздо сложнее, когда начинаешь делать ее хорошо:

  • Зажав стрелку вверх/вниз, подсветка текущего проекта должна переключаться со скоростью приблизительно в ½ секунды, чтобы пользователь успел отжать клавишу, дойдя до нужного проекта; 
  • Подсветить выбранный проект при клике мышкой мы должны сразу;
  • При этом получать список задач из проекта надо только после определенной задержки, иначе мы завалим сервер лишними запросами; 
  • И в итоге, список задач надо показать именно для проекта, который выбран сейчас. А не тот список, который пришел в последнем ответе от сервера. Если вы работали с асинхронными запросами в браузере (Ajax), то понимаете, о чем я ;).

Читати далі


13th season of InterLink inCamp. First month

Несмотря на число, набор 13 группы интернатуры получился 🔥. Ведь в наши стены вернулись 6 участников зимней практики.

  • Вова “щас, всьо буде”
  • Леха, Lex Botcher, “WebSocket-ы всему протокол”
  • Жека “я вивчив <назва топику> по 4 відео-курсам за вихідні”
  • Макс, jasmine мастер
  • Мирослав, мастер слова и четкой презентации
  • Вадим “не дизмораль”, чат-бот мастер

На практике ребята были в двух разных командах. А сейчас вместе делают маленький, да удаленький проект. Как мы дошли до командного проекта – читайте дальше.

Читати далі