Fourth: winter internship at Redmadrobot

For the fourth time, we selected 20 iOS and Android developers and taught them how to write code like robots. And although the robot algorithms are (practically) perfect, every year we roll updates. How the system has changed this year, internship organizers say.
In our program
There are things that remain unchanged - every year we revise the internship program based on changes in technology, the new experience of the team and feedback from the interns of the previous set. What seemed complicated is easier to explain, on the contrary, we immerse in more detail some issues. We are talking about the current technology stack that we use, and how the processes of robots are built.
Artem Kulakov, Android Team Lead:- For example, CI was thrown out of the Android program, because it is quite simple and not too interesting. We updated something and added new lectures - this year Google finally introduced a normal ORM, and as part of the course we talked about how to work with it. We did not repeat the video from the presentation, but examined in detail how to design databases from scratch, how the process is built, what components are present in it, and how it all works with the new Google solution.
Ivan Vavilov, iOS Team Lead:- Over the past year, we have greatly changed the Continuous Integration process within the company, and general and special testing lectures appeared in the internship program. We also took into account popular testing tools and CI, such as Xcode UI tests, Snapshot tests, Fastlane and Danger.
There is even more security. We talked about something in a new way: for example, the list of OWASP Mobile Top 10 threats was updated, and something remains relevant always - as a practice of (in) storing confidential information in code.
Artem Kulakov, Android Team Lead:
- We paid a lot of attention to the UI, because we all sorted out the guts more or less, but the interfaces left much to be desired. Last year, we talked about the basic things about material design, this one showed more interesting tin: animations, preparing layouts, custom views, and so on. Not all developers love and know how to do UI - in this area there are always fewer specialists than those who like to delve “under the hood”. And few designers can make interfaces that can be implemented without pain.
About selection
We had a little more than 200 applications from Android developers and 150 on iOS. As a result, they took 20 interns - 10 per platform. Robot internships are not for beginners - but for those who already know how, we can give good growth and an invitation to work.
Ivan Vavilov, iOS Team Lead:
- All who submit us applications, I divide into three categories. Those who never wrote under iOS and want to learn - they don’t get to us, because they simply don’t understand anything. The second type: people with more than 7 years of experience in development who want to switch to iOS - we are sure that such people can pump themselves and come to us for an interview. The internship is designed for those who are very interested in growing and working in a company like ours: many projects, the need to quickly learn new solutions, and so on. Therefore, we take those who have already worked in iOS, and give them the opportunity to try new architectural approaches, approaches to setting up projects and ensuring security.
Artem Kulakov, Android Team Lead:
- In Redmadrobot, we do things that the average developer either did not know about or could not try. Often in the product team, 1-2 developers saw the application from year to year, not having the opportunity to try something fundamentally new - Room, Clean Architecture, Kotlin - and this can be seen from the answers to the questionnaire. The knowledge that we give will be useful only to those who have already twisted in projects. We do not take completely green developers, because they are not for us, we do not take mature specialists who want to change their specialization, for example, switch from mobile backend to mobile development, because it is unlikely that it will be useful for them. Very few people get on the internship, and these should be people who want to study and to whom we can give something useful. Hiring is important, but we also set educational goals.
How was it
As usual: general lectures on theory and special topics on platforms, plus homework. Checking homework and parsing errors is one of the main advantages of robot internships. We tried to optimize the process in terms of time and labor, but at the same time we examined the work of everyone and answered all questions that arise.
This year, both groups wrote applications similar to robot combat projects. Android developers wrote a GitHub client, and the iOS team wrote an application similar to one of our projects.
Ivan Vavilov, iOS Team Lead:
- By the way a person behaves in lectures: how he listens, how he asks questions, and how then he performs assignments, it is clear how well he understands, and we convey the material. When one intern does the job well and the other does poorly, one understands and the other does not. If the whole group does poorly, we have a bad story. On average, 1-2 people do not reach the end of the internship. We take this calmly, but in our team we want to see those who have done all the tasks, albeit not perfectly.
Roman Rulin, intern:- Reading the feedback from interns of previous years, I realized that it would not be easy. The competitive moment in homework, of course, added motivation, I tried to do all the additional tasks and get maximum points. In the last minutes before midnight, before leaving home, I had to write the code with great speed, counting the remaining time, and send a letter at the last minute.
Dmitry Gachkovsky, intern:- One of the main features of the internship is a thorough examination of teachers' homework. This disciplines and ensures that efforts and mistakes do not go unnoticed.
Grades
Every year there are more internships, courses, articles, the level of community is growing, and our interns are more critical about the information. This year, for the first time, the material seemed too simple for the guys - however, only at first.
Artem Kulakov, Android Team Lead:
- The level of the weakest interns in this set corresponded to the strongest ones from the last internship. It can be seen that the community is developing, people are drawn to knowledge. If last year we spent a lot of time on the selection, because we were looking for the strongest of the many candidates, this time the selection was already among the best.
Ivan Vavilov, iOS Team Lead:
- In the iOS group, there was no significant difference with past sets. Our trainees have very different experience: from a year or more in commercial development to working exclusively in educational projects. It is interesting to observe how people grow during the internship - often less experienced learn faster than those who seemed more promising.
With the same amount of experience, developers now have more knowledge, albeit shallow, and higher content requirements. And this is a challenge for robots.
Artem Kulakov, Android Team Lead:
- Firstly, participation in the internship gives our children an excellent experience in public speaking. Secondly, the position of the guru increases the degree of responsibility - you conduct your own research and better understand the topic to answer questions. Plus, the preparation of lectures helps to structure everything that you already know and to pump oratory skills. For us, internships are a school that helps to grow authors of articles and speakers for Russian and international conferences.

Total
New lectures and lecturers, strong trainees and, of course, replenishment of the ranks of robots. Traditionally, the best receive an invitation to our metal ranks. There were three of them at this internship. In total, the Redmadrobot development team now has 7 former interns, including those who lectured for interns this year. In the past five years, internships have not been the shortest and easiest, but effective way to work with robots. And if for some reason you did not get on it this year, we will repeat it next.