Ruby-03.jpg

Как проходят Ruby стажировки в iTechArt

31 января 2020
Savchuk.jpg

Екатерина
Савчук

RoR Developer, ментор Ruby Students lab

За 6 лет Ruby сommunity внутри компании выросло до 70+ специалистов. У разработчиков 15+ активных проектов в сферах здравоохранения, здорового питания, рекламы, страхования, музыки, доставки еды, модельного и автобизнесов.

Наши разработчики становятся менторами на курсах и стажировках внутри компании. Они помогают новичкам адаптироваться, контролируют прогресс и помогают с теоретическими и практическими задачами. Менеджеры заинтересованы в успеваемости подопечных поэтому отпускают их на сессию. Студенты сдают экзамены в университете и возвращаются на стажировку.

Екатерина Савчук объяснила, чему учат студентов на Ruby стажировках.

− У Ruby on Rails разработчика широкий стек задач: от написания небольших стартапов с нуля до поддержания работы приложения и добавления новых функций. Чаще всего мы работаем в команде и для того, чтобы разработчики могли одновременно изменять код в приложении, нужна система управления версиями. Самая популярная на данный момент − Git.

Чтобы приложение не ломалось при каждом изменении, нужно покрывать функционал тестами. Разработчики запускают команду и смотрят все ли в приложении работает правильно. Бывает, часть кода пофиксили, а другую − поломали😀. Для этого Ruby разработчики используют инструменты тестирования Rspec и Capybara.

На стажировках мы учим работать с Ruby on Rails, Active Record и ERB.

Ruby on Rails − фреймворк для создания полноценного приложения, который с помощью паттерна MVC позволяет быстро создавать нужный функционал. На Active Record можно делать запросы в базу данных с помощью простого синтаксиса, который похож на обычный английский. Он не требует углубленных знаний SQL. Язык темплейтов ERB = HTML + Ruby синтаксисы. С ERB можно делать UI-приложения.

Если хочешь погрузиться в коммерческий проект, нужно владеть методологиями разработки. Зная, как работает определенная методология, можно понять, как примерно происходит процесс разработки на конкретном проекте.
Прогрессивному RoR разработчику не повредит Front-end часть. Это плюс для решения задач по UI, поэтому на курсах стажеры проходят основы JS.

Чтобы попасть в Ruby Students lab, нужно пройти собеседование и:

  • Понимать сетевой стек;
  • Владеть основами базы данных;
  • Знать, как разработать проект на серверной стороне (в рамках курсового/дипломного/лабораторного задания);
  • Знать английский на уровне Pre-intermediate +.

Почему это нужно знать?

− RoR разработчик взаимодействует с базами данных. Да, в Rails есть удобный инструмент Active Record, но основы БД нужно знать, иначе не поймете, что под капотом Active Record. Опыт разработки на серверной стороне дает общие знания, как устроена BE часть. Можно понять, нравится ли вам это😀. Мы работаем с заказчиками из Европы и Северной Америки, поэтому нужен английский. Он важен для общения, чтения документации и задач, уточнения вопросов. Мы рассматриваем кандидатов с уровнем от Pre-intermediate +.

Вот ссылки, на которые нужно кликнуть, если хотите успешно пройти собеседование:

Мы попросили выпускников Students lab рассказать о стажировках в iTechArt.

София Битно, выпускница Ruby Students Lab

− Во время Ruby стажировки я поработала с Rails, Redis, PostgreSQL, ElasticSearch и другими технологиями. Изучила основы JS и React. Большой плюс стажировки — общение с разработчиками и менеджерами. Они рассказывают стажерам, как устроены процессы на реальных проектах, как лучше общаться с командой и заказчиком. Знакомят с методологиями Agile, Scrum и Kanban.

Код редко работает как надо с первого раза, поэтому на помощь приходит ментор. Обычно алгоритм решения проблемы был такой: я изучала проблему, искала решения самостоятельно в Интернете, а если ничего не получалось — обращалась к ментору. Если выделять проблемные модули — это подключение ElasticSearch, доработка гема и деплой приложения. Задеплоить легко, но так, чтобы все работало как в разработке — нет.

Когда попадете на стажировку в IT-компанию, обращайтесь к ментору за помощью. Особенно если узнаете себя в трех пунктах ниже.

  • Вы сидите над задачей больше суток и не видите решения.
  • Вы изучаете новую технологию и не понимаете, как работает тот или иной механизм. Или не понимаете концепцию.
  • Вам нужен совет по лучшей технической реализации. Вы можете понимать, как решить задачу, но, возможно, есть лучшие архитектурные решения. Из-за неопытности не можете предсказать, как ваше решение повлияет на судьбу проекта.

Я разговаривала с ментором, когда не работал деплой и нужно было доделать гем. Спрашивала, как сделать лучше в том или ином вопросе. Я хотела почерпнуть как можно больше информации от опытного разработчика и старалась не стесняться задавать вопросы. В итоге ментор мне помог изучить новые технологии и разработать приложение.

Приложение, которое я делала на стажировке, называлось Music.Connects. Его идея в том, чтобы делиться музыкой среди пользователей разных музыкальных сервисов. Например, ваш друг пользуется Spotify, а вы — Apple Music. Когда захотите скинуть ему трек, достаточно будет зайти в приложение, чтобы сгенерировать ссылку с треком на Spotify. Также в приложении можно было сохранять треки, создавать чаты и личные плейлисты. В основе был гем для генерации ссылок с разных музыкальных сервисов, который начал разрабатывать мой ментор. Позже я его доделала. Программисту полезно поработать с чужим кодом и разобраться в нем.

Тимофей Гомолко. Выпускник Ruby Students Lab

− Все обучение я усваивал много новой информации. Трудности стажера − дежурные моменты для программиста. Нужно прикладывать больше усилий, настойчивости, упорства, чтобы решить проблему. Если запутаешься, поможет ментор.

Стажировка похожа на полноценный рабочий день. С самого начала чувствовал себя частью команды. Менторы заинтересованы в каждом стажере как в потенциальном сотруднике компании. Со старта стажеров знакомят с процессами работы компании, они наблюдают за опытными сотрудниками и учатся у менторов. Это один из способов прокачать технические знания. После стажировки выходишь с пониманием важности самообразования в IT-сфере.

Стажерам нужно рефакторить код и учиться писать по правилам “хорошего кода”. На стажировках есть командный проект. Стажеры и менторы встречаются на митингах, обсуждают технические детали общего кейса.

Есть и сольные проекты для каждого студента. Я работал над eLearning System – это платформа для подготовки и проведения лекций, семинаров и тестов. С помощью нее каждый пользователь может выбрать понравившейся курс. Подписаться на него, пройти или стать автором собственного. Курс состоит из HTML-страниц с информацией по теме курса и вопросов, на которые пользователь должен ответить. Вот фичи моего проекта: рейтинг пользователей, закладки, подписка, выдача pdf-сертификатов за успешное прохождение курсов и приглашение новых пользователей через email-рассылку.

После стажировки я собрал причины записаться на Ruby Students Lab. Вот они:

  • Возможность улучшить свои технические знания;
  • Подготовиться к работе на коммерческом проекте;
  • Адаптироваться к работе в крупной компании;
  • Поработать с mid/senior Ruby разработчиками;
  • Получить job offer, если хорошо показал себя во время стажировки.
563
Стань частью нашей команды