AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

У середині березня у Мюнхені пройшла Joint Advanced Student School 2019 (JASS) - тижнева англомовна студентська школа-хакатон++ з розробки програмного забезпечення. Про неї у 2012 році вже писали на Хабре. У цьому пості ми розповімо про школу та поділимося враженнями кількох студентів «з перших рук».

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Кожен код компанія-спонсор (цього року — Zeiss) пропонує ~20 студентам з Німеччини та Росії кілька проектів, а за тиждень команди мають представити свої напрацювання з цих напрямків. Цього року потрібно було зробити відеодзвінки з доповненою реальністю під Android, або придумати і запрототипувати UI для системи predictive maintenance, або взяти участь у секретному Project Cataract.

Вся робота - англійською. Організатори навмисне складають змішані команди з російських та німецьких студентів для (без)культурного обміну. Більше того, за парними роками школа проходить у Росії, а за непарними — у Німеччині. Тож це чудова нагода для студентів різного ступеня підготовки отримати не просто досвід роботи, а досвід спільної роботи з іноземцями.

Проекти та цілі

Щороку школа має компанію-спонсор, яка надає проекти та менторів для студентів. Цього року це була компанія Zeiss, яка займається високоточною оптикою (але не лише!). На початку тижня представники компанії (замовники) представили учасникам три проекти для реалізації, після чого студенти розбилися на команди і протягом тижня робили proof-of-concept.

Цілі школи — культурний обмін між студентами та можливість дати програмістам-початківцям досвід роботи над реальними проектами. На школі не потрібно отримати повністю готову програму, процес більше схожий на R&D: всі проекти пов'язані з діяльністю компанії, і хочеться отримати proof-of-concept, причому такий, щоб було не соромно показати його менеджерам всередині компанії.

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

У кожній команді, крім студентів із різних країн, також був «лідер» — студент-аспірант, який керував командою, роздавав завдання та випромінював знання.

Усього було запропоновано три проекти, про кожен із них розкажуть студенти ВШЕ — Санкт-Петербург, які потрапили на проект

Доповнена реальність

Надія Бугакова (1 курс магістратури) та Наталія Мурашкіна (3 курс бакалаврату): Нам потрібно було портувати програму для відеозв'язку з augmented reality на Android. Така програма була зроблена в рамках іншого місячного хакатону під iOS та HoloLens, але версії під Android не було. Це може бути корисним для спільних обговорень будь-яких спроектованих деталей: одна людина крутить віртуальну деталь і обговорює з рештою.

Прогнозне обслуговування

Всеволод Степанов (1 курс магістратури): На виробництві бувають дорогі роботи, зупиняти яких для технічного обслуговування дорого, але ремонтувати ще дорожче. Робот обвішаний датчиками і хочеться розуміти, коли має сенс зупиняти на техобслуговування - це якраз predictive maintenance. Для цього можна використовувати машинне навчання, але потрібно багато розмічених даних. Також потрібні експерти, які зможуть за графіками хоч щось зрозуміти. Нашим завданням було зробити додаток, який виділяє передбачувані аномалії в даних з датчиків і дозволяє експерту та data scientist'у на них разом подивитися, обговорити та скоригувати модель.

Катаракта

Анна Никифоровська (3 курс бакалаврату): на жаль, нас попросили не розголошувати деталей проекту. Опис та презентацію навіть прибрали із сайту TUM, де лежать інші проекти

Робочий процес

Школа невелика та лампова: цього року в JASS брали участь близько двадцяти студентів різного ступеня підготовки: від першого курсу бакалаврату до тих, хто закінчує магістратуру. Серед них було вісім осіб із Мюнхенського технічного університету (TUM), чотири студенти з пітерського кампусу ВШЕ, ще четверо з Університету ІТМО та один студент ЛЕТИ.

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

Розклад на тиждень виглядав так:

  • Понеділок – день презентацій;
  • Вівторок та середа – два дні роботи;
  • Четвер — день відпочинку, екскурсій та проміжних презентацій (customer's review), щоб можна було обговорити напрямок руху із замовниками;
  • П'ятниця та субота – ще два дні роботи;
  • Неділя – фінальна презентація з вечерею.

Надія Бугакова (1 курс магістратури): Наш робочий день проходив приблизно так: вранці приходимо та стендапимося, тобто всі розповідають, що зробили за вечір і планують зробити вдень. Потім працюємо, по обіді ще один стендап. Дуже заохочували використання дошки із папірцями. Наша команда була більшою за інших: сім студентів, лідер, плюс у нас дуже часто тусувався замовник (йому можна було ставити питання щодо предметної галузі). Часто ми працювали у парах чи навіть трійках. А ще у нас була людина, яка розробляла вихідний додаток під iOS.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Всеволод Степанов (1 курс магістратури): В якомусь сенсі використовувався SCRUM: один день - один спринт, два стендапи на день для синхронізації. В учасників були змішані думки щодо ефективності. Деяким (зокрема мені) здалося, що надто багато балаканини.

Першого дня після презентацій обговорювали план, спілкувалися із замовником, намагалися зрозуміти, що треба зробити. На відміну від команди Наді, з нами замовник упродовж проекту не взаємодіяв. І команда була меншою — 4 студенти.

Анна Никифоровська (3 курс бакалаврату): Насправді правила в командах не те щоб суворо дотримувалися. Спочатку нам було дано багато настанов щодо проведення стендапів, а-ля: все в кружечку, обов'язково стоячи, говорити «я обіцяю». Насправді в моїй команді суворих правил не дотримувалися і стендапи проводилися не тому, що треба, а тому що нас багато, і треба розуміти, хто що робить, синхронізувати зусилля і таке інше. У мене виникло відчуття, що у нас були природні обговорення прогресу та проекту.

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

Подання результатів

Усього було дві презентації: у середині школи та наприкінці. Тривалість – хвилин 20, потім питання. Напередодні перед кожною презентацією учасники проганяли виступ перед професором TUM для тренування.

Всеволод Степанов (1 курс магістратури): Оскільки наші презентації могли показати менеджерам, було важливо наголосити на можливих сценаріях використання. Зокрема, кожна з команд на презентації запилила ще деякий software theater: наживо показували, як технологія може використовуватися. Наша команда зробила прототип веб-додатку, який показали менеджерам UI/UX, вони пораділи.

Надія Бугакова (1 курс магістратури): Ми встигли зробити картинку в AR і з'єднання між телефонами так, щоб одна людина могла крутити об'єкт, а інша спостерігати це в реальному часі. Передавати звук, на жаль, не вдалося.

Цікаво, що команді було заборонено виставляти одного доповідача і на customer's review (презентацію в середині), і на фінальну презентацію, щоб у більшої кількості учасників була можливість виступити.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Неробочий процес та враження

Цього року школа проходила протягом тижня, а не півтора, але програма все одно вийшла досить насиченою. У понеділок, окрім представлення проектів, була екскурсія до офісу Microsoft у Мюнхені. А у вівторок додали екскурсію до невеликого офісу Zeiss у Мюнхені, показали кілька агрегатів для вимірювання оптики деталей: великий рентген для виявлення неточностей виробництва та штуку, яка дозволяє обміряти дрібні деталі дуже точно, проводячи по них щупом.

У четвер була велика поїздка в Оберкохен, де знаходиться штаб-квартира Zeiss. Поєднали багато активностей: і хайкінг, і проміжну презентацію перед замовниками та тусовку.

У неділю після фінальної презентації проектів перед замовниками була організована екскурсія в музей BMW, після чого учасники стихійно організувалися гуляти Мюнхеном. Увечері – прощальна вечеря.

Анна Никифоровська (3 курс бакалаврату): До Оберкохена ми поїхали дуже рано. Для учасників школи було замовлено автобус прямо від готелю. В Оберкохені знаходиться головний офіс Zeiss, тому на попередні презентації наших робіт подивилися не лише «замовники», які працювали безпосередньо з нами, а й хтось важливіший. Спочатку нам провели екскурсію по офісу — від музею історії, де нам показали, як змінювалася індустрія оптики до Zeiss і після Zeiss, до власне робочих місць, де ми побачили різні пристрої для вимірювань/перевірки якихось деталей і як з ними працюють люди . Там майже все захищене NDA і фотографувати не можна. А наприкінці нам навіть показали завод, де виготовляються величезні машини на зразок томографів.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Після екскурсії був гарний обід із співробітниками, а потім самі презентації. Після презентацій ми пішли підніматися на не дуже високу гору, на вершині якої чекало кафе, повністю зняте для нас. Можна було брати все, доки у кафе не закінчилися їжа та напої. А ще там була вежа, з якої відкривався класний вигляд.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Що ще запам'яталося?

Всеволод Степанов (1 курс магістратури): Для того, щоб ми могли погратися з даними, місцевий професор дав нам дані за рік зі своєї Тесли. А потім під приводом "давайте я вам тепер покажу Теслу наживо" він нас на ній покатав. Ще була гірка із четвертого поверху на перший. Стало нудно - спустився, взяв килимок, підвівся, скотився, поклав килимок.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Анна Никифоровська (3 курс бакалаврату): Знайомства – це завжди дуже круто. Знайомство з цікавими людьми — крутіше подвійно. Знайомство з цікавими людьми, з якими можна ще й разом попрацювати, — круто втричі. Ну, ви зрозуміли, людина істота соціальна, і програмісти винятком не є.

А що запам'яталося у роботі?

Анна Никифоровська (3 курс бакалаврату): Було весело, про все можна було питати та уточнювати. А ще традиція німців стукати по столах лекторам: виявляється, у них прийнято відокремлювати промову академіків від решти. І людині з академічної сфери (лектор, професор, старший студент, etc) прийнято стукати по столу на знак схвалення/подяки за лекцію. Решта ж (представникам компаній, звичайним людям, акторам у театрі) прийнято аплодувати. Чому так? Один із німців як жарти-пояснення сказав: «Ну, просто коли лекція закінчується, всі однією рукою вже прибирають речі, так що плескати не зручно».

Всеволод Степанов (1 курс магістратури): Цікаво, що серед учасників були не лише програмісти, а й, наприклад, робототехніки. Хоча всі проекти та школа загалом за кодингом.

Також був досить гарний зворотний зв'язок у плані презентацій. Особливо корисно було тим, кого не мучили цим кожен семестр протягом усього бакалаврату.

Надія Бугакова (1 курс магістратури): Тикатися в AR було весело. А ще у мене тепер є класна програма на телефоні, яку я можу показувати.

Побутові умови

Організатори оплачували практично все: переліт, проживання за дві зупинки від університету, де йшла основна робота, харчування. Сніданок — в готелі, обід — в університеті, вечеря або разом з організаторами в кафе, або в офісі якоїсь компанії.

В університеті кожна команда мала свою кімнату з дошкою. Іноді ще чимось: наприклад, у однієї команди був кікер, а в іншої команди — багато вільних iMac'ів, за якими можна було працювати.

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Всеволод та Надія: Працювали ми зазвичай до 21. Ще була кімната 24/7 з лимонадом і 3-4 рази на день приносили туди ніштяки (бутерброди, бретцелі, фрукти), але це досить швидко з'їдалося.

Кому порадите?

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

Анна Никифоровська (3 курс бакалаврату): Не варто боятися, якщо вам здається, що у вас недостатньо знань, досвіду чого завгодно. На JASS були люди з різним бекграундом, від першого до п'ятого курсу, з різним досвідом роботи та різним досвідом хакатонів/олімпіад/шкіл. В результаті команди були дуже якісно сформовані (принаймні моя точно). І в нас кожен щось робив і кожен чогось навчався.

Так, ви можете дізнатися щось нове, спробувати себе у прискореній розробці, подивитися, як розкриваєтеся в умовах обмеженого часу та вразитись, що можете так багато у короткий термін. На мій погляд, при цьому, порівняно з олімпіадами чи звичайними хакатонами, сильно знижено рівень стресу та поспіху. Тож здивування та задоволення від зробленого є, а тривоги та іншого немає. І я вважаю, що це чудово. Для себе я, наприклад, з'ясувала, що можу помітити, якщо робота розподілена в команді якось не так і навіть сприяти виправленню цього. Я вважаю це власною невеликою перемогою у сфері communication and leadership skills.

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

AR, робототехніка та катаракта: як ми з'їздили на російсько-німецьку школу з програмування

Джерело: habr.com

Додати коментар або відгук