blog.1.image
Staff Augmentation

2021-02-04

Cómo contratar desarrolladores Angular (y 10 preguntas clave para una entrevista de trabajo)

Fabián Rodríguez

Back to Blog

Uno de los grandes problemas de entrevistar desarrolladores Angular es que cada cierto tiempo hay una nueva versión del framework que afecta la manera en que se hacen algunas cosas dentro del contexto de esta tecnología, sin embargo, algunas cosas del núcleo de Angular han persistido desde hace ya bastantes años, y este es un punto que podemos aprovechar al momento de evaluar a un programador.

Buenas prácticas del desarrollador Angular

Un criterio a utilizar para contratar a un desarrollador Angular es que implemente buenas prácticas en el código que escribe. Veamos algunos de los lineamientos más comunes que están vigentes en la mayoría de las versiones de esta tecnología:

  • Mantener los componentes pequeños y reutilizables, es decir, usar el principio de responsabilidad única, esto permitirá depurar más fácilmente el código.

  • Usar la carga diferida para que el tiempo de carga inicial de los componentes mejore el arranque de la aplicación.

  • Evitar la lógica en las plantillas, en su lugar usar un componente específico para ello.

Angular tiene la particularidad de implementar varios patrones de diseño que la mayoría del tiempo son necesarios para poder desarrollar en este framework, por lo que tenerlos en cuenta a la hora de hacer un code review puede ayudar a tomar la decisión de contratación.

Preguntas de entrevista

Algunas preguntas claves de entrevista para un candidato que desea obtener la posición de desarrollador Angular, pueden estar enfocadas en conceptos que parecen básicos pero que es importante entenderlos, tales como los hooks del ciclo de vida de Angular o la carga diferida.

Para empezar, podemos determinar el nivel de conocimiento de un programador haciendo algunas de estas preguntas:

  1. ¿Qué es una inyección de dependencias en Angular?

  2. ¿Qué es Angular Ivy?

  3. ¿Qué es server-side rendering? y ¿Cómo es posible implementarlo en Angular

  4. ¿Qué son los lifecycle hooks y cuáles están disponibles?

  5. ¿Cuáles son los tipos de directivas en Angular?

  6. ¿Qué son los observables y qué podemos hacer con ellos?

  7. ¿Qué es la carga diferida?

  8. ¿Qué es un decorador de clase?

  9. ¿Qué es es el binding?

  10. ¿Cuál es el propósito de @NgModule?

Proyectos en casa como complemento a la entrevista

Objetivo: Construir un e-commerce de 6 productos, estos deben tener el nombre, la categoría y el precio en dólares americanos.

Requerimientos funcionales

  • La aplicación debe tener 2 vistas: la página del listado de productos, y la del resumen de la compra.

  • El usuario debería ser capaz de agregar productos al carrito de compras.

  • El usuario debería poder cambiar los precios entre tres monedas: USD, CAD y EUR.

Requerimientos técnicos

  • La lista de los 6 productos se debe poner en un archivo .json para ser usada dentro del proyecto.

  • Se debe utilizar un API externa para hacer la conversión entre monedas.

Este tipo de proyectos, como se puede apreciar, no debería tomar más de una semana al candidato, incluso podría hacerlo en un par de días a una velocidad considerable. Una buena idea podría ser pedirle al candidato que estime el tiempo de desarrollo y ver si en efecto es capaz de entregarlo para esa fecha, de esa forma, podríamos evaluar qué tan bueno es estimando los tiempos de entrega.

Share this article:

FacebookTwitterLinked In
What are you waiting for?

pre-vetted developers ready to be interviewed and join your team

More great articles

Sundevs

© Copyright SunDevs 2021. All Rights Reserved.