Требования зарубежных работодатедей к кандидатам на должность Junior Rails Developer

в 11:53, , рубрики: ruby on rails, Блог компании Paysto, фриланс

Значительная часть фактических и будущих IT-специалистов ориентирована на зарубежного заказчика (работодателя). Для успешной реализации этих стремлений необходимо обладать информацией о том, что именно ожидает от вас потенциальный работодатель. Буквально на днях, наши ребята бурно обсуждали опыт работы с такими заказчиками, и кто-то кинул в общий чат ссылку на статью, которая представлена ниже. Джейсон Сейфер – преподаватель обучающего ресурса teamtreehouse.com рассказывает о том, какой набор базовых навыков необходим Junior Rails Developer. Несмотря на то, что Джейсон не вдается в конкретику, этот список языков, технологий и ПО поможет проверить широту своих знаний и определить направления подготовки, на которые необходимо обратить внимание.

Ruby on Rails

Само собой разумеется, что работодатели ищут специалистов, которые в полной мере владеют как Ruby, так и Ruby on Rails, также очевидно, что немалое значение имеет и опыт разработчика. Junior Rails Developer должен быть знаком с Rails Guides, а в частности:

— модели, контроллеры и представление (Вид);

— маршрутизация;

— валидации Active Record, обратные вызовы и связи (ассоциации);

— макеты;

— установка Bundler и Gem;

— отладка;

— знание документации и умение ее читать.

Трудно определить четкую границу технологий, поэтому необходимо владеть не только Rails, но и сопутствующими технологиями: например, Ruby, базовое администрирование linux, JavaScript и др.

Кроме того, важно знание чистого Ruby. Также, требуется знание синтаксиса Ruby и знакомство с руководством по стилю, например от GitHub.

HTML и CSS

Rails Developer должен знать как HTML, так и CSS. Конечно, встречаются случаи, когда планируется работа только с Ruby back-endом, но это довольно редкое явление.

JavaScript

Я сознательно объединяю JavaScript и JQuery в одно требование. При составлении требований к кандидатам они часто используются как взаимозаменяемые термины. Большой акцент делается на том, что JavaScript нужно знать именно в контексте Rails. Кроме того, обратите внимание на некоторые из фреймворков, которые активно набирают популярность. Знание Backbone, Ember и Angular дадут вам неплохое конкурентное преимущество.

MySQL

Хотя базы данных NOSQL становятся все популярнее, MySQL по-прежнему активно используются. Кроме того, вам стоит знать, что такое PostgreSQL и как ней пользоваться.

Модульное тестирование

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

RSpec

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

Интересно, что каждый подход к организации тестирования (RSpec и модульное тестирование) встречается примерно в половине объявлений. Соответственно, можно считать необходимостью близкое знакомство с этими технологиями.

Git

Сегодня, Git де-факто является стандартом управления версиями. Да, Mercurial, Subversion и другие системы управления версиями, все еще используются, но Junior Rails Developer должен знать, как использовать Git. Использование системы управления версиями является важным требованием в наши дни. Дядя Боб Мартин сравнивает написание тестов и использование систем управления версиями с мытьем рук врача — это просто то, что делает каждый профессионал.

Администрирование Linux

В виду популяризации «DevOps», в которой разработчики должны писать программы, помогающие контролировать инфраструктуру приложения, первым шагом на пути к этой цели является обучение работе в Linux и администрирование системы. Речь идет об умении ориентироваться в операционной системе, установить программное обеспечение, обновить и настроить ПО, устранить неполадки и многое другое. После того, как эти навыки освоены, можно переходить к более продвинутым навыкам, связанным с DevOps, например Capistrano.

Agile методологии

Работодатели часто требуют знание и наличие опыта использования гибких подходов к разработке. Конечно, это палка о двух концах: невозможно получить опыт использования таких методик, не работая в команде, которая их использует. Я рекомендую прочитать по этой тематике все, что вы только сможете найти (примечание переводчика: http://agilemanifesto.org/ — необходимый базис).

Автор: Irina_Ua

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js