📜 ⬆️ ⬇️

As we did the first internship on iOS and Android-development in Redmadrobot

In May, we wrote that we were opening an internship package for iOS and Android developers. The experience was unusual for us, new and interesting.



Selection
From our side, the approach was the following: we communicate with interns not as students, but as competent colleagues, with whom we have to develop an approach to solving a number of problems. The program was based on the same thing: the guys who came to our internship had already mastered the basics and classics, and our task was to satiate them with knowledge of design and architectural design for mobile platforms and share our practical experience - that is, difficult to find in books or on the Internet.

From the very beginning, we have thought over the selection system, the questionnaire at the first stage and the technical test at the second, to get an idea of ​​the background of the candidates. More than four hundred people wrote to us over the ten days of receiving applications, one hundred of them received a technical test. As a result, ten people were invited to participate in the internship, and eight reached the end.
')

Basics basics by mc_murphy

Design and architectural design, iOS and Android
The internship started in July and went for eight weeks, directly to studies, lectures, seminars, practical tasks and their analysis, of these eight were devoted to six. We immediately decided that we would be doing a general internship for those who want to develop for Android, and for those who intend to specialize in iOS. Why? One of the main topics that we wanted to convey to the participants is design. The basic principles of architectural design of applications do not depend on the choice of platform, although for iOS and Android, of course, there are separate patterns.

A good specialist should have a basic set of skills and knowledge in the field of design and architectural design, plus to understand the technologies of a specific platform - Obective C, Swift, specific frameworks, Java and so on. And, of course, we are initially against the narrow approach in the spirit of “if you are developing applications for the iPhone, you should know nothing except iOS technologies” :) Therefore, about 50% of the lectures within the internship were common to all interns: design principles, code in terms of the amount of information, design patterns, cleanliness of the code.


BepTep about what awaits those who become a developer

Separation into platforms and projects
And although initially all participants of the internship decided on the profile platform, attendance of classes for each of them was not limited. Everyone could listen to lectures on Android, and lectures on iOS, as well as general lectures - and almost all used this opportunity. As an educational project, it was decided to write a client for Instagram so that the children could immediately test their theoretical knowledge in practice.

image Anton Poderechin, iOS developer
“Before that, I worked in iOS, but I did a little bit differently - I made games with completely different frameworks. We had huge, monstrous homework in the iOS stream, and I spent all the weekends on their execution, as I was simultaneously completing my studies. And I know for sure that there is not one such from the stream. I liked the lectures on architecture and the project - the client under Instagram. In principle, there was everything that is in big customers. We touched on networking, UI and generally tried all the main points on a small prototype. They even made a custom widget, a switch with an interface, with a display and transitions between screens. This internship turned out to be what I needed. ”


The Applehead fountainhead on the Apple Watch in the gold case under Apple Watch

Difficulties
Where do without them. As already mentioned, the internship experience for us was the first and, of course, not everything worked out perfectly. It was not always possible to correctly estimate the time that would have to be spent on this or that activity: it turned out that checking homework and feedback on them requires much more time than we initially laid. Check d / s was held in the form of long-term individual consultations. It often happened that the interns listened to each other’s analysis of the assignments.

image Artem Malykhin, Android developer
“Some of the lectures were really top-level, but this was offset by hardcore practical tasks that we were asked to take home. Then we analyzed them together with the mentors individually. At this time we were given really useful practical advice. I liked the lectures about the structure of projects (this knowledge came in handy when I got a job) and lectures on security. Of the minuses - I would like more practice. ”

We placed part of the questions on mastering the lecture material in the optional part of homework. And, as it turned out, not everyone was ready to be asked :) If a person knows that he has to answer the material he has passed, he is more or less responsible for the matter - it turned out surprisingly that it works even with those who initially motivated to study. Surveys are, on the one hand, a form of control, on the other, an indicator for the student himself, who helps him to understand what topic he has learned not fully, and what he needs to repeat. In the end, both trainees and teachers benefit from this.


MaximEfimov talks about security in Android

What is the result
Programming is a discipline that is young and academically taught in few places, and the combination of academic knowledge and actual practical experience is generally rare. With this internship, we tried to close the very niche at the junction of academic and practical.

In Russia, of course, there are enough technical talents and champions in sports programming, but a programmer who specializes in industrial software development is not only and not so much one who knows how to perfectly solve non-standard tasks. Equally important is the ability to work in a team and find compromises. And we also tried to show this.

Of course, our course was rather top-level - only people study design for years, and we tried to pack the most important knowledge in two months. Our task was to make the internship as interesting as possible and practically useful for all the participants, and we think we coped with this task. Each of the topics touched found its listener, and we opened our kitchen - the processes of mobile development at the industrial level.

We promised that the best interns will receive an invitation to work with us at Redmadrobot, the way it happened - our team was replenished with four new developers. And, of course, we hope that one of those who will apply the knowledge gained at the internship in other places, one day will come to us and tell you how to launch spacecraft in NASA through a mobile application :) In the meantime, We are planning another internship - so stay tuned.


All good pizza ends

Source: https://habr.com/ru/post/268685/


All Articles