Pantalla de habilidades de desarrollo del iOS

Publicado: Última actualización:
iOS: preguntas de entrevista a un ingeniero de software

Los desarrolladores de aplicaciones móviles son difíciles de encontrar, sobre todo si se trata de crear una aplicación para iOS. Depende de ti salir a buscar a los mejores desarrolladores de iOS para construir tu aplicación móvil. Pero eso puede ser una tarea desalentadora. Las habilidades de los desarrolladores de iOS que necesita un desarrollador móvil no son las mismas que las de un desarrollador Java común y corriente.

Esto supone un problema para la mayoría de los reclutadores técnicos. La mayoría de ellos simplemente no tienen la experiencia necesaria para poder decir si el desarrollador de iOS que están reclutando tiene las habilidades de desarrollador de iOS adecuadas o no. Me refiero a que no quieren acabar con un gran grupo de candidatos a los que tienen que entrevistar. Eso llevaría a horas y horas de entrevistas técnicas para las que tu equipo de TI simplemente no tiene tiempo en este momento.

¿Qué necesito saber para evaluar las habilidades de los desarrolladores de iOS?

Por suerte para ti, hemos preparado toda la información que necesitas para evaluar eficazmente las habilidades de los desarrolladores de iOS. Al final de la guía, deberías ser capaz de hacer las cosas bien y hablar bien cuando se trata de entrevistar y seleccionar a los desarrolladores de iOS. Podrás hacer las preguntas adecuadas, entender la jerga y descifrar el CV de un gran desarrollador de iOS. Y lo que es más importante, descubrirás qué tipo de pruebas puedes utilizar para seleccionar a tus candidatos de iOS, de modo que sólo invites a los mejores a las entrevistas. Pero antes de todo eso, es importante aprender lo básico.

1. ¿Qué es iOS?

iOS es el sistema operativo que Apple desarrolló para impulsar su omnipresente iPhone. No contento con dominar únicamente el mercado de los teléfonos, Apple ha utilizado su sistema operativo para impulsar una serie de otros dispositivos, como el iPad, el reloj de Apple y el Apple TV. Entonces, si contratas a un desarrollador de iOS, ¿va a codificar en iOS? Pues no exactamente.

Cuando se habla de un Desarrollador iOSEn realidad, se trata de un desarrollador que utiliza uno o ambos lenguajes propietarios de iOS. A partir de 2008, Apple lanzó su propio lenguaje de programación propietario, Objective-C para ser utilizado en iOS. A éste se unió hace cuatro años Swift. Aunque estos son los dos únicos lenguajes disponibles para iOS, también se pueden utilizar para desarrollar software para macOS. Pero aunque se puedan utilizar para ambos sistemas operativos, son un poco diferentes en algunos aspectos clave.

  • Objective-C es reflexivo, basado en clases y orientado a objetos
  • Swift es multiparadigma, orientado a protocolos, orientado a objetos, funcional, imperativo y estructurado en bloques

Swift tomó prestadas sus ideas generales de lenguaje en gran medida de Objective-C junto con JavaScript, Ruby y Python. También es mucho más cómodo que Objective-C, sobre todo porque es de tipo seguro. Esto ha hecho que sea más fácil empezar a aprender a programar en iOS y mejorar la seguridad y estabilidad de las aplicaciones.

Lo que encontrarás es que, aunque hay una serie de sistemas heredados que utilizan Objective-C, Swift se ha impuesto como el lenguaje de programación preferido para iOS. La curva de aprendizaje para escribir código seguro y sin errores es un poco más pronunciada con Swift que con Objective-C. Dicho esto, una vez que los desarrolladores dominan Swift, la práctica de escribir código seguro y sin errores es realmente más fácil que con Objective-C. Swift utiliza el mismo entorno de ejecución y SDK que Objective-C. Esto significa que es totalmente compatible con toda la pila tecnológica de iOS, así como con las nuevas herramientas exclusivas de Swift.

2. Qué es importante que un reclutador sepa sobre iOS

Verás que el entorno de iOS cambia regularmente. Suele haber una actualización importante una vez al año que informa de los lenguajes que se utilizan, así como de la dirección del desarrollo. Suelen anunciarse en la WWDC o Conferencia Mundial de Desarrolladores. Este es el mayor evento del mundo para los desarrolladores de iOS con todas las nuevas tecnologías de iOS anunciadas en la keynote. Cualquier reclutador que busque desarrolladores de iOS debería tomar nota de lo que se anuncia aquí para estar al tanto de las últimas tecnologías de iOS.

Las dos bibliotecas más importantes que todos los desarrolladores de iOS deben conocer son UIKit y Foundation. Un desarrollador de iOS simplemente no puede construir ninguna aplicación sin ellas, por lo que es obligatorio que el desarrollador pueda utilizar estas herramientas. Además de las herramientas soportadas por Apple, hay un gran número de bibliotecas y frameworks de código abierto a los que los desarrolladores de iOS pueden recurrir para construir su software.

3. Cómo verificar las habilidades de los desarrolladores de iOS en la fase de selección

3.1. Selección técnica de las competencias de los desarrolladores de iOS a partir de un CV

Probablemente, lo más valioso que el CV de un desarrollador de iOS puede decir es el tipo de proyectos a los que se dedica el candidato. Estos pueden incluir funciones esenciales como Bluetooth, bases de datos locales y trabajo con servicios de localización. Obviamente, una gran ventaja es que hayan desarrollado una aplicación. Cualquier aplicación puede comprobarse acudiendo a la tienda de aplicaciones de iOS.

La creación de aplicaciones no es la única experiencia útil que hay que buscar en el CV del candidato. La experiencia con otros lenguajes, especialmente con C++, es estupenda. También es bueno ver que el candidato ha trabajado con una plataforma específica, como el Apple Watch o el Apple TV. Debido a la naturaleza de la plataforma, se desea ver el conocimiento de las pruebas unitarias y el proceso de presentación de la App Store. Por último, querrá ver experiencia con la configuración de integración continua.

Aunque es bastante sencillo examinar un CV, a veces el vocabulario que necesita un reclutador para entender lo que hay en el CV de un desarrollador de iOS puede ser confuso. Para ayudarte, hemos elaborado un glosario que puedes utilizar para entender las habilidades más importantes de los desarrolladores de iOS.

3.2 Glosario de habilidades de los desarrolladores de iOS para los reclutadores técnicos

Idiomas Rápido, Objetivo-C
General GCD, cola operativa, notificaciones push, concienciación en la firma de código,
Base de datos Sqlite, CoreData, Realm
UI UIKit, Core Animation, Autolayout, Size Classes, SnapKit
Marcos específicos (todos funcionan tanto en Objective-C como en Swift) Core Location, MapKit, AVFoundation, StoreKit, Extensiones, AddressBook, EventKit, CAllKit, SiriKit, Core Bluetooth

3.3 Más información sobre iOS que sería útil que conociera un reclutador

En cada nueva versión de iOS se han añadido nuevas funciones. Y a medida que se añaden funciones, se desarrollan nuevos frameworks para interactuar con ellas (SiriKit, CallKit, WatchKit y MapKit).

Más allá de eso, las diferentes versiones del sistema operativo son básicamente las mismas, con la única adición de nuevas extensiones.

Los nombres más comunes de la tecnología iOS que se utilizan indistintamente

CoreData y SQLite pueden utilizarse indistintamente

Lo cerca que están las respectivas versiones de las tecnologías de iOS:

Todas las versiones de Swift disponibles son similares entre sí. Por supuesto, el lenguaje ha pasado por múltiples iteraciones desde la 1.0 hasta la 4.2. Y cada una de ellas ha introducido sus propios cambios específicos. Sin embargo, si alguien tiene experiencia con tres no debería tener problemas para utilizar la última versión.

4. Habilidades del desarrollador de iOS: preguntas de la entrevista

La entrevista es un momento importante para conocer los tipos de problemas a los que se ha enfrentado el candidato y su enfoque para resolverlos. No puede sustituir a una prueba técnica, pero sí puede informar de tu decisión.

4.1 Preguntas sobre la experiencia en la plataforma para un desarrollador de iOS

Q1: Elige algunas tecnologías del CV del candidato y pídele que te explique qué son y cómo se utilizan.

Por qué debería preguntarle a Q1: Sólo para comprobar su conocimiento de las tecnologías que mencionaron.

Q2: Pida al candidato que describa el proyecto más interesante en el que haya participado y cuál fue su papel en el mismo.

Por qué debería preguntarle a Q2: Comprobar cuán complejos y variados han sido los proyectos que ha experimentado el promotor y cuál ha sido su papel (promotor, desarrollador principal, arquitecto).

4.2 Las habilidades de un desarrollador de iOS: conocimientos y opiniones

Q3: Pide al candidato que compare Swift y Objective-C.

Por qué debería preguntarle a Q3: Permite saber la experiencia del desarrollador y si ha trabajado con Objective-C o no. En la mayoría de los casos, conocer Swift no es suficiente. Incluso en el nivel junior, un candidato a iOS debe ser capaz de entender y utilizar tanto Objective-C como Swift.

Q4: ¿Qué tecnologías de iOS se utilizan actualmente y cuáles pueden llegar a ser populares en el futuro?

Por qué debería preguntarle a Q4: Le indica si el candidato tiene la capacidad de analizar y predecir las tendencias del mercado y la industria de las tecnologías de la información, basándose en las habilidades de los desarrolladores de iOS.

Q5: ¿Cómo se pueden evitar las fugas de memoria?

Por qué debería preguntarle a Q5: Verá si el candidato es consciente de los posibles problemas al utilizar referencias fuertes/débiles. Ten en cuenta que los bloques y los cierres pueden mantener un vínculo fuerte con un objeto.

4.3 Preguntas sobre el comportamiento de un desarrollador de iOS

Q6: ¿Ha tenido experiencia como tutor y mentor de alguien en Swift?

Por qué debería preguntarle a Q6: Compruebe si el promotor es capaz de ser un buen mentor para los recién llegados.

Q7: Pregunte de qué soluciones y proyectos del candidato está más orgulloso.

Por qué debería preguntarle a Q7: Esto le ayudará a comprobar el nivel de complejidad de las tareas en proyectos anteriores

5. Revisión técnica de las habilidades de iOS con un prueba de codificación en línea

Las pruebas de CV y las entrevistas pueden ser útiles para contratar a un desarrollador de iOS, pero en realidad no pueden decirle si su candidato tiene las habilidades adecuadas para iOS. Lo que realmente necesitas es que hagan algo de desarrollo de software real. Esto puede ser un problema si se hace de forma incorrecta porque los candidatos tienen una cantidad limitada de tiempo y paciencia para hacer un proyecto de codificación. Un test de codificación online puede ser una buena solución. Pero, ¿cómo saber cuál elegir? El más adecuado debe tener unas cuantas características clave.

  1. Implica los tipos de tareas que el candidato hará realmente una vez contratado (y las habilidades reales de desarrollador de iOS que necesitará para ello)
  2. Debe abarcar tanto la tecnología como la pila tecnológica en la que trabajarán
  3. Debe ser lo más parecido al natural proceso de desarrollo como sea posible - Esto significa:
    1. El candidato debe tener acceso a su propio IDE
    2. Deberían poder utilizar todos los recursos que normalmente utilizarían en el trabajo, incluyendo bibliotecas, frameworks, Stack Overflow e incluso Google
  4. Debe poner a prueba las habilidades de codificación, pero también la lógica empresarial
  5. Debe iluminar el tipo de decisiones de codificación que toma el candidato
  6. Debe ser fácil de llevar desde cualquier lugar para evitar molestar innecesariamente al candidato

Lamentablemente, la mayoría de las pruebas de codificación en línea no cumplen con estos requisitos. Las pruebas de algoritmos pueden decirte si el candidato sabe codificar, pero no pueden decirte lo bien que el candidato conoce el entorno, las decisiones que toma y la lógica empresarial que utiliza. En esencia, no hacen justicia a las habilidades de los desarrolladores de iOS. Además, son una forma muy poco natural de escribir código. El resultado es que desaniman a muchos desarrolladores que no creen que puedan representar con precisión sus habilidades de esta manera. Estos desarrolladores corren el riesgo de abandonar su proceso de contratación.

Las pruebas de muestra de trabajo en DevSkiller resuelven estos problemas. En DevSkiller, se pedirá a tus desarrolladores de iOS que construyan una función real o una pequeña aplicación para iOS. Las pruebas pueden realizarse desde cualquier parte del mundo y representan un entorno de programación natural. Puedes consultar las distintas pruebas de iOS tanto en Objective-C como en Swift desde nuestro catálogo de pruebas de codificación.

6. Evaluación en línea de las habilidades de los desarrolladores de iOS de DevSkiller, lista para usar

Swift
SENIOR
Habilidades probadas
Duración
74 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Lagunas en el código

evaluando el conocimiento de Swift, iOS

Tarea de programación - Nivel: Duro

iOS | Swift | Nerd Airlines App - Construir una aplicación que se utiliza para encontrar la ruta más barata entre dos destinos dados. Implementa un mecanismo de recorrido de gráficos para encontrar la ruta más barata rellenando los métodos apropiados, implementa un mecanismo de caché genérico para los dos easter eggs dados de la app.

Swift
SENIOR
Habilidades probadas
Duración
76 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Lagunas en el código

evaluando el conocimiento de Swift, iOS, MacOS

Tarea de programación - Nivel: Duro

iOS | Swift | Nerd Airlines App - Construir una aplicación que se utiliza para encontrar la ruta más barata entre dos destinos dados. Implementa un mecanismo de recorrido de gráficos para encontrar la ruta más barata rellenando los métodos apropiados, implementa un mecanismo de caché genérico para los dos easter eggs dados de la app.

Swift
MIDDLE
Habilidades probadas
Duración
38 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Tarea de programación - Nivel: Medio

iOS | Swift | Notepad App - Completa la aplicación de notas simples usando el NotesService proporcionado para guardar y leer notas.

Swift
SENIOR
Habilidades probadas
Duración
77 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Tarea de programación - Nivel: Duro

iOS | Swift | Herramienta de Cifrado de la NSA - Resuelve los 3 rompecabezas criptográficos para tomar la posición soñada como programador en la NSA.

Swift
MIDDLE
Habilidades probadas
Duración
48 minutos como máximo.
Evaluación
Manual
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Lagunas en el código

evaluando el conocimiento de Swift, Unicode, iOS

Tarea de revisión del código - Nivel: Medio

iOS | Swift | BookDataAnalyst - Por favor, realice una revisión de este código. Preste atención a la calidad y al cumplimiento de las mejores prácticas.

Swift
MIDDLE
Habilidades probadas
Duración
126 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de iOS, Swift

Tarea de programación - Nivel: Medio

iOS | Swift | Book Keeper App - Inicializar la pila de datos básicos, incluyendo el almacenamiento y la búsqueda de artículos genéricos e implementar funcionalidades adicionales rellenando los métodos que faltan y arreglando la funcionalidad de la interfaz de usuario.

Swift
SENIOR
Habilidades probadas
Duración
165 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Swift, iOS

Tarea de programación - Nivel: Duro

iOS | Swift | Book Keeper App - Iniciar la pila de datos centrales para trabajar de forma simultánea, incluyendo el guardado en un hilo de fondo y la búsqueda de artículos genéricos en el hilo principal; implementar la funcionalidad adicional rellenando los métodos que faltan y arreglando la funcionalidad de la interfaz de usuario para que un usuario pueda añadir o editar artículos de la empresa y facturas; implementar la funcionalidad de búsqueda en ambas vistas. Por último, tendrá que limitar la entrada de textField adecuadamente para pasar las pruebas.

Swift
JUNIOR
Habilidades probadas
Duración
55 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de iOS, Swift

Tarea de programación - Nivel: Fácil

IOS | Swift | Weather App - Construye una aplicación que analiza los datos meteorológicos recibidos de un servicio meteorológico de fondo. El candidato debe leer el archivo JSON proporcionado, crear un modelo de datos, analizarlo y completar las funciones que faltan para recuperar las condiciones meteorológicas requeridas del modelo.

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.

El logo de DevSkiller Logotipo de TalentBoost Logotipo de TalentScore