Fishlake-scripts.ru

Образование и уроки
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ruby on rails обучение

Уроки Ruby

Уроки Ruby для начинающих / #1 — Знакомство с языком Ruby

Видеоурок

Полезная ссылка:

Информация про Ruby

Ruby — мощный и популярный язык программирования. Помимо своей популярности на нём основывается известный фреймворк Ruby On Rails , который позволяет создавать крутые и динамические веб сайты различной тематики. Если взглянуть на рейтинг TIOBE , то язык входит в двадцатку самых популярных языков мира.

Язык появился в 1995 году и считается молодым языком в сравнении с Си или же C++, которые появились в 1972 и 1983 году соответсвенно. Язык имеет ряд преимуществ и специфичных возможностей, которые реализованы исключительно в нем, если брать в сравнение другие популярные языки программирования.

План курса

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

За курс мы изучим как установить и работать с языком, изучим синтаксис Руби (переменные, циклы, условные операторы), а также более сложные вещи: ООП, работа с файлами, исключения, методы и затронем еще множество других тем.

Установка Ruby на Windows

Для установки Руби на Виндовс используйте RubyInstaller, который можно скачать на официальном сайте по этой ссылке . Скачивайте последнюю версию и устанавливайте её как обычную программу. После завершения установки перед вами будет похожее окно:

На этом окне проследите чтобы галочка обязательно была проставлена, тогда далее откроется другое приложения для установки Ruby в систему.

В открывшемся окне введите поочередно 1 и нажмите Enter , дождавшись конца установки нажмите 2 и Enter и в конце выполните третью команду нажав 3 и Enter .

Установка Руби на Мак

На маке Руби установлен по-умолчанию, поэтому вам не нужно ничего дополнительно делать. Вы можете проверить версию языка в терминале при помощи следующей команды:

Если версия устаревшая, то можно выполнить загрузку новой. Для начала необходимо загрузить менеджер версий Ruby. Это делается через терминал при помощи команды:

После установки менеджера необходимо перезапустить терминал. Выполните следующую команду:

После перезапуска вы можете установить ту версию, которую пожелаете. В нашем случае была установлена версия 2.4.2 :

В конце вы можете еще раз проверить версию и если она по прежнему старая, то просто установите по-умолчанию новую версию:

Ruby on rails обучение

Rails многое делает за программиста, поэтому технология популярна. Но это же обычно и становится непреодолимой преградой для новичков.

Google не поможет

Не всегда можно найти необходимую и актуальную информацию. Ее приходится буквально собирать по крупицам.

Мало готовых примеров

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

The Rails Way

Под Ruby есть готовые решения на все случаи жизни. Но, какие являются стандартом? Какие must have? Как выбрать из двух почти одинаковых? Как правильно применить?

Oups! Что-то пошло не так

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

Сложнее, чем кажется

Между кодом реального и учебного проекта огромная пропасть. Туториал Хартла — отличный учебник, не каждая технология может таким похвастаться. Но в реальном проекте вам понадобится максимум 30% из того, что он дает.

В любом случае легко не будет

Самостоятельное обучение

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

Обучение с ментором

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

Кстати, это одна из особенностей нашего курса, мы не просто учим как выполнить то или иное задание, а раскрываем первопричины. Почему лучшие программисты пришли к таким решениям, какие проблемы они решали. Это Best Practices — их нужно знать, ими нужно пользоваться независимо от языка и технологии.

Почему именно наш курс?

Программа курса и методика обучения

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

Формат воркошопа

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

Актуальный инструментарий

Rails это всего лишь основа, которая позволяет собрать свое приложение, используя самые разнообразные инструменты. Какие из них must have, какие признаны стандартом, как выбрать нужный инстурмент из десятка похожих. Всему этому мы будем учиться в курсе.

Наличие конспектов и других раздаточных материалов

Видеоподача хороша для базового усвоения, когда материал идет непрерывно и ничего не упускает. Для повторения и закрепления гораздо удобнее использовать конспект.

Удобная платформа для проведения курсов

Мы разработали собственную платформу для проведения обучения. Удобный доступ к материалам, отслеживание прогресса, общение с ментором и другими участниками курса.

Большое количество дополнительных инструментов

Приложения-тренажеры, чеклисты, базовые тесты — все это позволит получить более качественный результат.

Кому нужен этот курс?

Неопытный программист

Начать IT карьеру

Изучить основы веб-разработки на базе Ruby On Rails

Зарабатывать хорошие деньги

Малоопытный руби программист

Получить качественный опыт

Проявить себя в компании

Повысить свою ЗП

Повысить свой статус программиста

Опытный НЕ руби разработчик

Быстрое освоение очень популярной технологии

Обзор популярного инструментария

Научится писать с использованием языка а не на языке

А потяну ли я?

Я не совсем новичок в программировании

Слова — переменная, цикл, условие, массив, функция, класс, наследование, ООП не нагоняют на меня панику.

Я хочу учиться и делать, а не просто слушать

Готов уделять 10-15 часов в неделю на выполнение домашних заданий.

Я не убегу дальше сайтики на вордпресе делать

Рубисты — просто маньяки, когда дело доходит до качества кода. Вы будете получать по 50 комментариев к Вашей работе. Код будет возвращаться на доработку снова и снова.

Давайте поступим следующим образом

Чему вы научитесь

Тарифы

Отзывы

Для меня ЯП Ruby и фреймворк Rails были вдвойне новинками. Не имея серьёзного опыта в программировании и уж тем более в веб-разработке с использованием MVC, даже синтаксис динамического Ruby давался с трудом. Но, на курсах все досупно объяснили, я смог разобраться и получить должность в компании JetRuby.

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

Курсы хороши. Для новичка вроде меня это огромное подспорье на пути изучения веб-разработки. Стоит лишь уделять немного больше времени на самостоятельное обучение

Все очень понравилось. Никогда прежде на подобных курсах не был. Узнал очень много нового для себя. Не думаю, что смог бы самостоятельно и качественно изучить столько материала за такой относительно короткий срок. Доведение материала хорошее. После каждой микротемы ментор спрашивает, а понятно ли это или нет. Это хорошо.

Но были моменты, когда ничего не понятно с первого раза. Но, после объяснения ментора, становилось ясно, как работает та или иная штука. Для выполнения каждого ДЗ, в принципе хватало материала, полученного на уроке, я имею в виду, что все, что требовалось в ДЗ, было доведено на уроке и не было необходимости придумывать какие-то свои велосипеды.

В итоге, отличный курс, с большим уклоном на выполнение практических задач. Огромное спасибо!

Однозначно полезный курс, который упорядочил многие моменты по Rails в моей голове. Курс дал много того, чего не получишь при самостоятельном изучении Rails. Хорошая подача теоретического материала. Ничто не заменит живого общения с преподавателем и возможности сразу задавать вопросы. Для 6-недельного курса было рассмотрено достаточно большое количество тем.

В ДЗ по теории необходимо было дать ответы на вопросы, а не просто прочитать разделы документации. В последствии этими ответами пользовался при выполнении практического задания. Объемное практическое задание с кодревью, которое помогает закрепить теорию.

Процесс разработки приложения был приближен к рабочему: использовались PivotalTracker, CodeClimate, CodeShip, Rubocop. Уделялось внимание хорошему стилю кода, рассмотрены паттерны Decorator, Service Object, Presenter. Уделено внимание дебаггингу приложения. Хорошая идея с ошибками новичка.

После прохождения курса появилось желание переписать свои pet-проекты снуля, применив все плученные знания. Спасибо огранизаторам и Олегу лично.

Мне курс очень понравился, большое спасибо Олегу! Курсы мне очень помогли в изучении Ruby и RoR:

— Вопросы, которые я задавал по уроку почти сразу же получали ответ — Задания, которые дают свободу действий (4 — 6 уроки) — Code review Минусом назвать легкость заданий в начале заданий, не могу т.к если курс ориентирован будет на новичков это хорошая практика.

Автор

Меня зовут Олег, Мне 26 лет, 6 из них занимаюсь промышленной веб разработкой. Из них 4 года программирую на Ruby on Rails

Сейчас занимаю должнность тимлида в компании JetRuby Agency. Занимаюсь разработкой веб приложений разного масштаба и характера. От небольших стартапов до высоконагруженных веб приложений. Работал над проектами крупнейших мировых IT компаний.

Читать еще:  Плюсы и минусы прямого обучения

В свободное от работы время гоняю на веле, занимаюсь хапкидо и играю в покер. Летом организую enduro походы, увлекаюсь прыжками со скалы в море. А еще у меня 4к MMR =)

Тройная гарантия результата или возврат денег в течение 10 дней

Мы гарантируем, что уже с первого занятия ты достигнешь хороших результатов.

Если ты добросовестно посещал все занятия, выполнил все домашние задания, но после прохождения курса не смог выполнить тестовое задание на должность Junior, мы вернем все деньги.

Если после третьего занятия тебя что-то не устроит, мы вернем все деньги, без объяснения причины

Как я учил Ruby on Rails за три ночи. И так и не выучил

Содержание статьи

Зависшая задача

Я уже давно хотел изучить Ruby on Rails на каком-то базовом уровне. Без конкретной цели. Скорее просто для себя, чтобы лучше понять, что же в нем такого особенного (в отличие от 100500 других технологий и фреймворков), что позволяет быстро создавать и масштабировать довольно нагруженные интернет-проекты. Вторичной причиной стало желание попробовать новые подходы к обучению. Когда я учился на программиста, у нас были только книги и форумы, где можно спросить совета. Сейчас есть интерактивные учебники и онлайн-школы программистов, огромное количество скринкастов (почти мечта: смотреть, как программируют гуру), базы знаний вроде stackoverflow.com и тонны исходных кодов на GitHub, где можно часами изучать исходники настоящих профи. Следующие несколько ночей (а днем банально некогда) я решил выделить на то, чтобы попробовать новые способы обучения в действии.

Ночь первая

Начинать учить Ruby on Rails без хотя бы минимального знания непосредственно Ruby было бы странным. Я уже когда-то брался за интерактивный гид ruby-lang.org. Но как прошел его, так и сразу все забыл. Его создатели обещают, что на прохождение и усвоение синтаксиса Ruby уйдет пятнадцать минут. У меня ушло тридцать. Правда, с постоянным отвлечением на Twitter. Процесс выглядит примерно так. Тебе говорят: «Массивы в Ruby объявляются так, а данные из массивов извлекают вот так. Теперь давай попробуй сделать массив и извлечь из него N элементов. А мы проверим». Читаешь, как все устроено, и сразу пробуешь. Ruby ты так, конечно, не выучишь. Лучше это воспринимать как супер-экспресс-курс, который работает.

И все-таки сам Ruby — это очень далеко от фреймворка Ruby on Rails. Хотелось освоить именно рельсы. Из нашей статьи про образование онлайн я точно помнил о нашумевшем курсе Zombie for Rails railsforzombies.org. Это так же, как и Try Ruby, интерактивный учебник, который прямо с места в карьер начинает тебя учить готовить рельсовые приложения. Сначала тебе читают мини-лекцию (на английском, но все предельно понятно — включи субтитры) о структуре файлов рельсового приложения, CRUD-подходе для работы с данными, объясняют, как реализована модель MVC в рельсах, и так далее. После каждого видео тебе предлагают выполнить задания на закрепление материала. Все кажется простым и понятным, курс пролетает незаметно за час-другой (он небольшой). Но! Почувствовал ли я после курса, что смогу написать рельсовое приложение? Увы, нет!

Ночь вторая

Одна из причин, почему после Rails for Zombies появляются некоторые базовые знания, но не появляется уверенности, — это виртуальная среда, в которой проходит обучение. С одной стороны, она до предела уменьшает порог входа: можно не заботиться об окружении. С другой стороны, ничего реального по ходу дела ты не создаешь — никакого тебе «Hello World» на выходе. И главное, с какой стороны подступаться к его созданию, непонятно. С этого момента я хотел попробовать Ruby on Rails в деле, реально установив его в системе (до этого можно было даже не стараться), и с нуля создать простое приложение.

Уже не помню как, но совершенно случайно я наткнулся на очень удачный курс скринкастов на русском языке rails.hasbrains.org. Спасибо автору за грамотное изложение: он методично объясняет принципы работы рельсового приложения в деталях, по ходу погружая тебя во все необходимые тонкости. Короче говоря, всю вторую ночь эксперимента я смотрел первую половину из более чем тридцати эпизодов этих скринкастов.

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

Ночь третья

На третью ночь остались последние эпизоды скринкастов, которые удалось посмотреть в один присест: работа с рельсами уже не казалось такой дикой. В этот момент мне кто-то рассказал о том, что у курса Rails for Zombies есть толковое и гораздо более глубокое продолжение. Правда, курс уже платный и хостится в рамках школы программирования Code School www.codeschool.com. Отдать 25 баксов, чтобы получить доступ ко всем курсам школы, было не жалко. Это стоимость на месяц, поэтому, если не понравится, не забудь отменить подписку.

Курс Rails for Zombies 2 действительно оказался очень удачным. Правда, многое стало повторением того, что я увидел в скринкастах, — но это было даже отчасти приятно. Пять уровней и пять блоков упражнений, которые делаешь прямо в интерактивной консоли. К этому моменту рельсы уже казались логичными, понятными и пригодными к использованию.

В Code School можно программировать прямо в браузере, выполняя задания курса

Хакер #174. Собираем квадрокоптер

Что дальше?

Научился ли я делать сложные проекты? Нет. Но точно осознал подходы, используемые в рельсах, и понял их удобство. Научился быстро создавать простые приложения и в суперкороткий срок наращивать его функционал с помощью гемов, написанных сообществом. Я поймал кураж и дальше с удовольствием учусь лучшим практикам по программам Code School (сейчас смотрю курс по юнит-тестам). И меня чертовски радует то, что изучать технологии стало так просто.

Степа Ильин

Главный редактор «Хакера» с 2012 по начало 2014 года. Сейчас с командой единомышленников строит компанию Wallarm, разрабатывающую решения для защиты веб-приложений от хакерских атак и обнаружения в них уязвимостей.

Обучение Ruby on Rails с нуля до трудоустройства

Чему ты научишься

Ты научишься писать готовые к использованию приложения, которые сможешь добавить в своё портфолио

Разбираться в технологиях

Ты выучишь все основные технологии веб-разработки и научишься самостоятельно решать, что и в каких случаях необходимо использовать.

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

Искать и находить работу по душе

Объясним, как устроен рынок труда программистов и как работает фриланс-биржа. Научим искать работодателя, составлять резюме и проходить собеседования.

Как построено обучение

Реальное приложение в реальном окружении

Никакой интерактивной браузерной фигни и оторванных от реальности тестов. Только интенсивная практика в реальной рабочей среде!

Работа 1 на 1 с опытным наставником

Полностью индивидуальный подход! Постоянная обратная связь с ментором на всех этапах обучения, дотошный код-ревью, помощь в составлении резюме и поддержка в поиске работы. А ещё мотивационные пинки и разговоры по душам 🙂

В твоём темпе и без временных рамок

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

Как происходит взаимодействие с ментором

Ты можешь выбрать ментора на странице ниже, либо продолжить оплату, тогда команда mkdev подберёт тебе ментора самостоятельно.

После оплаты на указанный при оплате электронный адрес будет создан студенческий аккаунт на сайте mkdev.me, а также придёт письмо с доступом в приватный чат с ментором и инструкцией по старту обучения.

Внимание : если в течение 24 часов после оплаты письмо не пришло, напиши нам через форму на сайте в правом нижнем углу, сообщив электронный адрес, указанный при оплате.

После оплаты на указанный при оплате электронный адрес будет создан студенческий аккаунт на сайте mkdev.me, а также придёт письмо с доступом в приватный чат с ментором и инструкцией по старту обучения.

Внимание : если в течение 24 часов после оплаты письмо не пришло, напиши нам через форму на сайте в правом нижнем углу, сообщив электронный адрес, указанный при оплате.

После оплаты на указанный при оплате электронный адрес будет создан студенческий аккаунт на сайте mkdev.me, а также придёт письмо с доступом в приватный чат с ментором и инструкцией по старту обучения.

Внимание : если в течение 24 часов после оплаты письмо не пришло, напиши нам через форму на сайте в правом нижнем углу, сообщив электронный адрес, указанный при оплате.

После оплаты на указанный при оплате электронный адрес будет создан студенческий аккаунт на сайте mkdev.me, а также придёт письмо с доступом в приватный чат с ментором и инструкцией по старту обучения.

Внимание : если в течение 24 часов после оплаты письмо не пришло, напиши нам через форму на сайте в правом нижнем углу, сообщив электронный адрес, указанный при оплате.

После оплаты на указанный при оплате электронный адрес будет создан студенческий аккаунт на сайте mkdev.me, а также придёт письмо с доступом в приватный чат с ментором и инструкцией по старту обучения.

Внимание : если в течение 24 часов после оплаты письмо не пришло, напиши нам через форму на сайте в правом нижнем углу, сообщив электронный адрес, указанный при оплате.

Программа обучения веб-разработке на Ruby on Rails

За основу для программы обучения мы взяли самую распространённую цель среди студентов mkdev, трудоустройство на должность Junior Ruby on Rails разработчика.

Читать еще:  Сертификат наращивания ногтей обучение бесплатно

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

Мы начнём с освоения самых базовых понятий и инструментов, понимания, что такое программирование вообще. Затем напишем маленькое интересное приложение. В процессе научимся всем особенностям и понятиям Ruby, от базовых до высокоуровневых, научимся писать красивый и эффективный код, использовать профессиональные инструменты и методы работы

  • Основы программирования вообще;
  • Современные парадигмы программирования — объектно-ориентированное, функциональное, метапрограммирование;
  • Взаимодействие с реальными данными — как лежащими на диске твоего компьютера, так и со страниц в Интернете;
  • Хорошая организация кода и его тестирования;
  • Выбор и использование сторонних библиотек и инструментов.

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

По мере написания приложения, мы научимся следующим вещам:

  • Простой CRUD в Rails;
  • Написание бизнес логики;
  • Написание тестов;
  • Авторизация, аутентификация с Sorcery;
  • Фоновые задачи;
  • API;
  • Деплой на VPS

В этот раз мы не будем писать приложение с нуля. Вместо этого ты получишь репозиторий с кодом одного из студентов, завершивших этап «Ruby on Rails для начинающих» (свой код с этого этапа использовать нельзя). На протяжении 9 квестов ты добавишь к этому чужому приложению множество различных фич, во время реализации которых научишься следующим вещам:

  • Разбираться в чужом коде и рефакторить его;
  • Крыть тестами всё что движется (ну или всё, что ты напишешь);
  • Оптимизировать работу приложения при помощи кэширования и фоновой обработки;
  • Внедрять внешний API и писать динамические ajax-формы;
  • Настраивать сервера и работать с виртуальными машинами;
  • Внедрять полноценное решение для работы с бизнес аналитикой _с нуля_;
  • Переписывать медленные части приложения на Go и C;
  • … и многое другое!

Здесь будет сложно. Каждый квест будет целым приключением. Ты довольно быстро заметишь, что в каждом задании мы предоставляем огромную свободу выбора. Это не просто так: наша задача не только поднять твои навыки разработки на совершенно новый уровень, но и научить тебя _самостоятельно_ решать задачи _любой_ сложности. Время, когда ты мог учиться просто зазубривая документацию прошло.

Часть работы по подготовки к трудоустройству будет вестись с самого начала обучения, так как тебе нужно нарабатывать портфолио и демонстрировать работодателю свой код. Мы научимся:

  • Как правильно и красиво сохранять код приложений в рабочем состоянии и доступном для работодателя виде;
  • Контрибьютить в open-source;
  • Формировать портфолио.

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

Также, процесс подготовки к трудоустройству включает в себя:

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

Мы окажем необходимую поддержку на всех этапах поиска работы и трудоустройства. Также, наши менторы проведут с тобой столько времени, сколько тебе потребуется для начала уверенной самостоятельной работы и после трудоустройства.

Требования

Мы не предъявляем никаких особенных требований для начала обучения веб-разработке на Ruby on Rails. Даже если ты ещё ничего не смыслишь в программировании, наши менторы сначала обучат тебя основам.

Если ты уже более опытный разработчик, то можешь не начинать с начала, а перейти сразу к Ruby on Rails для продвинутых, или подготовке к трудоустройству.

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

Примерно в это же время я искала работу. Не без трудностей меня взяли на испытательный срок backend rails junior разработчиком. И тут советы от ментора обрели свою истинную ценность. Потому что работа это поворот на 180 градусов от обучения. И иногда казалось, что я на этом повороте врежусь в столб и дальше не смогу поехать.

Итого, сопровождение именно в рабочих моментах с Антоном считаю очень качественным. И понравилось оно мне гораздо больше чем обучение, которым мы долго позаниматься не успели в силу ограниченности моих ресурсов (времени и финансов).

Больше всего мне нравится, что Кирилл позитивный человек с системным мышлением. Весь материал удобно структурирован, кроме того курс моих занятий полностью создан под мои цели — это трудозатратный, качественный и не шаблонный подход (цените это, ребята). Еще мне нравится получать статьи и код ревью (хоть это и стандартная практика, но все же должно быть в плюсах, тк код ревью Кирилл делает на совесть). Также для тех, кто читает отзыв, но еще не читал про Кирилла — обратите внимание, что он ведет свой блог (который тоже полезно почитать) и посмотрите, какой порядок на рабочем столе (это можно сделать в статье про Кирилла на мкдев). Сам я рад, что нашел Кирилла и очень рекомендую его как ментора!

PS у меня пока идет вторая неделя обучения из 4х, поэтому возможно, отзыв еще дополню. к тому же сегодня Новый Год (а я читаю про VPC — вот такая мотивация от занятий!)

PPS 20.03.19 дополняю отзыв: мне уже в процессе обучения удалось начать использовать знания, полученные от Кирилла (terraform, aws) и примерно через месяц курс окупился в виде доп работ, которые ранее клиенты у меня не заказывали, а на данный момент уже 2 месяца получаю чистую прибыль. Кириллу еще раз спасибо! я доволен и всем рекомендую 🙂

Почему Ruby — идеальный язык для начинающего разработчика

Марат Хуснетдинов, основатель консалтингового проекта HowToHireMe, рассказал блогу Нетологии о своём пути в IT и о том, почему начинающим разработчикам стоит выбрать Ruby.

В разработке я около 5 лет. Начинал с фронтенда: вёрстка, стили и JavaScript, затем попробовал Ruby, немного поигрался с Python. В последнее время работаю с Elixir — это новый язык на erlang virtual machine — и с базами данных, и как технический специалист, кроме того управляю, продаю, выступаю как ментор. Есть опыт управления проектами, лидирование и продаж в IT. Сейчас у меня на двоих с партнёром консалтинговое агентство HowToHireMe.

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

Мы стараемся развивать наш проект в Open source — я очень активно пишу в open source Github-проекты, чтоб поддерживать опыт на уровне, не смотря на то, что уже ушел на управленческие позиции. За пять лет накопилось много багажа, о котором рассказываем ребятам, когда они приходят к нам на стажировку.

Сегодня расскажу, как эффективно построить карьеру в роли Ruby-разработчика и почему это более эффективно, чем в других языках. Расскажу, почему я пришёл в IT, какие были трудности, почему выбрал Ruby — выбор был непростой, но очень интересный.

Как я пришёл в IT

Хотел бы начать с простой идеи: у меня нет АК-47 с серебряными пулями — есть только опыт и путь, который я прошёл.

Для многих стоит вопрос, как вообще войти в IT: с чего начать, какие есть плюсы, какие минусы. Лично я вообще начинал со станков — работал на производстве. В прямом смысле: крутил гайки, запускал станки токарно-фрезерные. Программировать начал в 28 лет и думал, что это уже возраст, когда не очень просто сменить профессию.

Начинал с HTML и CSS. Пытался писать на 4-й версии PHP по книгам Котерова, после чего это всё успешно забросил. В аспирантуре, когда уже работал с оборудованием, меня познакомили с Python — я даже пытался писать на нём интерпретатор истории станков, чтобы нашим руководителям можно было отслеживать историю нажатия клавиш.

О трудностях, которые возникли при входе

Основная проблема — у меня не было знакомых разработчиков, не было наставника. Я примерно полгода изучал HTML и CSS, чтобы дойти до какого-то уровня в разработке. Были простые проекты, но они были маловостребованны для работодателя. В тот момент я не знал, у кого молодому разработчику спросить совета.

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

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

Я через это прошёл и предлагаю в качестве решения молодым начинающим разработчикам написать одну задачу на разных языках, на разных препроцессорах стилей — так поймете, что вам нравится.

Читать еще:  Обучение seo продвижению

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

Когда ищете работу, работодателям важно увидеть ваши знания, портфолио, какой-то бекграунд — подойдут даже сертификаты и дипломные проекты.

Первая работа в компании была для меня самой сложной — стало понятно, что предстоит многое выучить, многое попробовать и очень многое прочитать.

Про Open source и сообщество

Ruby on Rails сам по себе был написан как opensource-проект, где каждый может поучаствовать в разработке этого проекта. Когда входил в Ruby-мир, то работал с тремя ребятами, которые на тот момент находились в core team разработки Ruby on Rails. Сейчас они уехали работать за границу или же работают удалённо на иностранные компании — в этом им как раз очень помог open source.

У меня не было open source-портфолио. Всем молодым разработчикам я всегда говорю: если вас нет Github-аккаунта, то заводите как можно быстрее.

Не важно, сколько вы напишете опыта в резюме, работодатель всё равно пойдёт смотреть на ваш Github-аккаунт и дату его регистрации — это и будет считаться официальным стартом вашей IT-карьеры.

И сейчас вам советую: просто возьмите и зарегистрируйтесь на Github.

Поработав с Python и Pyramid, я понял, что есть более развитые языки, с более развитой инфраструктурой и более отзывчивым сообществом разработчиков. Например, у Ruby сейчас самое развитое комьюнити: его можно сравнить только с JavaScript. Можно сказать, что Ruby-сообщество создало стандарты для тестирования приложений и многие решения мигрировали потом в JavaScript, Python и другие языки.

Фреймворк Ruby on Rails сейчас самый достаточный, самый полный и развитый — так считаю я, да и другие ребята в сообществе. Сейчас уже больше идут наработки по улучшению узких мест и добавлению каких-то специальных фич фреймворка.

Плюсы Ruby для новичка

Когда я входил в Ruby-мир, на Ruby уже было реализовано достаточно большое количество решений: были написаны Twitter, Aviasales, OneTwoTrip, Onlinetours. Множество решений для выкатки приложений тоже написаны на Ruby, например Puppet, Chef — это инструменты, с помощью которых приложения выкатывают на сервер, или Vagrant — виртуализация приложений — написана тоже на Ruby.

Некоторые государственные компании начали использовать язык Ruby, потому что он занял свою нишу как язык быстрого прототипирования проектов. Если вы сейчас хотите запустить свой стартап, то в 99% лучше использовать Ruby — как язык, который поможет вам очень быстро писать, двигаться по проекту и выкатывать его. На слайде пример синтаксиса.

Многие воспринимают Ruby как кукольный, детский язык, но это только начальное восприятие. Первое моё ощущение от Ruby — язык показался магически простым, потому что очень многое происходит за кадром. Он читается, как обычный текст. Меня подкупило, что можно опускать какие-то скобочки, какие-то вещи можно было писать более нативно. Когда вы понимаете язык, вы понимаете, что там нет никакой магии и всё достаточно предсказуемо работает.

Когда узнаёшь этот язык, начинаешь его любить, потому что вещи, которые делаются очень долго на других языках, здесь можно сделать очень быстро. В среднем скорость разработки на Ruby на 30−50% выше, чем на других языках. В два раза, если мы говорим о Java и .NET. Язык действительно очень красивый и простой для понимания, что привлекает всё большее количество разработчиков.

Я вошёл в Ruby-мир как фронтендер. После чистого фронтенда для Pyramid меня пригласили работать в компанию, которая занимается разработкой на Ruby on Rails. В компанию зашёл как фронтенд-разработчик на Ruby и именно в это время и познакомился с самим фреймворком Ruby on Rails. Очень часто ребята начинают сразу учить сам фреймворк с минимальными знаниями языка. Моё мнение, что это ошибка и надо знать язык, потому что понимание языка даст вам большее понимание фреймворка Ruby on Rails.

Не будем забывать, что у Ruby on Rails тоже есть свои проблемы, которые сейчас пытаются решить. Нет ни одного языка, который мог бы решить все задачи: каждый язык берётся под определённое решение, идеального языка нет. Ruby on Rails и Ruby заняли свою нишу как стандарт разработки веб-приложений. Есть библиотеки, которые помогают писать JavaScript, такие как Opal, компилируются из Ruby в JavaScript; есть фреймворки, которые помогают писать приложения для мобильной разработки, например, RubyMotion.

Почему Ruby и Ruby on Rails перспективны

Быстрый вход в индустрию. Ruby — один из наиболее простых для изучения языков. Существует множество обучающих ресурсов, а вся нужная информация содержится в open source, поэтому не требует дополнительных трат с вашей стороны — только если понадобится какое-то очень специфичное решение, но это вряд ли случится на начальном этапе.

Качественный вход. На Ruby очень просто изучать объектно-ориентированное программирование. Здесь проще читается код, проще приводятся примеры и проще само понимание кода — для новичка это плюс. В некоторых проектах доходит до того, что вы можете читать без скобок код и понимать, что он выглядит почти как обычный текст, за исключением некоторых уникальных программ, которые пролетают где-то в коде.

Высокая конкурентная мотивация. Я могу судить по Воронежу, где годовалый джуниор-разработчик на Ruby может просить зарплату в районе 90 тыс. руб. в месяц. Это достаточно серьёзные деньги. А на входе можно получать от 30 до 40 тыс. руб.

Если вы будете искать работу, то вы должны понимать, что Ruby on Rails — это комьюнити, где люди привыкли работать в стартапах. В 80% это будут небольшие компании, зарубежные или нет, и в меньшей степени — большие компании. Государственные компании также в последнее время переходят на разработку на Ruby on Rails. Они понимают, что платить джависту или дотнетчику за то, что он будет писать год — это очень дорого. Проще заплатить Ruby-разработчику, который стоит чуть подороже, но напишет решение за 2−3 месяца.

Возможность релокации. Здесь речь идёт о знании английского языка: если знаете английский на разговорном уровне или хотя бы можете переписываться, то ваша цена сразу растёт. Есть компании, которые работают на российский рынок и ограничения у таких русскоязычных компаний где-то в районе 3000 долларов. Если вы выйдете на уровень зарубежных компаний, то зарплата будет варьироваться от 2500 до 5000 долларов в американских компаниях. Поэтому советую как можно скорее начинать учить английский язык.

Opensource-головорезы. Open source — это не инхаус-разработка, а разработка на комьюнити: любой человек сможет прийти и оценить ваши наработки, а работодатели и заказчики очень часто требуют показать Github-профиль. Поэтому я советую не только завести аккаунт на Github, но и начать прокачивать его.

Как расти в профессии

Самая главная проблема для начинающих — понять, как правильно писать, что использовать, как использовать. Тут я бы просто посоветовал почитать блоги ведущих разработчиков и изучать практики — именно они позволяют ребятам расти быстрее.

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

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

Для понимания скажу так: старшие разработчики — это, как правило, люди, которые не только хорошо пишут код и умеют дебажить, но и хорошо понимают специфику текущего проекта.

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

Касательно построения карьеры в разработке, считаю, что каждый разработчик должен знать фронтенд в той или иной степени, и не важно — вы будете чистый бекенд или нет. С фронтендом, вёрсткой и разметкой вам всегда придётся работать. Стоит развиваться не только вглубь, но ещё и вширь — поглощать другие сферы.

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

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

Моё мнение: чтобы стать современным разработчиком, надо знать фронтенд — хотя бы чуть-чуть, затем изучить бекенд, если это основное направление, а после этого ещё и получить базовые знания DevOps и QA.

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

Ссылка на основную публикацию
Adblock
detector