Як ми вперше робили стажування з iOS і Android-розробки в Redmadrobot

У травні ми писали, що відкриваємо набір на стажування для iOS і Android-розробників. Досвід був для нас незвичний, новий і цікавий.



Відбір
З нашої сторони підхід був такий: зі стажерами ми спілкуємося не як зі студентами, а як з компетентними колегами, разом з якими належить виробити підхід до вирішення ряду проблем. Програму складали виходячи з того ж: хлопці, які прийшли до нас стажуватися, вже освоїли ази і класику, а нашим завданням було наситити їх знаннями по проектуванню і архітектурного дизайну для мобільних платформ і поділитися своїм практичним досвідом — тобто тим, що важко знайти в книгах або в інтернеті.

З самого початку ми продумали систему відбору, анкетування на першому етапі і технічний тест на другому, щоб скласти уявлення про бекграунд кандидатів. За десять днів прийому заявок нам написали більше чотирьохсот чоловік, сто з них отримали технічний тест. У підсумку до участі у стажуванні були запрошені десять чоловік, а до кінця дійшли вісім.


Основи основ від mc_murphy

Проектування та архітектурний дизайн, iOS і Android
Стажування стартувала в липні і йшла вісім тижнів, безпосередньо навчанні, лекцій, семінарів, практичних завдань та їх розбору, з цих восьми було присвячено шість. Ми відразу вирішили, що будемо робити загальну стажування і для тих, хто хоче розробляти під Android, і для тих, хто має намір спеціалізуватися на iOS. Чому? Одна з основних тем, яку ми хотіли донести до учасників — це проектування. Базові принципи архітектурного дизайну додатків не залежать від вибору платформи, хоча для iOS і Android, звичайно, існують окремі патерни.

Хороший спеціаліст повинен володіти базовим набором навичок і знань в області проектування і архітектурного дизайну, плюс до цього розбиратися в технологіях конкретної платформи — Obective-C, Swift, специфічні фреймворки, Java і так далі. Ну і, звичайно, ми спочатку проти вузького підходу в дусі «якщо ти розробляєш програми для iPhone, то крім iOS-технологій нічого не повинен знати» :) Тому близько 50% лекцій у рамках стажування були загальними для всіх стажистів: принципи проектування, код з позиції кількості інформації, шаблони проектування, чистота коду.


BepTep про те що чекає тих, хто стане розробником

Поділ на платформи і проекти
І хоча спочатку всі учасники стажування визначилися з профільної платформою, відвідування занять по кожній з них не було обмежено. Всі бажаючі могли слухати лекції з Android, і лекції з iOS, як і загальні лекції — і практично всі цією можливістю користувалися. В якості навчального проекту було вирішено писати клієнт під Instagram, щоб хлопці відразу ж могли випробувати теоретичні знання на практиці.

imageАнтон Подеречин, iOS-розробник
“До цього я працював в iOS, але займався трохи іншим — робив гри, де зовсім інші фреймворки. У нас в iOS-потоці були величезні, жахливі домашні завдання, і в мене всі вихідні йшли на їх виконання, так як паралельно я закінчував навчання. І я точно знаю, що не один такий з потоку. Сподобалися лекції з архітектури і проект — клієнт під Instagram. В принципі там було все, що є у великих клієнтів. Торкнулися мережеве взаємодія, UI і взагалі спробували всі основні моменти на маленькому прототипі. Навіть робили кастомный віджет, переключалку з інтерфейсом, з відображенням і переходами між екранами. Ця стажування виявилася тим, що мені потрібно."


fountainhead Apple Watch у золотому корпусі розробки під Apple Watch

Складності
Куди ж без них. Як вже було сказано, досвід стажування для нас був першим і, звичайно, не все вийшло ідеально. Не завжди вдавалося правильно оцінити час, який доведеться витратити на ту чи іншу активність: виявилося, що перевірка домашніх завдань і фідбек по них вимагають набагато більше часу, ніж ми з самого початку заклали. Перевірка д/з проходила у формі тривалих індивідуальних консультацій. Часто виходило так, що стажисти слухали розбір завдань один одного.

imageАртем Малихін, Android-розробник
“Деякі лекції були дійсно верхнеуровневыми, але це компенсувалося хардкорными практичними завданнями, які нам ставили на будинок. Потім ми розбирали їх разом з менторами в індивідуальному порядку. В цей час нам давали дійсно корисні практичні поради. Сподобалися лекції про структуру проектів (ці знання стали в нагоді, коли я вже влаштувався на роботу) і лекції з безпеки. З мінусів — хотілося б більше практики."

Частина питань на засвоєння лекційного матеріалу ми поміщали в необов'язкову частина домашнього завдання. І, як виявилося, не всі були готові до того, що їх будуть запитувати :) Якщо людина знає, що йому доведеться відповідати пройдений матеріал, він підходить до справи з іншої відповідальністю — на подив виявилося, що це працює навіть з тими, хто спочатку мотивований на навчання. Опитування — це, з одного боку, форма контролю, з іншого — індикатор для самого студента, який допомагає йому зрозуміти, яку тему він засвоїв не до кінця, і що йому треба повторити. Зрештою, від цього виграють і стажисти, і викладачі.


MaximEfimov розповідає про безпеку в Android

Що в підсумку
Програмування — дисципліна молода і академічно викладається мало де, а поєднання академічних знань і актуального практичного досвіду взагалі рідкість. Цієї стажуванням ми спробували закрити ту саму нішу на стику академічного і практичного.

У Росії, звичайно, вистачає технічних талантів і чемпіонів зі спортивного програмування, але програміст, який спеціалізується на промисловій розробці ПЗ — це не тільки і не стільки той, хто вміє відмінно вирішувати нестандартні завдання. Не менш важливу роль відіграє здатність працювати в команді та знаходити компроміси. І це ми теж намагалися показати.

Звичайно, наш курс був швидше верхнеуровневым — тільки проектування люди вчаться роками, а ми постаралися упакувати найважливіші знання в два місяці. Нашим завданням було зробити стажування максимально цікавою і практично корисною для всіх учасників, і вважаємо, що з цим завданням ми впоралися. Кожна з порушених тем знайшла свого слухача, і ми відкрили свою кухню — процеси мобільного розробки на промисловому рівні.

Ми обіцяли, що найкращі стажери отримають запрошення працювати у нас в Redmadrobot, так воно і сталося — наша команда поповнилася чотирма новими розробниками. Ну і, звичайно, сподіваємося, що хтось із тих, хто буде застосовувати отримані на стажуванні знання в інших місцях, в один прекрасний день прийде до нас і розповість, як NASA запускає в космічні кораблі через мобільний додаток :) Ну а поки у нас в планах ще одна стажування — так що stay tuned.


Все хороше закінчується піцою

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.