Muchas preguntas en esa pregunta 🙂
Creo que deberías aprender lo que te interesa. Según su pregunta, me parece que está realmente interesado en el desarrollo de iOS, así que mi voto es por eso. Si puede demostrar que sabe lo que está haciendo más allá de copiar y pegar código de StackOverflow / hacer un tutorial o dos, puede ser contratado como desarrollador de iOS que haya desarrollado solo algunas aplicaciones.
Algunos conceptos clave para un trabajo de nivel de entrada:
- ¿Vale la pena crear aplicaciones gratuitas para iOS, o estoy mejor trabajando con Android?
- ¿Qué interfaz móvil tiene una UX mejor / más intuitiva: Tinder (deslizar hacia la izquierda / derecha), o Hot or Not (botones de toque)?
- ¿Cuál es mejor para aprender, desarrollo de aplicaciones iOS o SharePoint?
- ¿Necesita sincronizar standardUserDefaults después de llamar a registerDefaults?
- ¿Cuál es el mejor servicio de análisis para aplicaciones de iPad?
- Cómo UIView, UIViewController, UINavigationController y UITableView juegan juntos por dentro y por fuera
- Cómo usar Storyboards y no usar Storyboards
- Vistas personalizadas: qué debe anular, dónde va el código de diseño, cómo interactúa otro código con la vista, etc.
- Diseño automático y diseño manual (ajuste del tamaño del marco y las posiciones)
- El ciclo de vida de la aplicación.
- Cómo hacer solicitudes de red
- Conocimientos básicos de patrones comunes de diseño UX / UI
- Conocimiento básico / práctica de separación de preocupaciones
También mencionaré algo de reflexión:
- Según mi investigación, en promedio, a los desarrolladores de aplicaciones nativas se les paga un poco más que a los desarrolladores web
- El suministro es bajo y existe una gran demanda de desarrolladores de aplicaciones nativas calificados.
- En algún momento, querrás crear una aplicación móvil que requiera conectividad a Internet, cuentas de usuario, interacción social, guardar / proporcionar datos para diferentes plataformas, etc. y ser capaz de construir una aplicación back-end será útil. Definitivamente hay una intersección de habilidades en el desarrollo de sitios web y servicios web.