Habilidades do desenvolvedor Ruby on Rails

Publicado: Última actualização:
Desenvolvedor Ruby on Rails

Então você fez todo o trabalho duro para encontrar seus candidatos a desenvolvedor Ruby on Rails. Isto pode ter envolvido o estabelecimento de relacionamentos duradouros na comunidade de desenvolvedores. Isso também pode ter envolvido você passar a pente fino os projetos do GitHub e encontrar quem tinha os melhores compromissos. Pode até ter sido uma indicação de um de seus outros desenvolvedores. Entretanto você encontrou seus candidatos, agora você precisa encontrar o candidato certo para se encaixar na posição que você está tentando preencher.

Mas há um senão. As entrevistas técnicas ocupam o valioso tempo que os seus actuais programadores poderiam usar para construir o seu produto. Para continuar avançando, você quer realizar o menor número possível de entrevistas. E há uma solução.

A triagem das habilidades do desenvolvedor Ruby on Rails deve eliminar qualquer um que não seja capaz de fazer o trabalho. Isto poupa o tempo de todos. Mas como eliminar candidatos não qualificados enquanto se certificam de que os certos conseguem uma entrevista? Este post irá dizer-lhe tudo o que precisa saber sobre o que procurar num programador Ruby on Rails para que possa encontrar pessoas com as competências exactas que precisa.

1. O que são Ruby e Ruby on Rails?

Esta é uma pergunta interessante porque Ruby e Ruby on Rails são duas coisas distintas. Ruby é uma linguagem de programação dinâmica e interpretada. Foi lançada em 1995 e foi influenciada pelo Perl. Dito isto, ele pode ser facilmente comparado ao Python.

O que é Ruby on Rails?

Ruby on Rails é uma estrutura. Lançado 10 anos após o lançamento original do Ruby, tornou-se a framework mais amplamente utilizada na linguagem Ruby. Ele é orientado principalmente para a web e segue o padrão MVC.

O Ruby é único entre os ambientes de programação em que a maioria dos desenvolvimentos é feita usando um único framework. Isto não quer dizer que não existam outros frameworks e bibliotecas que sejam usados com Ruby. É simplesmente que o Ruby on Rails constitui uma grande parte do desenvolvimento feito na linguagem. Como resultado, vamos focar este post na triagem do Ruby on Rails em vez do Ruby de uma forma mais geral.

O Ruby é na verdade uma linguagem de uso geral que foi construída com foco na simplicidade e produtividade. Com estes objectivos em mente, a sua sintaxe é notavelmente fácil de ler e escrever. Isto torna-o ideal para duas aplicações, como uma linguagem de script do lado do servidor, para além da sua utilização em aplicações front-end.

Para que é usado o Ruby on Rails?

Ruby on Rails é usado principalmente para codificar aplicações web e o back-end para aplicações móveis. Ele vem com muitas vantagens nestas áreas. Por um lado, é de código aberto. Há uma vasta comunidade de desenvolvedores que o usam e atualizam. Também é orientado a tempo e custo, tornando-o ideal para aplicações de negócios. Finalmente, ele reforça a qualidade dos testes e do código, o que significa que apenas o código de alta qualidade é divulgado.

Se você está fazendo qualquer tipo de desenvolvimento web, Ruby on Rails é um dos frameworks mais populares em Ruby hoje em dia. Uma das razões é que Ruby e Ruby on Rails, juntamente com ele, são relativamente fáceis de aprender. É fácil de começar a codificar e depois de começar, é fácil melhorar as suas capacidades. Além disso, a legibilidade que vem com o Ruby torna muito mais fácil compreender o código das outras pessoas.

2. O que é importante para um recrutador de TI saber sobre um desenvolvedor Ruby on Rails?

Provavelmente o mais importante é que há uma diferença entre Ruby puro vs. Ruby on Rails. Isto significa que não é a mesma coisa recrutar um programador Ruby puro vs. um programador Ruby on Rails. Existem outras frameworks Ruby como o Sinatra e estas podem ser úteis para um programador. Mas estas bibliotecas desempenham muitas funções por isso não espere que um programador Ruby puro que conhece o Sinatra tenha uma compreensão profunda do Ruby on Rails.

Em Ruby, as bibliotecas são referidas como gemas e o sistema de gestão de gemas é notável. É também muito fácil de escalar e amadureceu ao ponto de ser completamente estandardizado.

É bom saber sobre o sistema de gemas e quais são mais concorridas. Dito isto, você não deve esquecer que o conhecimento do Ruby e da sua estrutura escolhida são as coisas mais importantes que você deve estar procurando. Também é importante estar a par da última versão da linguagem. O Ruby é bastante estável mas um candidato deve estar familiarizado com as últimas versões do Ruby e Rails.

Com que frequência o ambiente muda

Parte da razão da estabilidade do Ruby on Rails é que o ambiente muda regularmente. A cada dois anos há uma nova versão do Rails. Embora normalmente haja algumas novas funcionalidades, geralmente há um alto grau de retrocompatibilidade de palavras-chave. Além disso, uma nova versão do Ruby sai cerca de todos os anos.

Ruby é uma linguagem de código aberto e há milhares de gemas de código aberto e gratuito disponíveis online. Há também uma enorme comunidade que suporta a linguagem. Uma das coisas legais sobre Ruby on Rails especificamente é que você não precisa ter o framework inteiro para usar uma de suas características. Em vez disso, você pode importar os módulos que você precisa para sua aplicação Ruby sem ter que assumir todo o framework.

Ao procurar por um desenvolvedor Ruby on Rails, é importante para o candidato ter pelo menos um ano de comercial real usado com Ruby on Rails. Isto porque há uma enorme diferença entre projetos pessoais e comerciais usando Ruby on Rails. Claro, se o candidato estiver familiarizado com frameworks como Laravel em PHP ou Django em Python, ele não precisará de tanta experiência para se atualizar. Candidatos que contribuíram para projetos open source Ruby on Rails são particularmente valiosos.

Se você está apenas tentando encontrar um desenvolvedor que usa Ruby como uma linguagem de script, ele também precisa conhecer o básico do Linux, redes e outros conceitos básicos do sistema.

3. Como verificar as habilidades do Ruby on Rails na fase de triagem?

A triagem pode ser um processo difícil. Dependendo da mensagem utilizada, pode ser benéfico tanto para o candidato como para o recrutador ou pode ser um pesadelo demorado para ambos. Abaixo compilamos uma série de dicas que podem ajudá-lo a selecionar as habilidades do desenvolvedor Ruby on Rails.

3.1. Triagem técnica das competências do Ruby on Rails com base num CV

Antes de você fazer qualquer tipo de teste de habilidades é importante ver quanta experiência seu candidato tem com Ruby on Rails em aplicações comerciais. Também vale a pena ver que outras linguagens o candidato conhece. Isto porque candidatos que conhecem outros frameworks MVC modernos podem ter uma curva de aprendizado mais suave. Também vale a pena verificar se o candidato fez alguma contribuição para projetos open source. Um desenvolvedor que usa Ruby sem Ruby on Rails ou outros frameworks frequentemente tem um conhecimento mais profundo da base pura da linguagem, o que é uma grande vantagem a ter.

Tecnologia Ruby on Rails - um glossário básico de termos do desenvolvedor Ruby on Rails para recrutadores de TI

Glossário do desenvolvedor Ruby on Rails

Fonte da imagem: Foto por Carga de Aaron em Desplash

Se você já leu até aqui, você provavelmente pegou algum vocabulário novo como gemas e Sinatra. Mesmo que estas sejam novas para você, é importante ter o vocabulário sobre Ruby on Rails certo para ser realmente capaz de entender o que seu candidato está familiarizado com e é capaz de fazer. Aqui está uma lista de vocabulário importante que você precisa saber para o Ruby on Rails.

Estruturas Ruby Ruby on Rails, Sinatra
Servidores de aplicação Unicórnio, Puma, Passageiro, Fino
Testando pedras preciosas Rspec, Sinatra, Capybara, Cucumber, FactoryBot, VCR
Gerentes da versão Ruby Rbenv, RVM
ORM ORM Mongoid, ActiveRecord
Revisão do código Rubocop, SimpleCov, RubyCritic, RubyCritic, Rails_best_practices
Autorização Devise, OmniAuth, CanCanCan, API ou WS Grape, WashOut
Processamento de trabalhos de fundo Sidekiq, Resque

Claro, isto é apenas o básico. Agora podemos entrar em detalhes sobre informações importantes para triagem de desenvolvedores Ruby on Rails.

Os nomes podem ser usados de forma intercambiável?

RoR significa Ruby on Rails. Muitas vezes você também ouve Ruby on Rails abreviado para Rails. É importante notar que o Ruby on Rails tem uma relação especial com o ambiente Ruby. Ao contrário de frameworks para outras linguagens, ouve-se falar de Ruby on Rails com mais frequência do que se ouve falar de Ruby por si só.

Que certificações existem e são valiosas?

Você pode ver algumas certificações, como a certificação da Associação Ruby para candidatos seniores. Verdade seja dita, eu nunca vi nenhuma empresa pedir por elas. Na minha opinião, ser ativo na comunidade, escrever um post, ou preparar uma palestra sobre Ruby on Rails é mais valioso do que qualquer certificado que o candidato possua.

É um pouco diferente para os candidatos júnior e estagiários. É melhor que tenham um diploma ou pelo menos um diploma do campo de treino, do que nenhuma experiência formal. Ao mesmo tempo, o mais importante são as suas competências e não os diplomas que possuem.

O que mais você deve procurar em um currículo?

Além dessas habilidades, há outras informações no CV de um candidato que podem mostrar as habilidades de um candidato.

  • Empresas que são conhecidas por aplicar boas práticas
  • Uma licenciatura em ciências da computação
  • Um bom GitHub ou outro perfil de código aberto
  • Livros que o candidato tenha lido
  • Conhecimento das consultas da base de dados
  • Outras ferramentas e tecnologias, como Git, Docker, Kafka e alguns frameworks JavaScript

3.2. Perguntas da Ruby on Rails durante uma entrevista técnica por telefone/vídeo

Uma vez feito o ecrã do CV, pode ser útil fazer um ecrã do telefone. Não deve demorar muito, mas pode dizer-lhe muito sobre se deve convidar o candidato para uma entrevista formal. Apesar de não revelarem capacidades de codificação exactas, podem iluminar a compreensão dos candidatos sobre o ambiente e a sua abordagem à tecnologia.

Perguntas da entrevista Ruby on Rails

Q1: Quais são as mudanças entre Rails 4 e Rails 5?

Por que você deveria perguntar isso: Um candidato a um cargo sênior ou que afirma ter trabalhado com Rails por mais de 2 anos deve saber pelo menos algumas características que Rails 5 acrescentou.

Q2: Em um Ruby on Rails, onde você escreve sua lógica: Modelos, View ou Controladores? Existe alguma alternativa?

Por que você deveria perguntar isso: "Fat Model, Skinny Controller" é o lema básico do Ruby on Rails, por isso todos os candidatos a Rails devem saber disso. No entanto, mais candidatos seniores devem responder que preferem Skinny Models, Skinny Controller, e Fat Services.

Q3: Quais são as principais diferenças entre rspec e minitest?

Por que você deveria perguntar isso: Em Ruby, os testes são quase obrigatórios. No entanto, existem duas grandes bibliotecas para testes. Um bom candidato conhecerá uma delas, mas uma brilhante terá brincado com ambas, não apenas com a que usam na sua posição actual. Eles devem ser capazes de descrever as principais diferenças.

Q4: Dada uma classe que tem estes métodos,

  • def factorial(número): retorna o factorial de #number
  • def fibonacci(n): calcula o valor do n.º de Fibonacci

que teste de unidade você escreveria?

Por que você deveria perguntar isso: Outra questão de teste, mas neste caso, além de testar sua capacidade de escrever teste, a idéia é aprender o quão bem o candidato pensa em casos extremos que podem causar problemas.

Q5: Você tem um código e testou um ticket para uma nova funcionalidade em uma nova página. Logo após implementá-lo na produção, detectamos que a nova página carrega, mas leva um minuto. Para onde você olha?

Por que você deveria perguntar isso: Talvez minha pergunta favorita, não é específica do Ruby on Rails, mas diz muito sobre seu candidato e sua experiência enfrentando problemas na vida real. Se eles estão completamente perdidos, eles provavelmente não conseguiram grandes projetos. Além disso, a resposta e os aspectos que eles cobrem lhe dirão muito sobre a experiência deles no DevOps, JS, Bancos de Dados, backup, entre outros. O candidato sénior que você está procurando pode lhe dizer 5+ lugares para olhar.

Q6: Por que você escolheu Ruby on Rails?

Por que você deve perguntar isso: Hoje existem mais de uma dúzia de frameworks para escolher, é bom saber o que a pessoa que se candidata a uma posição no Rails começou com esse framework.

Q6: O que o Rails acrescenta ao Ruby?

Por que você deve perguntar isso: Embora o Ruby seja muito ligado ao Ruby on Rails, é bom saber quais são os valores agregados dos frameworks e qual é o núcleo do sistema.

3.3. Triagem técnica das habilidades do desenvolvedor Ruby on Rails com testes de codificação online

Telas de CV podem dizer o que um desenvolvedor Ruby on Rails reporta para você saber e ter experiência em. Uma tela telefônica adicional pode lhe dizer como eles lidariam com certas situações e se eles podem responder trivialidades. Embora estas sejam ambas ferramentas úteis, elas ainda não podem lhe dizer sobre a habilidade dos seus candidatos em realmente codificar. Os testes de codificação online são provavelmente a melhor maneira de determinar as habilidades de codificação de um desenvolvedor Ruby on Rails. Mas é importante escolher o certo, já que nem todos são criados de forma igual.

Os testes algorítmicos são tradicionais, mas ainda assim são insuficientes. Eles não podem realmente testar o conhecimento de um candidato sobre o ambiente. Isto é especialmente problemático para um desenvolvedor Ruby on Rails. Não é suficiente saber se alguém pode escrever um algoritmo em Ruby, eles precisam ser capazes de usar o framework Ruby on Rails quando necessário. Existe um número limitado de formas de resolver problemas de algoritmos. Adicionalmente, as preocupações de plágio significam que não se pode recorrer a recursos normais que um programador gostaria de ter no Google ou Stack Overflow.

Provavelmente, a melhor maneira de selecionar as habilidades de codificação Ruby on Rails de um desenvolvedor é dar-lhes um teste da amostra de trabalho. Estes envolvem dar ao candidato uma tarefa como a que receberia no seu primeiro dia de trabalho. Então deixe o seu candidato completar a tarefa num ambiente o mais natural possível. Isto significa poder utilizar todos os recursos que normalmente utilizariam. Estes incluem frameworks e bibliotecas como Rails e Sinatra ou outros recursos como Stack Overflow e Google. Você pode então avaliar a eficácia da solução que eles criam em todos os casos de borda, sua lógica de negócios e a qualidade de seu código.

Confira as últimas Salário do desenvolvedor Ruby on Rails.

Autor - Albert Lozano Bautista

Ruby on Rails developer Albert Lozano

Albert é o CTO das soluções de viagem FCM para França e Suíça. Lá ele usa principalmente Ruby, Ruby on Rails e React, assim como Elixir e outras estruturas e tecnologias. Anteriormente ele trabalhou para a empresa fintech, Novicap. Antes disso, ele trabalhou para LivingSocial e LetsBonus, ambas empresas multinacionais do mercado de lazer.

O FCM FR & CH tem um laboratório de tecnologia em Barcelona, onde Albert lidera a equipa de desenvolvimento. Eles dão suporte a integrações com fornecedores e clientes. Eles também projetam e constroem novos produtos para a indústria de viagens.

4. DevSkiller tem pronto para usar as tarefas de codificação online do desenvolvedor Ruby on Rails

Os testes de amostras de trabalho podem ser simples mas demorados de criar. Também pode demorar algum tempo para avaliar os resultados do teste. Felizmente, DevSkiller tem uma série de tarefas pré-fabricadas de Ruby on Rails. Ao invés de lidar com conceitos abstratos ou acadêmicos, eles envolvem dar ao seu candidato uma tarefa real que os desenvolvedores Rails lidam todos os dias.

Ruby
JUNIOR
Competências testadas
Duração
81 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby on Rails

Lacunas de código

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Fácil

Ruby | Ruby on Rails | Simple API Student Class App - Implementar um fundo para um registo de classe virtual para uma escola local. Adicionar regras de validação e implementar endpoint para expor alguns dados JSON.

Ruby on Rails
SENIOR
Competências testadas
Duração
75 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby on Rails

Tarefa de programação - Nível: Difícil

Ruby | Ruby on Rails | OnTheClock in the mine - Implementar os dois pontos finais descritos na tarefa.

Ruby on Rails
JUNIOR
Competências testadas
Duração
70 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby on Rails

Lacunas de código

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Fácil

Ruby on Rails | Game of Chairs | Prevenir a duplicação de personagens - Criar e organizar dados para o programa de TV - Game of Chairs.

Ruby
MÉDIO
Competências testadas
Duração
40 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby on Rails

Tarefa de programação - Nível: Médio

Ruby | Ruby on Rails | Aplicação de gestão de voo | Reserva de lugares e análise de voos - Implementar funcionalidades em falta da aplicação de gestão de dados dos voos, tais como reserva de lugares e análise de voos.

Ruby
JUNIOR
Competências testadas
Duração
70 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Fácil

Ruby on Rails | Criar e organizar dados para o programa de TV - Game of Chairs.

Ruby on Rails
JUNIOR
Competências testadas
Duração
51 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Fácil

Ruby | Ruby on Rails | Anonimizador - Implementar 3 anonimizadores de conteúdo: para e-mails, para o nome de usuário do Skype e para números de telefone.

Ruby
MÉDIO
Competências testadas
Duração
119 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Médio

Ruby | Ruby on Rails | Cookbook - Adicione regras de validação e implemente a funcionalidade de pesquisa de receitas usando o banco de dados SQLite3.

Ruby
JUNIOR
Competências testadas
Duração
54 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Ruby, Ruby on Rails

Tarefa de programação - Nível: Fácil

Ruby | Ruby on Rails | Desafio dos comentários - Adicione associações para comentários e implemente ações de índice para posts em blogs.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore