Esta es una pregunta tan cargada, por lo que es difícil de responder a fondo. También está plagado de opiniones personales, así que solo te daré la mía. 🙂
Básicamente, para ser un desarrollador de aplicaciones exitoso, debes saber que tomará mucho trabajo.
Después de que salió la App Store, todos y su hermano tuvieron “la mejor idea para una aplicación de iPhone”, por lo que, al igual que California Gold Rush, estas personas se propusieron hacer su fama y fortuna en forma de aplicaciones de pedos. Ahora que ha pasado el tiempo, y aunque todavía hay casualidades en las que a alguien se le ocurre una idea novedosa y fácil de ejecutar para una aplicación, los desarrolladores realmente exitosos trabajan muy duro en ello.
- Quiero iniciar una aplicación en mi idea, pero no tengo ni $ 150 para gastar en eso, ¿qué debo hacer?
- Cómo crear una fuente de noticias en vivo con contenido generado por el usuario (pregunta de Android)
- Acabo de descargar LinkedIn Connected, y la primera vez que abrí esta aplicación, ya conocía mi cuenta de LinkedIn y me conecté. ¿Cómo puede hacer eso?
- Tengo una idea para un juego móvil simple y tengo un poco de experiencia en programación. ¿Cómo empiezo a desarrollar mi idea?
- Quiero aprender programación y terminar como desarrollador de aplicaciones. ¿Cómo empiezo?
Los desarrolladores de aplicaciones exitosos deben ser ingenieros de software. En resumen, debe tener la capacidad de programar computadoras para hacer su oferta. Algunas personas tienen una mentalidad más técnica que otras, pero creo que cualquiera puede convertirse en un buen ingeniero de software con suficiente tiempo y persistencia.
Si aún no tiene una formación técnica, considere inscribirse en una de las docenas de excelentes clases en línea que enseñan programación. Tenga en cuenta que no recomendaría comenzar con un curso de programación específico para iOS. Primero necesitas lo básico, y eso vendrá de un curso introductorio de informática.
Saltar al fondo sin primero aprender a nadar nunca es una buena idea: es posible que puedas pisar el agua por un tiempo, pero eventualmente te sentirás abrumado por la fatiga y necesitarás ser rescatado. No comience demasiado rápido y no se preocupe por el desarrollo de iOS. Es posible que pueda crear un prototipo de aplicación que funcione que haga X, Y y Z, pero si no comprende la gran mayoría de lo que sucede en cada punto de una aplicación simple, no hay forma de que lo logre. a cosas mayores y más grandiosas.
Los desarrolladores de aplicaciones exitosos necesitan entender el diseño. Ahora, esto no significa que deban ser diseñadores, pero deben comprender que el diseño es tan importante como la ingeniería en estos días cuando se trata de aplicaciones. Apple puso el listón muy alto para nosotros, por lo que ya no es aceptable de ninguna manera lanzar una aplicación con lo que algunos de nosotros llamamos “interfaz de usuario de ingeniería”: una interfaz que alguien sin una apariencia de habilidad de diseño creó por su cuenta. Puede perfeccionar estas habilidades usted mismo (tener habilidades de diseño y técnicas definitivamente lo convierte en una fuerza a tener en cuenta) o encontrar a alguien que ya lo haya hecho.
El diseño es mucho más de lo que ves en la pantalla. Lea las Directrices de interfaz humana de Apple para iOS. Detallan una tonelada de patrones de uso comunes para aplicaciones iOS, y si comienzas a violar estas pautas, romperás las expectativas que los usuarios ya tienen sobre cómo se supone que funcionan las aplicaciones iOS. En el peor de los casos, Apple rechazará su aplicación si se sale de los límites de lo que ellos consideran aceptable. Si aprende a aplicar estas pautas, los usuarios de iPhone podrán acceder inmediatamente a sus aplicaciones, y esa es la mitad de la batalla allí mismo.
Los desarrolladores de aplicaciones exitosos deben ser pacientes. No me gusta ser paciente Quiero entender los entresijos de cada cosa nueva que empiezo a aprender de inmediato. Y me considero “estúpido” a veces si no puedo recoger algo de inmediato. Esto, por supuesto, es una tontería. Desarrollar una habilidad que se destaque sobre la multitud requiere paciencia, y la paciencia requiere tiempo. Después de suficiente persistencia y trabajo duro, las cosas comenzarán a convertirse en una segunda naturaleza. Honestamente, creo que este es uno de los rasgos más distintivos de un desarrollador de aplicaciones exitoso; Una vez que algo se convierte en una segunda naturaleza, su cerebro es libre de concentrarse en aprender algo más nuevo. Al principio, todo será abrumador y estarás “haciéndolo mal” en todas partes. Solo concéntrate en lo básico al principio hasta que los domines. Luego pasa a otra cosa.
Específicamente, para el desarrollo de software iOS, conozca los entresijos de Objective-C. Aprenda sobre Cocoa Touch y lo que todos sus marcos pueden hacer por usted, ¡no reinvente la rueda! Luego, tómese su tiempo para comprender algunos de los patrones de diseño básicos (delegación, notificaciones, etc.). A continuación, aprenda sobre vistas y controladores de vista. Una vez que los haya eliminado, puede comenzar a ramificarse en cualquier cantidad de otros marcos (Core Graphics, Core Animation), pero lo importante es siempre tratar de enfocarse en una cosa a la vez y realmente, realmente tratar de entender como mucho sobre esto como sea posible. Lea la amplia documentación de Apple y mire a través de su código de muestra. Si toma en serio este enfoque, le garantizo que cada intento o proyecto de aplicación sucesivo será más rápido y mejor.
Los desarrolladores de aplicaciones exitosos son persistentes. Tu primera aplicación realmente apestará. Tu segunda aplicación también apestará. Sin embargo, sigue así. He estado desarrollando aplicaciones para iOS exclusivamente durante cinco años, y aunque he crecido enormemente, ¡todavía hay cosas sobre iOS con las que tengo problemas o tengo poca experiencia trabajando! El punto importante es que no puede rendirse ante la primera decepción o señal de fricción. Lo que me mantiene en marcha es mi amor por mi oficio y el hecho de que veo que cada iteración de mi trabajo mejora.
Como nota al margen, sea persistente sobre la búsqueda de un trabajo con una empresa cuyas aplicaciones realmente admira. Para mí, este fue Path. Sabía que quería trabajar en esa empresa algún día, pero también sabía que no sería fácil meter el pie en la puerta. (Nuestros estándares son altos, y hay muchos desarrolladores en el Área de la Bahía para que podamos elegir. ¡Nos encanta trabajar con gente talentosa y trabajadora!) Hasta que sentí que era lo suficientemente bueno como para aplicar, seguí trabajando para perfeccionar habilidades específicas que sabía que Path podría valorar (interfaz de usuario personalizada, una buena comprensión del diseño, etc.). Finalmente, lo hice, y de alguna manera engañé a Quora User para que me contratara. 😉
(Aquí hay una pista para cualquier desarrollador de iOS que quiera trabajar con nosotros: impresionarnos con una aplicación a la que haya contribuido significativamente. El diseño y los detalles son muy importantes aquí. Y conozca los fundamentos de Objective-C y Cocoa Touch por dentro y por fuera).
Si no te ves trabajando para una empresa, pero en cambio quieres hacer lo tuyo, ¡eso también es genial! Solo prepárate para trabajar más duro para establecerte como desarrollador en solitario. Honestamente, hay pocas tiendas de desarrollo de aplicaciones independientes increíbles porque solo lleva tiempo construir una reputación. La buena noticia es que el desarrollo de aplicaciones móviles sigue teniendo una demanda tan alta que no es necesario ser el mejor para conseguir trabajo. Por lo tanto, aproveche el mercado para adquirir experiencia en el mundo real y ganar dinero mientras crece.
Tener éxito en algo que valga la pena es un trabajo muy duro. Los que realmente están destinados a tener éxito también son los que más lo quieren. Si el desarrollo de aplicaciones es lo que quieres hacer, entonces toma mi consejo (¡con un grano de sal!) Así como el de otros desarrolladores y ve directamente; El océano tiene muchos peces grandes, pero siempre hay espacio para uno más.