Færdigheder som udvikler af Ruby on Rails

Udgivet: Sidst opdateret:
Ruby on Rails-udvikler

Så du har gjort alt det hårde arbejde med at finde dine Ruby on Rails-udviklerkandidater. Det har måske krævet, at du har skabt varige relationer i udviklermiljøet. Det har måske også betydet, at du har gennemgået GitHub-projekter og fundet ud af, hvem der havde de bedste commits. Det kan endda have været en henvisning fra en af dine andre udviklere. Uanset hvordan du har fundet dine kandidater, skal du nu finde den rigtige kandidat, der passer til den stilling, du forsøger at besætte.

Men der er en hage ved det. Tekniske interviews tager den værdifulde tid, som dine nuværende udviklere kunne bruge på at udvikle dit produkt. Hvis du vil fortsætte med at komme videre, skal du holde så få interviews som muligt. Og der er en løsning.

Screening af Ruby on Rails-udviklerens færdigheder bør fjerne alle, der ikke er i stand til at udføre jobbet. Det sparer alles tid. Men hvordan kan du fjerne ukvalificerede kandidater og samtidig sikre, at de rigtige kandidater får en samtale? Dette indlæg fortæller dig alt, hvad du skal vide om, hvad du skal kigge efter hos en Ruby on Rails-udvikler, så du kan finde folk med præcis de færdigheder, som du har brug for.

1. Hvad er Ruby og Ruby on Rails?

Det er et interessant spørgsmål, fordi Ruby og Ruby on Rails er to forskellige ting. Ruby er et dynamisk fortolket programmeringssprog. Det blev udgivet tilbage i 1995 og var påvirket af Perl. Når det er sagt, kan det nemt sammenlignes med Python.

Hvad er Ruby on Rails?

Ruby on Rails er en ramme. Det blev udgivet 10 år efter den oprindelige udgave af Ruby og er blevet det mest udbredte framework i Ruby-sproget. Det er weborienteret og bruges primært til at bygge webapps, og det følger mønsteret MVC.

Ruby er enestående blandt programmeringsmiljøer, fordi det meste af udviklingen foregår ved hjælp af én ramme. Det betyder ikke, at der ikke findes andre rammer og biblioteker, der anvendes sammen med Ruby. Det er bare det, at Ruby on Rails udgør et betydeligt flertal af den udvikling, der udføres i sproget. Derfor vil vi i dette indlæg fokusere på screening af Ruby on Rails i stedet for Ruby mere generelt.

Ruby er faktisk et generelt sprog, som er udviklet med fokus på enkelhed og produktivitet. Med disse mål i tankerne er dets syntaks utrolig nem at læse og skrive. Dette gør det ideelt til to applikationer, som et scriptingsprog på serversiden ud over dets anvendelse i front-end applikationer.

Hvad bruges Ruby on Rails til?

Ruby on Rails bruges primært til at kode webapplikationer og backend til mobilapps. Det har mange fordele på disse områder. For det første er det open source. Der er et stort fællesskab af udviklere, som bruger og opdaterer det. Det er også tids- og omkostningsorienteret, hvilket gør det ideelt til erhvervsapplikationer. Endelig håndhæver det test- og kodekvalitet, hvilket betyder, at kun kode af høj kvalitet kommer ud.

Hvis du beskæftiger dig med webudvikling, er Ruby on Rails en af de mest populære rammer i Ruby i dag. En af grundene er, at Ruby og Ruby on Rails sammen med det er relativt nemt at lære. Det er nemt at komme i gang med at kode, og når du først er kommet i gang, er det nemt at forbedre dine færdigheder. Desuden gør den læsbarhed, der følger med Ruby, at det er meget lettere at forstå andres kode.

2. Hvad er vigtigt for en it-rekrutteringskonsulent at vide om en Ruby on Rails-udvikler?

Den vigtigste pointe er nok, at der er forskel på ren Ruby og Ruby on Rails. Det betyder, at det ikke er det samme at ansætte en ren Ruby-udvikler som en Ruby on Rails-udvikler. Der findes andre Ruby frameworks som Sinatra, og disse kan være nyttige for en udvikler. Men disse biblioteker udfører mange funktioner, så man skal ikke forvente, at en ren Ruby-udvikler, der kender Sinatra, har en dybtgående forståelse af Ruby on Rails.

I Ruby kaldes biblioteker for gems, og gem-håndteringssystemet er bemærkelsesværdigt. Det er også meget let at skalere og er modnet så meget, at det er fuldstændig standardiseret.

Det er godt at vide noget om ædelstenssystemet, og hvilke ædelsten der er mest populære. Når det er sagt, må du ikke glemme, at kendskab til Ruby og den valgte ramme er det vigtigste, du skal kigge efter. Det er også vigtigt at være opdateret på den nyeste version af sproget. Ruby er ret stabilt, men en kandidat bør være bekendt med de nyeste versioner af Ruby og Rails.

Hvor ofte miljøet ændrer sig

En del af årsagen til Ruby on Rails' stabilitet er, at miljøet ændres regelmæssigt. Ca. hvert andet år kommer der en ny version af Rails. Selv om der normalt er nogle nye funktioner, er der normalt en høj grad af bagudkompatibilitet. Dertil kommer, at der kommer en ny version af Ruby ca. hvert år.

Ruby er et open source-sprog, og der findes tusindvis af open source- og gratis perler på nettet. Der er også et stort fællesskab, som støtter sproget. En af de fede ting ved Ruby on Rails specifikt er, at du ikke behøver at have hele rammen for at bruge en af dets egenskaber. I stedet kan du importere de moduler, som du har brug for til din Ruby-applikation, uden at du behøver at tage hele rammen på dig.

Når du leder efter en Ruby on Rails-udvikler, er det vigtigt, at kandidaten har mindst et års erfaring med Ruby on Rails i kommercielt øjemed. Dette skyldes, at der er stor forskel på personlige projekter og kommercielle projekter med Ruby on Rails. Hvis kandidaten er bekendt med frameworks som Laravel i PHP eller Django i Python, har han/hun naturligvis ikke brug for så meget erfaring for at komme i gang. Kandidater, der har bidraget til Ruby on Rails open source-projekter, er særligt værdifulde.

Hvis du blot forsøger at finde en udvikler, der bruger Ruby som et scriptingsprog, skal vedkommende også have kendskab til Linux, netværk og andre grundlæggende systemteknikker.

3. Hvordan kan man kontrollere Ruby on Rails-færdigheder i screeningsfasen?

Screening kan være en vanskelig proces. Afhængigt af det budskab, du bruger, kan det enten være en fordel for både kandidaten og rekrutteringsmedarbejderen, eller det kan være et tidskrævende mareridt for begge parter. Nedenfor har vi samlet en række tips, der kan hjælpe dig med at screene Ruby on Rails-udviklerkompetencer.

3.1. Teknisk screening af Ruby on Rails-færdigheder på grundlag af et CV

Før du laver en færdighedstest, er det vigtigt at se, hvor meget erfaring din kandidat har med Ruby on Rails i kommercielle applikationer. Det er også værd at se på, hvilke andre sprog kandidaten kender. Det skyldes, at kandidater, der kender andre moderne MVC-rammer, kan have en blødere indlæringskurve. Det er også værd at undersøge, om kandidaten har bidraget til open source-projekter. En udvikler, der har brugt Ruby uden Ruby on Rails eller andre frameworks, har ofte en dybere viden om sprogets rene grundlag, hvilket er et stort aktiv at have.

Ruby on Rails-teknologi - en grundlæggende ordliste over Ruby on Rails-udviklerbegreber til it-ansatte

Ordliste for Ruby on rails-udviklere

Billedkilde: Foto: Foto af Aaron Burden på Unsplash

Hvis du har læst så langt, har du sikkert lært noget nyt ordforråd som perler og Sinatra. Selv om disse er nye for dig, er det vigtigt at få styr på ordforrådet om Ruby on Rails for virkelig at kunne forstå, hvad din kandidat kender til og kan. Her er en liste over vigtigt ordforråd, som du skal kende til Ruby on Rails.

Ruby-rammer Ruby on Rails, Sinatra
Applikationsservere Enhjørning, Puma, Passager, Tynd
Test af ædelstene Rspec, Sinatra, Capybara, Cucumber, FactoryBot, VCR
Administratorer af Ruby-versioner Rbenv, RVM
ORM ORM Mongoid, ActiveRecord
Gennemgang af kode Rubocop, SimpleCov, RubyCritic, rails_best_practices
Godkendelse Devise, OmniAuth, CanCanCan, API eller WS Grape, WashOut
Jobbehandling i baggrunden Sidekiq, Resque

Dette er naturligvis kun det grundlæggende. Vi kan nu gå i detaljer om vigtige oplysninger for Ruby on Rails-udviklere, der skal screenes.

Kan navnene bruges i flæng?

RoR står for Ruby on Rails. Ofte hører man også Ruby on Rails forkortet til Rails. Det er vigtigt at bemærke, at Ruby on Rails har et særligt forhold til Ruby-miljøet. I modsætning til frameworks til andre sprog hører man Ruby on Rails omtalt oftere, end man hører Ruby omtalt i sig selv.

Hvilke certificeringer er der, og er de værdifulde?

Du kan se nogle certificeringer som Ruby Association-certificeringen for ældre kandidater. Jeg har ærlig talt aldrig set nogen virksomheder bede om dem. Efter min mening er det at være aktiv i fællesskabet, skrive et indlæg eller forberede et foredrag om Ruby on Rails mere værdifuldt end ethvert certifikat, som kandidaten er i besiddelse af.

Det er lidt anderledes for yngre kandidater og praktikanter. Det er bedre, at de har en uddannelse eller i det mindste et bootcamp-diplom, end at de ikke har nogen formel erfaring overhovedet. Samtidig er det vigtigste deres færdigheder og ikke de eksamensbeviser, de har, der er det vigtigste.

Hvad skal du ellers kigge efter på et CV?

Ud over disse færdigheder er der andre oplysninger på en kandidats CV, som kan vise kandidatens færdigheder.

  • Virksomheder, der er kendt for at anvende god praksis
  • en uddannelse inden for datalogi
  • En god GitHub-profil eller en anden open source-profil
  • Bøger, som kandidaten har læst
  • kendskab til databaseforespørgsler
  • Andre værktøjer og teknologier som Git, Docker, Kafka og visse JavaScript-rammer

3.2. Ruby on Rails-interviewspørgsmål under et teknisk interview pr. telefon/video

Når du har lavet en CV-screening, kan det være nyttigt at lave en telefonscreening. Det bør ikke tage for lang tid, men det kan fortælle dig en masse om, hvorvidt du bør invitere kandidaten til en formel samtale. Selv om de ikke afslører nøjagtige kodningsfærdigheder, kan de belyse kandidaternes forståelse af miljøet og deres tilgang til teknologien.

Spørgsmål til Ruby on Rails-interview

Q1: Hvad er ændringerne mellem Rails 4 og Rails 5?

Hvorfor du skal spørge om dette: En kandidat til en lederstilling eller en kandidat, der hævder at have arbejdet med Rails i mere end 2 år, skal kende mindst et par af de funktioner, som Rails 5 har tilføjet.

Q2: Hvor skriver du din logik i Ruby on Rails? Modeller, View eller Controllers? Er der noget alternativ?

Hvorfor du skal spørge om dette: "Fat Model, Skinny Controller" er det grundlæggende motto for Ruby on Rails, så det bør alle Rails-kandidater vide. Men de mere erfarne kandidater bør svare, at de foretrækker Skinny Models, Skinny Controllers og Fat Services.

Q3: Hvad er den største forskel mellem rspec og minitest?

Hvorfor du skal spørge om dette: I Ruby er test næsten obligatoriske. Der findes dog to store biblioteker til testning. En god kandidat vil kende et af dem, men en dygtig kandidat vil have leget med begge, ikke kun det, som han/hun bruger i sin nuværende stilling. De bør kunne beskrive de vigtigste forskelle.

Q4: Givet en klasse, der har disse metoder,

  • def factorial(number): returnerer faktorialen af #number
  • def fibonacci(n): beregner værdien af det niende Fibonacci-tal

hvilken enhedstest ville du skrive?

Hvorfor du skal spørge om dette: Endnu et testspørgsmål, men i dette tilfælde er idéen ud over at teste deres evne til at skrive test også at lære, hvor god kandidaten er til at brainstorme og tænke på edge cases, der kan forårsage problemer.

Q5: Du har en kode og har testet en billet til en ny funktion på en ny side. Lige efter at vi har distribueret den til produktion, registrerer vi, at den nye side indlæses, men det tager et minut. Hvad kigger du på?

Hvorfor du skal spørge om dette: Det er måske mit yndlingsspørgsmål. Det er ikke specifikt for Ruby on Rails, men det fortæller dig en masse om din kandidat og hans/hendes erfaring med at løse problemer i det virkelige liv. Hvis de er helt i vildrede, har de sandsynligvis ikke ledet store projekter. Desuden vil svaret og de aspekter, som de dækker, fortælle dig en masse om deres erfaring med DevOps, JS, databaser, backed, blandt andet. Den seniorkandidat, som du leder efter, kan fortælle dig 5+ steder at kigge på.

Q6: Hvorfor valgte du Ruby on Rails?

Hvorfor du bør spørge om dette: I dag er der mere end et dusin frameworks at vælge imellem, så det er godt at vide, hvad den person, der søger en Rails-stilling, startede med det pågældende framework.

Q6: Hvad tilføjer Rails til Ruby?

Hvorfor du bør spørge om dette: Selv om Ruby er meget knyttet til Ruby on Rails, er det godt at vide, hvad der er merværdien af rammene, og hvad der er kernen i systemet.

3.3. Teknisk screening af Ruby on Rails-udviklerens færdigheder med online kodningstest

CV-skærme kan fortælle dig, hvad en Ruby on Rails-udvikler skal vide om og have erfaring med. En yderligere telefonscreening kan fortælle dig, hvordan de ville håndtere visse situationer, og om de kan svare på trivia-spørgsmål. Selv om det begge er nyttige værktøjer, kan de stadig ikke fortælle dig noget om dine kandidaters evne til rent faktisk at kode. Online kodetests er sandsynligvis den bedste måde at afgøre en Ruby on Rails-udviklers kodningsevner på. Men det er vigtigt at vælge den rigtige, da de ikke alle er lige gode.

Algoritmiske tests er traditionelle, men de er stadig utilstrækkelige. De kan ikke rigtig teste en kandidats viden om miljøet. Dette er især problematisk for en Ruby on Rails-udvikler. Det er ikke nok at vide, om nogen kan skrive en algoritme i Ruby, de skal også kunne bruge Ruby on Rails-rammen, når det er nødvendigt. Der er et begrænset antal måder at løse algoritmeproblemer på. Derudover betyder plagiatproblemer, at man ikke kan trække på normale ressourcer, som en udvikler ville bruge, f.eks. Google eller Stack Overflow.

Den bedste måde at screene en udviklers Ruby on Rails-kodningsevner på er nok at give dem en arbejdsprøve test. Disse indebærer, at kandidaten får en opgave, som ligner dem, de ville få på deres første arbejdsdag. Lad derefter kandidaten løse opgaven i et så naturligt miljø som muligt. Det betyder, at de skal kunne bruge alle de ressourcer, som de normalt ville bruge. Disse omfatter frameworks og biblioteker som Rails og Sinatra eller andre ressourcer som Stack Overflow og Google. Du kan derefter vurdere effektiviteten af den løsning, de skaber i alle edge cases, deres forretningslogik og kvaliteten af deres kode.

Se de seneste nyheder Løn for Ruby on Rails-udvikler.

Forfatter - Albert Lozano Bautista

Ruby on Rails-udvikler Albert Lozano

Albert er CTO for FCM's rejseløsninger for Frankrig og Schweiz. Her bruger han primært Ruby, Ruby on Rails og React samt Elixir og andre rammer og teknologier. Tidligere arbejdede han for fintech-virksomheden Novicap. Før det arbejdede han for LivingSocial og LetsBonus, begge multinationale virksomheder på fritidsmarkedet.

FCM FR & CH har et teknisk laboratorium i Barcelona, hvor Albert leder udviklingsteamet. De yder støtte til integrationer med udbydere og kunder. De designer og udvikler også nye produkter til rejsebranchen.

4. DevSkiller har klar til brug online Ruby on Rails udvikler kodning opgaver

Arbejdsprøveprøver kan være enkle, men tidskrævende at udarbejde. Det kan også tage et stykke tid at evaluere resultaterne af testen. Heldigvis har DevSkiller en række færdiglavede Ruby on Rails-opgaver. I stedet for at behandle abstrakte eller akademiske begreber indebærer de, at du giver din kandidat en reel opgave, som Rails-udviklere løser hver dag.

Ruby on Rails
JUNIOR
Testede færdigheder
Varighed
70 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Ruby on Rails

Huller i koden

vurdering af viden om Ruby, Ruby on Rails

Programmeringsopgave - Niveau:

Ruby on Rails | Game of Chairs | Forebyg dobbeltkarakter - Opret og organiser data til tv-showet - Game of Chairs.

Ruby
MIDDLE
Testede færdigheder
Varighed
40 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Ruby on Rails

Programmeringsopgave - Niveau: Medium

Ruby | Ruby on Rails | Flight manager app | Pladsreservation og analyse af flyvninger - Implementer manglende funktioner i applikationen til styring af flyvninger som f.eks. pladsreservation og analyse af flyvninger.

Ruby
JUNIOR
Testede færdigheder
Varighed
51 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Ruby, Ruby on Rails

Programmeringsopgave - Niveau:

Ruby | Ruby on Rails | Anonymizer - Implementer 3 indholdsanonymiserere: for e-mails, for Skype-brugernavn og for telefonnumre.

Ruby
MIDDLE
Testede færdigheder
Varighed
119 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Ruby, Ruby on Rails

Programmeringsopgave - Niveau: Medium

Ruby | Ruby on Rails | Kogebog - Tilføj valideringsregler og implementer søgefunktionalitet til opskrifter ved hjælp af SQLite3-database.

Ruby
JUNIOR
Testede færdigheder
Varighed
54 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Ruby, Ruby on Rails

Programmeringsopgave - Niveau:

Ruby | Ruby on Rails | Comments challenge - Tilføj associationer til kommentarer og implementer indekshandling for blogindlæg.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo