Як ми робили Зимову Стажування з iOS - і Android-розробки в Redmadrobot

Привіт, Хабр! Настав час відзвітувати про другий стажування для розробників, яку ми завершили наприкінці березня. Якщо в минулий раз, влітку, програма була орієнтована на хлопців рівня intern і junior, то на цей раз ми взяли планку вище і зібрали стажистів junior і middle. Було круто, але постаратися довелося всім, і нам, і (особливо) стажистам :)


Superman firmach файловій структурі проекту

Відбір

Система відбору добре зарекомендувала себе минулого стажуванні, тому істотно ми її не міняли: анкетування на першому етапі і технічний тест на другому. Нам надійшло більше двохсот заявок, 60 осіб отримали тестові питання, в результаті була сформована група з 14 стажистів — 7 iOS, Android 7. До кінця дійшли всі, а 5 чоловік тепер працюють в нашій команді.

Трохи хардкору

У зв'язку з тим, що слухачі були дійсно підготовлені, ми провели серйозну чистку плану лекцій і семінарських занять. І в результаті вийшло хардкорніша, ніж минулого разу.
Заняття проходили в московському офісі Redmadrobot тричі на тиждень: по вівторках — загальні лекції для обох платформ, а в четвер і п'ятницю окремі семінари в iOS — і Android-групах, безпосередньо пов'язані з темами загальних лекцією. За 8 тижнів ми встигли розглянути принципи проектування, роботу з базами даних, розробку фреймворків та бібліотек, UX і UI, взаємодія і комунікацію в команді. Традиційно про простих і базових речах не говорили, а намагалися поділитися тим, що складно або неможливо знайти в інтернеті.

image
Артур Цукрів ( mc_murphy ), технічний директор Redmadrobot
«Від деяких хлопців були запити в дусі „А розкажіть про реактивне програмування на Java і на Swift“. Це зараз модно, але ми вирішили нічого не розповідати про React. Хочеш його вивчити — іди в інтернет, читай статті. З цієї ж причини ми прибрали лекції з Apple Watch — цю тему теж при бажанні можна вивчити з нуля самостійно. Ми сфокусувалися на нашому власному досвіді, про яку можуть розповісти тільки розробники Redmadrobot. Безпека, злом додатків, як ми розробляємо архітектуру, які „граблі“ можуть бути при роботі над інтерфейсом і так далі».


Чай, пряники, iOS і Android

Реальний проект

Ми взяли офіційне API нашого клієнта, компанії «Альфастрахування». Стажери працювали над різними сценаріями і екранами проект, користувалися тим же самим сервером.

Робота над помилками

image
Єгор Тафланиди ( BepTep ), архітектор Redmadrobot
“загалом, що стосується iOS, ми ширше розкрили ті технології, з якими самі працюємо в компанії. Відкрили власні напрацювання — всі бібліотеки, які стосувалися як бізнес-логіки, так і побудови інтерфейсів. Розповіли про best practices. Минулого разу ми теж це робили, але не настільки глибоко."


Це архітектурний дизайн, дитинко

Ми постаралися взяти до уваги фідбек, який отримали від хлопців минулого стажуванні. Основні претензії тоді стосувалися домашніх завдань: багатогодинних перевірок в індивідуальному порядку і того, що самі завдання (їх було 7 різних) не завжди прямо корелювали з лекційним матеріалом. По-перше, ми організували перевірку в групах. Наприклад, у четвер в одній аудиторії йде семінар у iOS, а в цей час в іншій аудиторії проходить розбір домашнього завдання у Android-групи, а в п'ятницю навпаки. І головне — тепер всі завдання у нас були пов'язані в єдиний проект. Тому той, хто з якоїсь причини пропустив або недопрацював у середині стажування, доганяв з труднощами, а деякі так і не встигли доробити проект. На старті ми попереджали, що для проходження стажування потрібно бути готовим приділяти підготовці 20-25 годин на тиждень. Виявилося, до цього були готові не всі :)

image
Максим Єфімов ( MaximEfimov ), керівник групи Android-розробки Redmadrobot
“Я б сказав, що стажування була більш інтенсивна. Ми давали більш складні завдання відповідно з рівнем підготовки хлопців. Треба віддати їм належне, багато працювали буквально на знос, були навіть такі, хто звільнився з роботи, щоб встигати готуватися. Ми ширше розкрили питання безпеки, менше приділяли часу дизайну і UI."

Стажисти

Аудиторія була активна і чуйна. Хлопці практично з перших днів стажування організували загальний чат в Telegram (а також окремо по iOS і Android), через який спілкувалися і оперативно вирішували питання. Але були в цьому і негативні моменти, наприклад, списування :) Коли хтось один робив помилку, ті, у кого не було власного твердого думки, повторювали її, вважаючи за краще прийняти громадську точку зору.

image
Ніна Дмітрієва, iOS-розробник
“Стажування дуже сподобалася, позитивних моментів було набагато більше, ніж негативних. Якщо говорити чесно — я була в захваті, отримала все, що хотіла.
Із загальних лекцій дуже сподобався блок про архітектурний дизайн. Багато чого з того, про що йшла мова, я вже знала, але лекції систематизували наявні знання і доповнювали їх новими. Ще кльова лекція була по базах даних. Програмісти часто користуються базами даних, але зазвичай якимось невеликим шматочком, і іншого не знають. Нам прочитали велику лекцію, яка зачіпає всі аспекти, навіть різні кльові дрібниці, про які я не підозрювала. Якби переді мною постала якась завдання — наприклад, геометричні індекси — я б, напевно, писала щось своє. Встигли торкнутися навіть тимчасову складність структур: коли краще масиви, коли словники і так далі. Був хороший семінар з безпеки: як захиститися під час зв'язку з сервером, як захистити сам додаток, щоб до нього не підключилися ззовні, не подивилися дані або банально не скопіювали паролі. І ще сподобалося заняття по UI та верстки. Якщо говорити про мінуси, то хотілося б ще більше «хинтовых» речей — наприклад, як впоратися з якими-небудь багами Apple, наприклад, в плані тієї ж верстки. Коли стикаєшся з чимось подібним під час роботи, часом доводиться гуглити по півдня. В «Роботі» ж хлопці з основною масою таких речей вже стикалися, і цей досвід завжди дуже цінний, так як міг би іншим заощадити купу часу. Єдине, що було не дуже корисно — лекція про дизайн".


image
Сергій Зарочєнцев, Android-розробник
“Сподобалися лекції з Android-безпеки, раніше ніколи про це не замислювався.
Здорово було, що в рамках стажування ми працювали не над купою дрібних проектів, а над одним великим. Це змушувало більш уважно ставитися до архітектури, розширення коду, рефакторінгу.
Хлопці часто розповідали про реальний досвід, крім того, можна було задавати питання і отримувати на них відповіді.
Хотілося б ще більше додаткового часу на питання".


image
Владислав Шипугин, Android-розробник
“Цікавими і корисними в принципі були всі лекції, хоча зустрічалися, звичайно, і деякі банальні речі, відомі будь-якому гарному програмісту. Особливо я б виділили лекції з архітектури, JMM для Android і безпеки, про це точно не кожен програміст подумає, тим більше початківець. Зазвичай вони відкладаються на потім, або взагалі ніколи не згадуються, а це викликає великі проблеми у подальшій роботі.
Доводилося приділяти дуже багато часу виконання домашніх завдань, і це виходило не у всіх. Деякі не справлялися і просто забивали. Особисто мені довелося відкласти в сторону інститут і звільнитися з роботи, щоб успішно завершити стажування, про що я не шкодую — я ж тут! На проекті ми подлубалися і з базами даних, і з безпекою, аж до стеганографії. Це було цікаво!


Що в підсумку

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


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

0 коментарів

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