blog.1.image

Cómo contratar desarrolladores iOS (y 9 preguntas clave para una entrevista de trabajo)

Fabián Rodríguez
Back to Blog

Las entrevistas a candidatos a desarrollador iOS en Swift suelen estar orientadas a determinar los conocimientos que el programador tiene sobre el entorno y uso de herramientas exclusivas que solo se usan en este sistema operativo.

Es clave preguntar al programador su experiencia con UIKit y la estructura de proyectos usando el patrón MVC (Model, View, Controller). En el desarrollo de aplicaciones para iOS es importante el aprendizaje de patrones de diseño, ya que muchas tecnologías suelen utilizarlos, como es el caso de Cocoa, en la que es muy popular el uso del patrón delegate.

Buenas prácticas del desarrollador iOS

El entorno Apple suele ser bastante exigente teniendo en cuenta todas las políticas que tienen para poder subir las aplicaciones a la tienda, y en términos de desarrollo, como se dijo anteriormente, se suelen usar diversos patrones de diseño, por lo que es importante que el candidato trabaje basándose en buenas prácticas e implementado correctamente elementos tales como:

  • Apple guidelines, es decir, seguir todas las directrices de seguridad, desempeño negocio, diseño y asuntos legales que Apple define para poder tener una aplicación en la tienda.

  • CocoaPods, que sirve como administrador de dependencias para el proyecto.

  • Keychain, para evitar que otras aplicaciones puedan acceder a datos sensibles.

Preguntas de entrevista

Las preguntas para el candidato pueden estar orientadas sobre su conocimiento en el lenguaje Swift, algunas muy populares que nos pueden dar indicios del nivel de experiencia del programador son:

  • ¿Para qué sirve el método init() en Swift?

  • ¿Cuál es la diferencia entre Let y Var?

  • ¿En qué consiste el optional chaining?

  • ¿Qué son las propiedades Lazy stored y en qué caso son útiles?

  • ¿Para qué son usados los Enum?

  • ¿Qué es un Dictionary?

  • Explica los patrones adaptador y Memento en Swift.

  • ¿Cuáles son las diferencias entre Struct y Class?

  • ¿Cómo puedes hacer opcional una propiedad?

Proyectos en casa como complemento a la entrevista

Un proyecto que puede poner a prueba las habilidades de un desarrollador es un "news reader". Se le puede proporcionar al candidato un API la cual debe consumir e implementar diversas características en su interfaz y funcionamiento. Veamos de qué se trata:

Requerimientos funcionales

  • La aplicación debe tener una vista que muestre la lista de artículos, con sus respectivas categorías y una imagen para cada noticia proveniente de la API.

  • Debe tener una vista con detalles de la noticia, mostrando su categoría y autor.

Requerimientos técnicos

Además de las funcionalidades básicas, la aplicación debería ser rápida y hacer uso eficaz de los datos del usuario, esas características técnicas pueden ser:

  • La aplicación debe optimizar la descarga de imágenes haciendo almacenamiento en caché.

  • Debe hacer la descarga de imágenes de forma asincrónica.

Los proyectos para resolver en casa no deberían tardar más de una semana, de hecho, si es algo que el desarrollador puede hacer en 1 o 2 días, mucho mejor. Por otro lado, este proyecto debería ser entregado en un repositorio de Github o Bitbucket, para que así, alguien dentro de la compañía pueda revisarlo a fondo.

Lo principal para hacer esta revisión de código es centrarse en las buenas prácticas, tener en cuenta ítems como la separación de responsabilidades de los componentes o la inyección de dependencias en los momentos adecuados, nos ayudarán a tomar la mejor decisión de contratación.

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