Hi, Habr! It's time to report on the
second internship for developers , which we completed at the end of March. If
last time , in the summer, the program was aimed at children at the level of intern and junior, then this time we took the bar higher and collected junior and middle trainees. It was cool, but everyone had to try, and us, and (especially) the interns :)

Superman firmach about project file structureSelection
The selection system has worked well for the last internship, so we did not significantly change it: the questionnaire at the first stage and the technical test at the second. We received more than two hundred applications, 60 people received test questions, as a result a group of 14 interns was formed - 7 iOS, 7 Android. Everybody got to the end, and 5 people are now working in our team.
Bit hardcore
Due to the fact that the students were really prepared, we carried out a serious cleaning of the plan of lectures and seminars. And in the end it turned out hardcore than the last time.
Classes were held at the Moscow office of Redmadrobot three times a week: on Tuesdays there were general lectures for both platforms, and on Thursday and Friday there were separate seminars in iOS and Android groups directly related to the themes of the general lecture. For 8 weeks we managed to consider the principles of design, work with databases, development of frameworks and libraries, UX and UI, interaction and communication in a team. Traditionally, they didn’t talk about simple and basic things, but tried to share what is difficult or impossible to find on the Internet.
')
Arthur Sakharov ( mc_murphy ), technical director of Redmadrobot“From some of the guys there were requests in the spirit of“ And tell us about reactive programming in Java and Swift ”. This is now fashionable, but we decided not to say anything about React. Want to learn it - go to the Internet, read the article. For the same reason, we removed the Apple Watch lectures - this topic can also be studied from scratch on our own if you wish. We focused on our own experience, which only the Redmadrobot developers can tell. Security, hacking applications, how we develop architecture, what “rakes” can be when working on an interface, and so on. ”
Tea, gingerbread, iOS and AndroidReal project
We took the official API of our client, AlfaStrakhovanie. The interns worked on different scenarios and screens in
this project , used the same server.
Bug work
Egor Taflanidi ( BepTep ), Redmadrobot Architect“In general, as far as iOS is concerned, we have more widely revealed those technologies with which we work in the company ourselves. Opened their own work - all libraries that dealt with both business logic and interface building. They told about the best practices. Last time we did it too, but not so deep. ”
This is an architectural design, baby.We tried to take into account the feedback that we received from the last internship. The main complaints then concerned homework: the hours-long checks on an individual basis and the fact that the tasks themselves (there were 7 different ones) did not always directly correlate with the lecture material. First, we organized a check in groups. For example, on Thursday in one audience there is a seminar for iOS, and at this time in another audience there is an analysis of homework from an Android group, and on the contrary on Friday. And most importantly, now all our tasks were linked in a single project. Therefore, the one who, for some reason, missed or failed in the middle of the internship, made it difficult, and some did not manage to finish the project. At the start, we warned that in order to undergo an internship, you must be prepared to devote 20-25 hours a week to training. It turned out that not everyone was ready for this :)
Maxim Efimov ( MaximEfimov ), head of the Android-development group Redmadrobot“I would say that the internship was more intense. We gave more complex tasks in accordance with the level of training of children. We must pay tribute to them, many worked literally for wear, there were even those who quit their jobs in order to have time to get ready. We have broader security issues, less time devoted to design and UI. ”Interns
The audience was active and responsive. The guys almost from the first days of the internship organized a general chat in Telegram (as well as separately for iOS and Android), through which they communicated and promptly resolved any issues that arose. But there were negative moments in this, for example, cheating :) When someone made a mistake, those who did not have their own firm opinion repeated it, preferring to adopt a public point of view.
Nina Dmitrieva, iOS developer“I really liked the internship, there were a lot more positive moments than negative ones. To be honest - I was delighted, got everything I wanted.
From the general lectures I really liked the block about architectural design. I already knew much of what I was talking about, but the lectures systematized the existing knowledge and supplemented it with new ones. Another cool lecture was on databases. Programmers often use databases, but usually in some small piece, and do not know the rest. We were given a big lecture that affects all aspects, even various cool little things that I had no idea about. If earlier I had some kind of task before me - for example, geometric indices - I would probably write something of my own. We even managed to touch upon the time complexity of structures: when arrays are better, when dictionaries, and so on. There was a good security seminar: how to protect yourself when communicating with the server, how to protect the application itself, so that they do not connect to it from the outside, do not view the data, or simply do not copy passwords. And I also enjoyed the UI and layout exercise. If we talk about the minuses, I would like even more "hint" things - for example, how to cope with some Apple bugs, for example, in terms of the same layout. When faced with something similar during work, sometimes you have to google for half a day. In “Robot”, the guys have already encountered the bulk of such things, and this experience is always very valuable, as it could save others a lot of time. The only thing that was not very useful was the design lecture. ”
Sergey Zarochetsev, Android developer“I liked the lectures on Android security, I never thought about it before.
It was great that during the internship, we did not work on a bunch of small projects, but on one big one. This made us more attentive to architecture, code extension, refactoring.
The guys often talked about real experience, in addition, you could ask questions and get answers to them.
I would like even more extra time for questions. ”
Vladislav Shipugin, Android developer“In principle, all the lectures were interesting and useful, although there were, of course, some banal things known to any good programmer. Especially I would single out lectures on architecture, on JMM for Android and on security - not every programmer will think about this, especially a beginner. Usually they are postponed for later, or never remembered at all, and this causes big problems in further work.
It was necessary to devote a lot of time to doing homework, and not everyone could do it. Some did not cope and just scored. Personally, I had to put aside the institute and quit my job in order to successfully complete the internship, which I don’t regret - I'm here! On the project, we poked around with databases and security, even steganography. It was interesting"!What is the result
We tried to make the second internship better and more interesting than the first. The maximum emphasis was placed on the transfer to the interns of such experience, which they could not get independently and study in open sources. And this time, throughout the internship, the guys worked on the real combat project. As mentioned above, some wanted us to pay more attention to answers to questions and code analysis, so the most diligent trainees received certificates for the Code Review at Redmadrobot, and the top five strengthened our team. Well, we all ate pizza :) Winter internship is definitely not the last - follow the blog announcements.
