How we did the Winter Internship on iOS and Android development in Redmadrobot

    Hello, 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 intern and junior level children, then this time we took the bar higher and gathered junior and middle interns. It was cool, but everyone had to try, and we, and (especially) the interns :) Superman firmach about the file structure of the project




    Selection


    The selection system worked well at the last internship, so we did not change it significantly: questioning at the first stage and 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. Everyone reached the end, and 5 people now work in our team.

    Bit of hardcore


    Due to the fact that the students were really trained, we conducted a serious cleaning of the lecture plan and seminars. And in the end it turned out harder than last time.
    Classes were held at the Redmadrobot office in Moscow three times a week: on Tuesdays - general lectures for both platforms, and on Thursday and Friday separate seminars in iOS and Android groups, directly related to the topics of the general lecture. For 8 weeks, we managed to consider the principles of design, working with databases, developing frameworks and libraries, UX and UI, teamwork and communication. Traditionally, they did not talk about simple and basic things, but tried to share what is difficult or impossible to find on the Internet.

    image
    Arthur Sakharov ( mc_murphy ), CTO of Redmadrobot
    “From some guys there were requests in the spirit of“ And tell me about reactive programming in Java and in Swift ”. It's fashionable right now, but we decided not to talk about React. If you want to study it, go to the Internet and read articles. For the same reason, we removed lectures on the Apple Watch - you can also study this topic from scratch yourself if you wish. We focused on our own experience, which only Redmadrobot developers can talk about. Security, hacking applications, how we develop architecture, what kind of "rake" can be when working on an interface, and so on. "


    Tea, gingerbread, iOS and Android

    Real project


    We have taken the official API of our client, Alfa Insurance. The interns worked on various scenarios and screens in this project , used the same server.

    Error handling


    image
    Egor Taflanidi ( BepTep ), Redmadrobot Architect
    “In general, with regard to iOS, we have more widely disclosed the technologies that we work with in the company. We opened our own developments - all libraries that concerned both business logic and interface building. They talked about best practices. Last time we did it too, but not so deep. ”


    This is architectural design, baby

    We tried to take into account the feedback that we received from the guys at the last internship. The main complaints then concerned homework: hours of individual inspections and the fact that the assignments themselves (there were 7 different ones) did not always directly correlate with the lecture material. Firstly, we organized a check in groups. For example, on Thursday in one audience there is a seminar at iOS, and at this time in another audience there is an analysis of the homework of the Android group, and on Friday the opposite. And most importantly - now all the tasks we have been linked into a single project. Therefore, someone who, for some reason, missed or failed in the middle of the internship, made up with difficulty, and some did not have time to complete the project. At the start, we warned that for an internship you need to be prepared to devote 20-25 hours a week to training. It turned out

    image
    Maxim Efimov, Redmadrobot Android Team Leader
    “I would say that the internship was more intense. We gave more complex tasks in accordance with the level of training of the guys. We must give them their due, many worked literally for wear and tear, there were even those who left work to have time to prepare. We’ve covered security issues more widely and spent less time on design and UI. ”

    Interns


    The audience was active and responsive. From almost the first days of the internship, the guys organized a general chat in Telegram (as well as separately for iOS and Android), through which they communicated and quickly resolved issues that arose. But there were also negative aspects, for example, cheating :) When someone alone made a mistake, those who did not have their own firm opinions repeated it, preferring to accept a public point of view.

    image
    Nina Dmitrieva, iOS developer
    “I really liked the internship, there were much more positive moments than negative ones. To be honest - I was delighted, I got everything I wanted.
    Of the general lectures, I really liked the block on architectural design. I already knew much of what was discussed, 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 some small piece, and they don’t know the rest. We were given a large lecture that touches on all aspects, even various cool little things that I did not suspect. If I had any task before - for example, geometric indexes - I would probably write something of my own. They even managed to touch upon the temporary 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 it is not connected to it from the outside, didn’t look at the data or simply didn’t copy passwords. And I also liked the lesson on UI and layout. If we talk about the minuses, I would like even more “hint” things - for example, how to deal with any Apple bugs, for example, in terms of the same layout. When you encounter something similar during work, sometimes you have to google for half a day. In “Robot”, however, the guys with the bulk of such things have already encountered, 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 a lecture on design. ” In “Robot”, however, the guys with the bulk of such things have already encountered, 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 a lecture on design. ” In “Robot”, however, the guys with the bulk of such things have already encountered, 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 a lecture on design. ”


    image
    Sergey Zarochentsev, Android developer
    “I liked the lectures on Android security, I had never thought about this before.
    It was great that as part of the internship, we were working not on a bunch of small projects, but on one big one. This made us more attentive to architecture, code expansion, and refactoring.
    The guys often talked about real experiences, in addition, it was possible to ask questions and get answers to them.
    I would like even more additional time for questions. ”


    image
    Vladislav Shipugin, Android developer
    “In principle, all the lectures were interesting and useful, although, of course, there were some commonplace 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 it, especially a beginner. Usually they are postponed until later, or never recalled at all, and this causes big problems in further work.
    I had to devote a lot of time to doing homework, and not everyone did it. Some could 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 do not regret - I'm here! On the project, we delved into databases and security, right down to steganography. That 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 transferring to the trainees such experience that they could not have obtained independently and studied in open sources. And this time, the guys throughout the internship worked on the most real combat project. As mentioned above, some wanted us to pay more attention to answering questions and analyzing the code, so the most diligent trainees received certificates for Code Review in Redmadrobot, and the five best strengthened our team. Well, we all ate pizza :) Winter internship is definitely not the last - stay tuned for announcements on the blog.

    Also popular now: