AR, robotics and cataract: how we went to the Russian-German school of programming

    In mid-March in Munich, the Joint Advanced Student School 2019 (JASS) was held - a weekly English-language student hackathon ++ school for software development. About it in 2012 already wrote on Habré . In this post we will talk about the school and share the impressions of several first-hand students.

    Every year, the sponsoring company (this year Zeiss) offers ~ 20 students from Germany and Russia several projects, and in a week the teams should present their achievements in these areas. This year it was necessary to either make video calls with augmented reality for Android, or to come up with and prototype UI for the predictive maintenance system, or to participate in the secret Project Cataract.

    All work is in English. The organizers purposely composed mixed teams of Russian and German students for a (demon) cultural exchange. Moreover, in even-numbered years, the school takes place in Russia, and in odd-numbered years, in Germany. So this is a great opportunity for students of varying degrees of preparation to get not just work experience, but the experience of working with foreigners.

    Projects and Goals

    Every year, the school has a sponsor company that provides projects and mentors for students. This year it was the Zeiss company, which is engaged in high-precision optics (but not only!). At the beginning of the week, company representatives (“customers”) presented three projects for implementation to the participants, after which the students broke up into teams and made a proof-of-concept for a week.

    The goals of the school are a cultural exchange between students and the opportunity to give novice programmers experience working on real projects. At school, you do not need to get a fully finished application, the process is more like R&D: all projects are related to the company’s activities, and you want to get a proof-of-concept, so that it would not be embarrassing to show it to managers within the company.

    The main differences from the hackathon: more time for development, there are excursions and other entertainments, and there is still no competition between teams. As a result, there is no goal to “win” - all projects are independent.

    In addition to students from different countries, each team also had a “leader” - a graduate student who managed the team, distributed tasks and radiated knowledge.

    In total, three projects were proposed ; HSE students from St. Petersburg who came to the project will tell about each of them.

    Augmented Reality

    Nadezhda Bugakova (1st year of master's program) and Natalya Murashkina (3rd year of undergraduate): We needed to port the video-communication application from augmented reality to Android. Such an application was made as part of another monthly hackathon for iOS and HoloLens, but there was no version for Android. This can be useful for joint discussions of some designed parts: one person turns a virtual part and discusses with the rest.

    Predictive maintenance

    Vsevolod Stepanov (1st year of master's program): There are expensive robots at the factory, which are expensive to stop for maintenance, but even more expensive to repair. The robot is hung with sensors and I want to understand when it makes sense to stop maintenance - this is just predictive maintenance. Machine learning can be used for this, but a lot of tagged data is required. We also need experts who can understand at least something on the charts. Our task was to make an application that highlights the alleged anomalies in the data from the sensors and allows the expert and data scientist to look at them together, discuss and adjust the model.


    Anna Nikiforovskaya (3 year undergraduate): unfortunately, we were asked not to disclose the details of the project. The description and presentation was even removed from the TUM website , where the rest of the projects are.

    The working process

    The school is small and lamp-shaped: this year about twenty students of various degrees of preparation participated in JASS: from the first undergraduate course to those who graduate from the magistracy. Among them were eight people from the Technical University of Munich (TUM), four students from the HSE campus in St. Petersburg, four more from ITMO University and one student from LETI.

    All the work is in English, the teams are specially almost equally composed of German-speaking and Russian-speaking guys. There is no interaction between the projects, except that at lunch everyone was mixed up. Inside the project, synchronization through Slack and a physical board on which you can glue paper with tasks.

    Schedule for the week looked like this:

    • Monday is the day of presentations;
    • Tuesday and Wednesday - two days of work;
    • Thursday is a day of rest, excursions and intermediate presentations (customer's review), so that you can discuss the direction of movement with customers;
    • Friday and Saturday - two more days of work;
    • Sunday is the final presentation with dinner.

    Nadezhda Bugakova (1st year of magistracy): Our working day went like this: we arrive and stand up in the morning, that is, everyone tells what they did in the evening and plan to do in the afternoon. Then we work, after lunch - another stand-up. We greatly encouraged the use of paper boards. Our team was larger than the rest: seven students, a leader, plus we often had a customer hanging out (he could be asked questions in the subject area). Often we worked in pairs or even triples. And we also had a person who was developing the original application for iOS.

    Vsevolod Stepanov (1 year of master's program):In a sense, SCRUM was used: one day - one sprint, two standups per day for synchronization. Participants had mixed opinions about effectiveness. To some (including me) it seemed that there was too much talk.

    On the first day after the presentations, we discussed the plan, talked with the customer, tried to understand what needs to be done. Unlike the Nadi team, the customer did not interact with us during the project. And the team was smaller - 4 students.

    Anna Nikiforovskaya (3 year undergraduate course):In fact, team rules are not strictly enforced. Initially, we were given a lot of instructions on conducting standups, a la: everyone in the circle, always standing, saying "I promise." In reality, my team did not adhere to strict rules and standups were held not because it was necessary, but because there were a lot of us, and we needed to understand who was doing what, synchronized efforts, and so on. I got the feeling that we had a natural discussion of progress and the project.

    In my project, the customer did not understand anything in programming, but understood only in optics. This turned out to be very cool: for example, he explained to us what the brightness of lighting and exposure are. He was very involved in throwing metrics and ideas. During development, we constantly showed him an intermediate result and received instant feedback. And with the technical side, the leader helped us a lot: practically no one in the team worked with two popular technologies, and the leader could tell about it.

    Presentation of Results

    There were two presentations in total: in the middle of the school and at the end. Duration - 20 minutes, then questions. The day before each presentation, the participants chased a presentation to a TUM professor for training.

    Vsevolod Stepanov (1st year of master's program): Since our presentations could be shown to managers, it was important to focus on possible use cases. In particular, each of the teams at the presentation saw some more software theater: they showed live how development can be used. Our team eventually made a prototype web application, which was shown to the UI / UX managers, they were happy.

    Nadezhda Bugakova (1 year of master's program):We managed to make a picture in AR and the connection between the phones so that one person could rotate the object, and the other - to watch it in real time. Unfortunately, it failed to transmit sound.

    Interestingly, the team was forbidden to exhibit the same speaker both at the customer's review (presentation in the middle) and at the final presentation, so that more participants had the opportunity to speak.

    Non-working process and impressions

    This year the school was held for a week, and not one and a half, but the program still turned out to be quite saturated. On Monday, in addition to presenting projects, there was an excursion to the Microsoft office in Munich. And on Tuesday they added an excursion to a small Zeiss office in Munich, showed several units for measuring the optics of parts: a large X-ray to detect manufacturing inaccuracies and a piece that allows you to measure small parts very accurately by conducting a probe on them.

    On Thursday there was a big trip to Oberkochen, where Zeiss headquarters is located. They combined a lot of activities: hiking, and an intermediate presentation in front of customers and hanging out.

    On Sunday, after the final presentation of the projects, an excursion to the BMW Museum was organized before customers, after which the participants spontaneously organized a walk around Munich. In the evening - a farewell dinner.

    Anna Nikiforovskaya (3 year undergraduate course):We went to Oberkochen very early. For school participants, a bus was ordered directly from the hotel. Zeiss head office is located in Oberkochen, so not only the “customers” who worked directly with us looked at the preliminary presentations of our work, but also someone more important. First, we had a tour of the office - from the Museum of History, where we were shown how the optical industry changed before Zeiss and after Zeiss, to the actual workplaces, where we saw a variety of devices for measuring / checking some details and how people work with them . There, almost everything is protected by the NDA and you can’t take pictures. And in the end we were even shown a factory where huge machines like tomographs are made.

    After the tour there was a good lunch with the staff, and then the presentations themselves. After the presentations, we went to climb a not-so-high mountain, on top of which there was a cafe that was completely rented for us. You could take everything until the cafe ran out of food and drinks. And there was also a tower from which a cool view opened up.

    What else do you remember?

    Vsevolod Stepanov (1st year of master's program): In order for us to play with the data, a local professor gave us data for the year from his Tesla. And then under the pretext of “Let me show you Tesla live now,” he drove us on it. There was also a slide from the fourth floor to the first. It became boring - went down, took a rug, got up, rolled down, put down a rug.

    Anna Nikiforovskaya (3 year undergraduate): Dating is always very cool. Getting to know interesting people is doubly cooler. Getting to know interesting people with whom you can also work together is a triple cool. Well, you understand, a person is a social being, and programmers are no exception.

    And what was remembered for work?

    Anna Nikiforovskaya (3 year undergraduate): It was fun, you could ask and clarify everything. And also the German tradition of knocking lecturers on the tables: it turns out that it is customary for them to separate the speech of academics from everyone else. And it is customary for a person from the academic sphere (lecturer, professor, senior student, etc) to knock on the table as a sign of approval / thanks for the lecture. The rest (company representatives, ordinary people, actors in the theater) decided to applaud. Why is that? One of the Germans said as a joke-explanation: “Well, just when the lecture ends, everyone with one hand takes things away, so clapping is not convenient.”

    Vsevolod Stepanov (1st year of master's program ): It is interesting that among the participants were not only programmers, but also, for example, robotics. Although all projects and the school as a whole are coding.

    There was also pretty good feedback in terms of presentations. It was especially useful to those who were not tormented by this every semester throughout the entire baccalaureate.

    Nadezhda Bugakova (1 year of master's program ): Poking at AR was fun. And now I have a cool application on my phone that I can show.

    Living conditions

    The organizers paid for almost everything: a flight, accommodation at two stops from the university, where the main work was going on, meals. Breakfast - at the hotel, lunch - at the university, dinner - either with the organizers in a cafe or in the office of a company.

    At the university, each team had its own room with a board. Sometimes something else: for example, one team had a kicker, and the other team had many free iMacs that could be worked on.

    Vsevolod and Nadezhda: We usually worked until 21. There was still a room 24/7 with lemonade and 3-4 times a day brought nishtyaks (sandwiches, bretzels, fruits), but it was eaten pretty quickly.

    Who would you recommend?

    Vsevolod and Hope: To all bachelor-programmers! You should know English, but it's a great experience. You can try all sorts of fashionable things.

    Anna Nikiforovskaya (3 year undergraduate): Do not be afraid if you think that you do not have enough knowledge, experience, anything. At JASS there were people with a very different background, from the first to the fifth year, with different work experience and different experience of hackathons / olympiads / schools. As a result, the teams were very well-formed (in any case, mine for sure). And with us everyone did something and everyone learned something.

    Yes, you can learn something new, try yourself in accelerated development, see how you open up in a limited time and be impressed that you can do so much in a short time. In my opinion, at the same time, compared with the Olympics or ordinary hackathons, the level of stress and rush is greatly reduced. So there is surprise and pleasure from what has been done, but there is no anxiety and other things. And I think this is great. For myself, for example, I found out that I can notice if the work is distributed in a team somehow wrong and even contribute to correcting this. I consider this my own small victory in the field of communication and leadership skills.

    Communication with people is also a very cool component. Do not worry if you think that you do not know English well. If you are engaged in programming, then you probably have to read a lot of English literature. So if you lack the communication skill, then a complete immersion in the English-speaking environment will definitely teach you this. Our team consisted of people who were initially not sure of their knowledge of English and were constantly worried that they missed something or didn’t say so, but by the end of the school they were chatting quietly and not just for work.

    Also popular now: