AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

W połowie marca odbył się w Monachium Wspólna Zaawansowana Szkoła Uczniowska 2019 (JASS) - tygodniowa anglojęzyczna szkoła hackathon++ dla studentów z zakresu tworzenia oprogramowania. O niej w 2012 roku pisałem już o Habré. W tym poście porozmawiamy o szkole i podzielimy się wrażeniami z pierwszej ręki kilku uczniów.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Każda firma sponsorująca kod (w tym roku Zeiss) oferuje ~20 studentom z Niemiec i Rosji kilka projektów, a po tygodniu zespoły muszą zaprezentować swoją pracę w tych obszarach. W tym roku trzeba było albo prowadzić rozmowy wideo w rzeczywistości rozszerzonej dla Androida, albo wymyślić i prototypować interfejs użytkownika dla systemu konserwacji predykcyjnej, albo wziąć udział w tajnym Projekcie Cataract.

Wszystkie prace są w języku angielskim. Organizatorzy celowo tworzą mieszane zespoły studentów rosyjskich i niemieckich w celu (nie)kulturowej wymiany. Ponadto w latach parzystych szkoła odbywa się w Rosji, a w latach nieparzystych - w Niemczech. Jest to więc świetna okazja dla studentów o różnym stopniu przygotowania, aby zdobyć nie tylko doświadczenie zawodowe, ale także doświadczenie we współpracy z obcokrajowcami.

Projekty i cele

Co roku szkoła współpracuje z firmą sponsorującą, która zapewnia uczniom projekty i mentorów. W tym roku był to Zeiss, który zajmuje się optyką o wysokiej precyzji (i nie tylko!). Na początku tygodnia przedstawiciele firmy („klienci”) przedstawili uczestnikom trzy projekty do wdrożenia, po czym uczniowie podzielili się na zespoły i spędzili tydzień na sprawdzaniu koncepcji.

Celem szkoły jest wymiana kulturalna pomiędzy uczniami oraz możliwość zapewnienia początkującym programistom doświadczenia w pracy nad prawdziwymi projektami. W szkole nie trzeba mieć całkowicie gotowego wniosku, proces przypomina bardziej prace badawczo-rozwojowe: wszystkie projekty są powiązane z działalnością firmy, a ty chcesz uzyskać proof-of-concept, a taki, którego nie będziesz wstydzi się pokazywać to menedżerom w firmie.

Główne różnice w porównaniu z hackatonem: więcej czasu na rozwój, są wycieczki i inna rozrywka oraz brak rywalizacji między zespołami. W rezultacie nie ma celu „wygrać” - wszystkie projekty są niezależne.

Każdy zespół, oprócz studentów z różnych krajów, miał także „lidera” – absolwenta, który zarządzał zespołem, rozdzielał zadania i promieniował wiedzą.

Razem było zaproponowano trzy projekty, HSE – O każdym z nich opowiedzą petersburscy studenci, którzy wzięli udział w projekcie.

Augmented Reality

Nadieżda Bugakowa (studia magisterskie I roku) i Natalya Murashkina (studia licencjackie III roku): Musieliśmy przenieść aplikację do komunikacji wideo z rozszerzoną rzeczywistością na Androida. Taka aplikacja powstała w ramach kolejnego miesięcznego hackathonu na iOS i HoloLens, nie było jednak wersji na Androida. Może to być przydatne przy wspólnych dyskusjach na temat niektórych zaprojektowanych części: jedna osoba kręci wirtualną część i omawia ją z resztą.

Konserwacja predykcyjna

Wsiewołod Stiepanow (studia magisterskie I roku): W produkcji znajdują się drogie roboty, których zatrzymanie w celu konserwacji jest kosztowne, ale ich naprawa jest jeszcze droższa. Robot jest pokryty czujnikami i chcesz wiedzieć, kiedy ma sens zatrzymanie się w celu konserwacji - to jest właśnie konserwacja predykcyjna. Można w tym celu wykorzystać uczenie maszynowe, ale wymaga to dużej ilości oznakowanych danych. Potrzebujemy też ekspertów, którzy chociaż coś zrozumieją z wykresów. Naszym zadaniem było stworzenie aplikacji, która uwydatni podejrzane anomalie w danych z czujników i umożliwi ekspertowi i analitykowi danych wspólne przyjrzenie się im, omówienie i dostosowanie modelu.

Zaćma

Anna Nikiforowska (studia licencjackie III roku): Niestety poproszono nas o nieujawnianie szczegółów projektu. Opis i prezentacja zostały nawet usunięte ze strony internetowej TUM, gdzie znajduje się reszta projektów.

Proces pracy

Szkoła jest mała i kameralna: w tym roku w JASS wzięło udział około dwudziestu uczniów o różnym stopniu przygotowania: od pierwszego roku studiów licencjackich po kończących studia magisterskie. Wśród nich znalazło się osiem osób z Politechniki Monachium (TUM), czterech studentów z petersburskiego kampusu Wyższej Szkoły Ekonomicznej, czterech kolejnych z Uniwersytetu ITMO i jeden student LETI.

Cała praca jest w języku angielskim, zespoły składają się prawie w równym stopniu z chłopaków niemieckojęzycznych i rosyjskojęzycznych. Nie ma interakcji pomiędzy projektami, z wyjątkiem tego, że wszyscy mieszali się podczas lunchu. Wewnątrz projektu istnieje synchronizacja poprzez Slacka oraz fizyczna tablica, na którą można wklejać kartki z zadaniami.

Tygodniowy harmonogram wyglądał następująco:

  • Poniedziałek jest dniem prezentacji;
  • Wtorek i środa – dwa dni pracy;
  • Czwartek to dzień odpoczynku, wycieczek i prezentacji przejściowych (przegląd klienta), tak aby można było omówić z klientami kierunek ruchu;
  • Piątek i sobota - kolejne dwa dni pracy;
  • Niedziela – prezentacja końcowa z kolacją.

Nadieżda Bugakowa (I rok studiów magisterskich): Nasz dzień pracy wyglądał mniej więcej tak: przychodzimy rano i robimy stand-up, czyli każdy opowiada nam, co robił wieczorem i planuje robić w ciągu dnia. Potem pracujemy, po obiedzie – kolejny stand-up. Gorąco zachęcano do korzystania z tektury. Nasz zespół był większy od pozostałych: siedmiu uczniów, lider i klient, który bardzo często się z nami spotykał (można było mu zadawać pytania z danej dziedziny). Często pracowaliśmy w parach, a nawet trójkach. Mieliśmy też osobę, która opracowała autorską aplikację na iOS.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Wsiewołod Stiepanow (studia magisterskie I roku): W pewnym sensie zastosowano SCRUM: jeden dzień - jeden sprint, dwa stand-upy dziennie na synchronizację. Uczestnicy mieli mieszane opinie na temat skuteczności. Niektórzy (w tym ja) uważali, że było za dużo gadania.

Pierwszego dnia po prezentacjach omawialiśmy plan, rozmawialiśmy z klientem i próbowaliśmy zrozumieć, co należy zrobić. W przeciwieństwie do zespołu Nadii, klient nie miał z nami żadnego kontaktu podczas realizacji projektu. A zespół był mniejszy – 4 uczniów.

Anna Nikiforowska (studia licencjackie III roku): W rzeczywistości zasady panujące w zespołach nie były ściśle przestrzegane. Na początku dostawaliśmy mnóstwo instrukcji, jak wykonywać stand-upy, a la: wszyscy w kręgu, zawsze stojący i mówiący „Obiecuję”. Tak naprawdę mój zespół nie trzymał się sztywnych zasad i stand-upy odbywały się nie dlatego, że musiały, ale dlatego, że jest nas wielu i musimy zrozumieć, kto co robi, zsynchronizować wysiłki i tak dalej. Miałem wrażenie, że odbyliśmy naturalną dyskusję na temat postępów i projektu.

W moim projekcie klient nie rozumiał nic z programowania, a jedynie rozumiał optykę. Okazało się, że jest bardzo fajnie: na przykład wyjaśnił nam, czym jest jasność oświetlenia i ekspozycja. Był bardzo zaangażowany w podrzucanie wskaźników i pomysłów. Podczas opracowywania stale pokazywaliśmy mu wynik pośredni i otrzymywaliśmy natychmiastową informację zwrotną. A lider bardzo nam pomógł od strony technicznej: praktycznie nikt w zespole nie pracował z dwiema popularnymi technologiami, a lider potrafił o tym rozmawiać.

Prezentacja wyników

W sumie odbyły się dwie prezentacje: w środku szkoły i na jej końcu. Czas trwania: 20 minut, potem pytania. Dzień przed każdą prezentacją uczestnicy ćwiczyli swoją prezentację przed profesorem z TUM.

Wsiewołod Stiepanow (studia magisterskie I roku): Ponieważ nasze prezentacje można było pokazywać menedżerom, ważne było podkreślenie możliwych przypadków użycia. W szczególności każdy z zespołów stworzył podczas prezentacji więcej teatru oprogramowania: pokazywał na żywo, jak można wykorzystać rozwój. Nasz zespół ostatecznie wykonał prototyp aplikacji internetowej, który został pokazany menadżerom UI/UX i byli zadowoleni.

Nadieżda Bugakowa (I rok studiów magisterskich): Udało się stworzyć obraz w AR i połączenie między telefonami, tak aby jedna osoba mogła kręcić obiektem, a druga mogła go oglądać w czasie rzeczywistym. Niestety nie udało się przesłać dźwięku.

Co ciekawe, zespołowi zakazano obecności tego samego mówcy zarówno podczas recenzji klienta (prezentacja w środku), jak i podczas prezentacji końcowej, aby więcej uczestników miało możliwość zabrania głosu.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Poza procesem pracy i wrażeniami

W tym roku szkoła trwała tydzień, a nie półtora, ale program i tak okazał się dość intensywny. W poniedziałek oprócz prezentacji projektów odbyła się wycieczka do biura Microsoft w Monachium. A we wtorek dodali wycieczkę do małego biura Zeissa w Monachium, pokazując kilka urządzeń do pomiaru optyki części: duży aparat rentgenowski do wykrywania niedokładności produkcyjnych oraz urządzenie, które pozwala bardzo dokładnie zmierzyć małe części za pomocą sondy nad nimi.

W czwartek odbył się duży wyjazd do Oberkochen, gdzie mieści się siedziba firmy Zeiss. Połączyliśmy wiele działań: piesze wędrówki, pośrednią prezentację dla klientów i imprezę.

W niedzielę, po końcowej prezentacji projektów klientom, zorganizowano wycieczkę do Muzeum BMW, po której uczestnicy spontanicznie zorganizowali spacer po Monachium. Wieczorem odbywa się pożegnalna kolacja.

Anna Nikiforowska (studia licencjackie III roku): Do Oberkochen pojechaliśmy bardzo wcześnie. Bezpośrednio z hotelu zamówiono autobus dla uczniów szkoły. Siedziba Zeissa mieści się w Oberkochen, więc wstępne prezentacje naszej pracy obejrzeli nie tylko „klienci”, którzy współpracowali z nami bezpośrednio, ale także ktoś ważniejszy. Najpierw oprowadzono nas po biurze – od muzeum historycznego, gdzie pokazano nam, jak zmieniał się przemysł optyczny przed Zeissem i po Zeissie, po rzeczywiste miejsca pracy, gdzie zobaczyliśmy różne urządzenia do pomiaru/kontroli niektórych części i jak ludzie z nimi pracują. Prawie wszystko jest tam chronione NDA, a fotografowanie jest zabronione. A na koniec pokazano nam nawet fabrykę, w której produkowane są ogromne maszyny, takie jak tomografy.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Po wycieczce odbył się miły lunch z obsługą, a następnie same prezentacje. Po prezentacjach udaliśmy się na niezbyt wysoką górę, na szczycie której czekała kawiarnia, całkowicie dla nas sfilmowana. Można było zabrać wszystko, aż w kawiarni zabrakło jedzenia i napojów. Była tam także wieża, z której roztaczał się fajny widok.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Co jeszcze pamiętasz?

Wsiewołod Stiepanow (studia magisterskie I roku): Abyśmy mogli pobawić się danymi, miejscowy profesor przekazał nam dane pochodzące ze swojej Tesli za rok. A potem pod pretekstem „pokażę wam teraz Teslę na żywo” zabrał nas nim na przejażdżkę. Była też zjeżdżalnia z czwartego piętra na pierwsze. Zrobiło się nudno – zszedłem na dół, wziąłem matę, wstałem, zjechałem, odłożyłem matę.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Anna Nikiforowska (studia licencjackie III roku): Randki są zawsze bardzo fajne. Spotkanie ciekawych ludzi jest podwójnie fajne. Spotkanie ciekawych ludzi, z którymi można także współpracować, jest potrójnie fajne. Cóż, rozumiesz, ludzie są istotami społecznymi, a programiści nie są wyjątkiem.

Co pamiętasz z pracy?

Anna Nikiforowska (studia licencjackie III roku): Było fajnie, można było o wszystko zapytać i wyjaśnić. Jest też niemiecka tradycja pukania do biurek wykładowców: okazuje się, że zwyczajem jest oddzielanie przez nich przemówień pracowników naukowych od pozostałych. A zwyczajem jest, że osoba ze środowiska akademickiego (wykładowca, profesor, starszy student itp.) puka w stół na znak aprobaty/wdzięczności za wykład. Pozostali (przedstawiciele firm, zwykli ludzie, aktorzy teatralni) są zwykle oklaskiwani. Dlaczego? Jeden z Niemców w ramach żartu powiedział: „No cóż, po prostu jak kończy się wykład, to wszyscy już jedną ręką odkładają rzeczy, więc nie wypada klaskać”.

Wsiewołod Stiepanow (studia magisterskie I roku): Co ciekawe, wśród uczestników znaleźli się nie tylko programiści, ale także np. robotycy. Chociaż wszystkie projekty i szkoła jako całość dotyczą kodowania.

Całkiem dobre opinie spotkały się także z prezentacjami. Było to szczególnie przydatne dla tych, których nie dręczyło to w każdym semestrze studiów licencjackich.

Nadieżda Bugakowa (I rok studiów magisterskich): Grzebanie w AR było świetną zabawą. Mam też teraz fajną aplikację na telefonie, którą mogę pokazać.

Warunki życia

Organizatorzy opłacili niemal wszystko: przeloty, zakwaterowanie dwa przystanki od uczelni, gdzie odbywały się główne prace, wyżywienie. Śniadanie – w hotelu, obiad – na uczelni, kolacja – albo razem z organizatorami w kawiarni, albo w biurze jakiejś firmy.

Na uniwersytecie każdy zespół miał swoją salę z tablicą. Czasami coś innego: na przykład jedna drużyna miała kickera, a druga dużo darmowych komputerów iMac do pracy.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Wsiewołod i Nadieżda: Zwykle pracowaliśmy do 21. Była też całodobowa sala z lemoniadą i 24-7 razy dziennie przynoszono tam smakołyki (kanapki, precle, owoce), które jednak dość szybko były zjadane.

Kogo byś polecił?

Wsiewołod i Nadieżda: Do wszystkich programistów licencjackich! Znajomość języka angielskiego jest kosztowna, ale jest to wspaniałe doświadczenie. Możesz wypróbować najróżniejsze modne rzeczy.

Anna Nikiforowska (studia licencjackie III roku): Nie bój się, jeśli czujesz, że nie masz wystarczającej wiedzy, doświadczenia, czegokolwiek. W JASS pracowały osoby z różnych środowisk, od pierwszego do piątego roku, z różnymi doświadczeniami zawodowymi i różnymi doświadczeniami związanymi z hackatonami/olimpiadami/szkołami. W rezultacie zespoły były bardzo dobrze uformowane (przynajmniej moje na pewno). A u nas każdy coś zrobił i każdy się czegoś nauczył.

Tak, możesz nauczyć się czegoś nowego, spróbować swoich sił w przyspieszonym rozwoju, zobaczyć jak rozwijasz się w ograniczonym czasie i być pod wrażeniem, że możesz zrobić tak wiele w krótkim czasie. Moim zdaniem w porównaniu z olimpiadami czy zwykłymi hackatonami poziom stresu i pośpiechu jest znacznie zmniejszony. Jest więc zaskoczenie i przyjemność z tego, co zostało zrobione, ale nie ma niepokoju ani niczego innego. I myślę, że to wspaniałe. Na sobie na przykład przekonałem się, że potrafię zauważyć, jeśli praca jest w jakiś sposób nieprawidłowo rozłożona w zespole i nawet przyczynić się do jej poprawienia. Uważam to za swoje małe zwycięstwo w obszarze umiejętności komunikacyjnych i przywódczych.

Komunikacja z ludźmi to także bardzo fajny element. Nie martw się, jeśli uważasz, że nie znasz dobrze angielskiego. Jeśli zajmujesz się programowaniem, prawdopodobnie musisz przeczytać dużo literatury anglojęzycznej. Jeśli więc brakuje Ci umiejętności komunikacyjnych, to całkowite zanurzenie się w anglojęzycznym środowisku na pewno Cię tego nauczy. Mieliśmy w naszym zespole osoby, które początkowo nie były pewne swojej znajomości języka angielskiego i ciągle się martwiły, że coś przeoczyły lub powiedziały coś złego, ale pod koniec szkoły rozmawiały już spokojnie i nie tylko o pracy.

AR, robotyka i zaćma: jak chodziliśmy do rosyjsko-niemieckiej szkoły programowania

Źródło: www.habr.com

Dodaj komentarz