¿Qué calificaciones necesita un desarrollador de iOS?

He entrevistado a mucha gente para puestos de desarrollador de iOS, he contratado a algunos y he visto trabajar a muchos desarrolladores de iOS, principalmente en Nueva York. Para ser un desarrollador de iOS con éxito, debes:

1. crear un código bueno, fiable y que funcione
2. entender realmente el código que estás creando
3. entender la forma en que la gente utiliza las aplicaciones de iOS
4. tener ganas de aprender y mantenerse al día con los últimos desarrollos

Si puedes hacer estas cosas, y no te muestras como un nimrod total en tu entrevista, deberías ser capaz de conseguir un puesto como desarrollador de iOS.

Tienes unas cuantas buenas aplicaciones en la App Store ¿eh? Esto puede ser un pro o un contra dependiendo de tu definición de «bueno». Si tienes una calculadora de propinas y una app de pedos en la tienda, no’ importa lo populares que sean o lo buenas que sean sus valoraciones, básicamente no tienen sentido para tus calificaciones (o posiblemente sean un indicador negativo). Si tienes una aplicación mal diseñada o que recibe críticas horribles en la App Store, deberías guardártela para ti. Por otro lado, si tienes una aplicación que hace algo útil y muestra algo de pensamiento y/o es bien recibida, entonces eso cuenta a tu favor.

Dicho esto, tener algo de tu trabajo disponible públicamente es algo bueno, ya sea una aplicación en la App Store o un proyecto de código abierto en github. Sería bastante sorprendente entrevistar a alguien para un puesto de desarrollador de iOS que no tenga ningún trabajo público que mostrar.

¿Es necesario ir a una universidad y estudiar informática? Definitivamente no. Yo sí valoro la educación universitaria y la tengo, pero no’ tengo una licenciatura en informática. Rara vez me impresiona una titulación concreta y eso’ nunca ha sido un requisito para mí a la hora de contratar para iOS. Como requisito, esto puede variar según la empresa, pero tus conocimientos y habilidades pueden generalmente compensar la falta de un título – a veces incluso para una empresa que dice requerir un título.

He entrevistado a muchas personas con títulos de ciencias de la computación que no podían’ armar una simple lista vinculada ni responder a preguntas básicas sobre el desarrollo de software. He entrevistado a personas sin títulos de informática que eran muy competentes técnicamente (aunque la mayoría tenía un título en algo).

Lo que más me importa a la hora de considerarte para un puesto de desarrollador de iOS es si sabes o no POR QUÉ algo funciona o no funciona o por qué resolverías un problema de una manera determinada. Por ejemplo, ¿por qué usarías GCD en lugar de un NSOperationQueue o viceversa?