Вимоги зарубіжних работодатедей до кандидатів на посаду Junior Rails Developer

Значна частина фактичних і майбутніх ІТ-фахівців орієнтована на закордонного замовника (роботодавця). Для успішної реалізації цих прагнень необхідно володіти інформацією про те, що саме очікує від вас потенційний роботодавець. Буквально на днях, наші хлопці бурхливо обговорювали досвід роботи з такими замовниками, і хтось кинув в загальний чат посилання на статтю, яка представлена нижче. Джейсон Сейфер — викладач навчального ресурсу 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/ — необхідний базис).

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

0 коментарів

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