blog.1.image

Cómo contratar desarrolladores Ruby on Rails (y 12 preguntas clave para una entrevista de trabajo)

Fabián Rodríguez
Back to Blog

Cuando queremos contratar a un desarrollador de Ruby On Rails para nuestro equipo, debemos entender ciertos conceptos clave sobre la posición que ocupará esta persona y las responsabilidades que tendrá.

Si el desarrollador que se va a contratar será el encargado de escribir las APIs, esa persona debe tener muy clara la arquitectura que se utilizará, por ejemplo, RESTful, que es la más usada, requiere que el candidato sepa sobre verbos HTTP, además, de status codes, headers y arquitectura cliente-servidor.

Buenas prácticas del desarrollador

Algo que no debería estar infravalorado son las buenas prácticas que el desarrollador implementa al momento de escribir código en el back-end. Podemos destacar algunas como:

  • API versioning para estructurar correctamente los endpoints.

  • Security usando técnicas como validación de datos entrada o implementando CORS.

  • Authentication mediante algún método como OAuth o JSON Web Tokens.

Preguntas de entrevista

Las preguntas para entrevistar a un candidato a la posición de desarrollador Ruby On Rails pueden clasificarse por conocimientos propios del lenguaje Ruby y otras enfocadas al framework Rails. Veamos:

Lenguaje Ruby

  • ¿Cuál es la diferencia entre una clase y un módulo?

  • ¿Cuáles son los tres niveles de control de acceso a métodos para clases y qué significan?

  • ¿Qué significa "self"?

  • Explique qué son los métodos singleton. ¿Qué es Eigenclass en Ruby?

  • ¿Cuál es la diferencia entre false y nil en Ruby?

Framework Rails

  • ¿Qué es el Asset Pipeline?

  • Explica el patrón "Active record".

  • ¿Qué es una Polymorphic Association en Rails?

  • Explica la diferencia entre optimistic y pessimistic locking en Rails.

Seguridad

  • ¿En qué consiste el CSRF? ¿Cómo Rails protege a una aplicación en contra de esta falla de seguridad?

  • ¿Cómo debemos almacenar datos inseguros tales como contraseñas?

  • ¿Por qué necesitamos usar HTTPS en lugar de HTTP?

Proyectos en casa como complemento a la entrevista

Los proyectos en casa son la mejor manera de ver cómo el programador puede implementar soluciones en Ruby On Rails. Lo ideal es darle una tarea y describir los requerimientos que debe cumplir la aplicación.

Un ejemplo de aplicación para hacer en casa puede ser:

Se requiere una aplicación que nos permita gestionar la productividad de los empleados de una empresa gestionando el flujo de tareas en tres tableros que representarán los estados: Ideas, en progreso, terminadas.

Objetivo: Construir un API que permita a los desarrolladores front-end cumplir con las especificaciones visuales.

Requerimientos funcionales

Luego de describir el objetivo, es primordial definir cuáles son las funciones que debe tener la API, esto nos dará una perspectiva de la experiencia que tiene y nos permitirá delimitar la cantidad de tiempo que puede tardar una persona en entregar una aplicación pequeña.

Lo ideal es que la mayoría de los proyectos en casa tengan una duración máxima de una semana, ya que muchos candidatos usualmente están presentando otras entrevistas y puede llegar a ser agotador para ellos entregar varios proyectos a la vez.

Veamos para este caso los requerimientos funcionales:

  • Quiero poder iniciar sesión y registrarme con mi correo electrónico.

  • Quiero poder agregar proyectos.

  • Quiero poder agregar, actualizar y eliminar tareas de los proyectos.

  • Quiero poder cambiar de estado las tareas con base en los tres estados definidos anteriormente: ideas, en progreso, terminadas.

Requerimientos técnicos

  • Se debe entregar una API desarrollada en Ruby On Rails en un entorno de producción de AWS.

  • Debe tener autenticación mediante JWT.

Para finalizar, el desarrollador debería entregar un repositorio, ya sea en Github o Bitbucket, y un ingeniero del equipo o entrevistador técnico debería ser capaz de evaluar cosas como la calidad del código en cuanto definición de nombres de variables, estructura del proyecto, uso de patrones de diseño y prácticas de seguridad implementadas en la API.

Share this article:
FacebookTwitterLinked In

More great articles

blog.5.image
2021-02-22

¿Cómo funciona el proceso de contratación en IT Staff Augmentation? Una guía paso a paso

IT staff augmentation es uno de los modelos más factibles, rentables y confiables para contrarrestar...

Read Story
blog.5.image
2021-02-19

Cómo contratar desarrollador back-end (10 preguntas clave para una entrevista de trabajo)

Una prueba para evaluar a un desarrollador back-end requiere hacer preguntas que van mucho mas allá ...

Read Story
blog.5.image
2021-02-15

¿Cuánto cuesta contratar a un desarrollador de aplicaciones?

Si planeas contratar a un desarrollador de aplicaciones móviles, seguramente surgirán muchas pregunt...

Read Story