Si quiero ser un desarrollador de aplicaciones exitoso, ¿qué debo saber?

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.

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.

Me gustaría analizar aquí, señalando que convertirse en un desarrollador exitoso no es tan difícil como crees que es.

Ser exitoso como desarrollador
En general, no significa que necesita un título en Ciencias de la Computación, o que necesita comprender los fundamentos primero antes de poder profundizar. Podría decir que eventualmente se quedaría atascado si no conoce los conceptos básicos y pierde los fundamentos para resolver un problema. También podría argumentar que si llegó tan lejos por prueba y error, podría tener habilidades de resolución de problemas preciosas y avanzará con determinación e intento.

Todo lo que sé de la programación es lo que me enseñé, mucho antes de que hubiera cursos de video en Internet. Me tomó un tiempo y he recorrido un largo camino, y por supuesto, he recogido muchas cosas teóricas de CS en el camino. Llegué a un punto en el que pensé que era hora de que me sumergiera seriamente en los fundamentos, solo para descubrir que ya los conocía parcialmente, y que la otra parte no era de ninguna manera aplicable o efectiva para lo que ya hice. Moldeó mi carrera profesional en una de inmersión rápida para resolver un problema y resolverlo bien. Aprendo mucho, en poco tiempo, no porque conozca los fundamentos, sino porque me salteo los fundamentos.

Sin embargo, tendría que advertirte: si estás omitiendo algo y no sabes si es importante, al menos ten en cuenta que lo omitiste. No hay necesidad de ingenieros a medias. Me encontré con una buena cantidad de errores y pasé innumerables noches resolviendo un problema que pensé que debería saber. Si no tiene una idea de la calidad del producto o del código, desarrolle eso junto con sus conocimientos de desarrollo.

Para que usted sea un programador efectivo y un desarrollador exitoso, necesita averiguar cuál es su valor y trabajar con eso. Aún mejor: averigua lo que vales para otras personas. Diferentes empresas requieren diferentes soluciones, ya sea que pueda hacer una solución rápida, buena o barata.

Debe saber que cualquier programador que le dice que el desarrollo es difícil, en realidad significa que los problemas que está resolviendo son difíciles. Desarrollo, la programación en sí misma es fácil. Tan fácil como golpear un clavo en la pared con un martillo. Puede ser que no sepas qué clavo o martillo necesitas, pero puedes aprender eso. Y para que pueda aprender la programación, descubra qué clavos y martillos necesita.

Por supuesto, su primera y segunda aplicación apestarán, pero no si no es necesario. Siempre puedes repetir tu trabajo y mejorarlo. No hay nada como hacer una buena aplicación completa, que hacer 10 aplicaciones a medio hacer. Estoy seguro de que si elige un libro sobre desarrollo de iOS u obtiene un curso, puede crear su primera aplicación en un par de días. Si te gusta, pasa un par de días más para mejorar tu aplicación.

Ser exitoso como editor
También podría argumentar que, para ser un desarrollador de aplicaciones efectivo, no necesita conocer ninguna programación. De hecho, ¡podrías contratar o trabajar con otros para hacer la programación por ti!

Steve Jobs y Steve Wozniak trabajaron juntos en la primera computadora Apple. Ninguno de los dos podía hacerlo solo. Se necesitaba Wozniak para la fabricación real de la computadora, y Jobs se necesitaba para venderla. Jobs no estaría en ninguna parte sin algo para vender en lo que creía, y el invento de Wozniak moriría en un ático para aficionados si Jobs no lo hubiera presionado tanto.

Si no tiene una habilidad de ingeniería discernible, encuentre una habilidad que sea fácilmente sinérgica con ella. El marketing y la publicación son una habilidad, o más bien “encontrar una manera de brindar una solución a una multitud de personas”. Hay un montón de desarrolladores brillantes por ahí, pero muchas soluciones nunca ven a ningún cliente del mundo real porque todos se olvidan de hacer un poco de marketing.

Incluso podría argumentar que hay una participación equitativa en una historia de éxito tanto para el desarrollador como para el que la presentó al cliente. Muchas personas quieren convertirse en desarrolladores en estos días, porque parece un árbol de hoja perenne. Ya sea que se convierta o se convierta en un desarrollador brillante, ladrar el árbol equivocado sigue siendo el árbol equivocado. Sin alguien para comercializar su solución, y sin personas a quienes venderla (es decir, cuyo problema está resolviendo), no está llegando a ninguna parte.

El mundo necesita este tipo de solucionadores de problemas. Aquellos que pueden ver la necesidad de una solución, y luego pueden trabajar con otros para llegar a esa solución, y elaborar un sistema para ofrecer la solución a aquellos con el problema, ¡tan importante como los programadores!

Ser exitoso como persona
Toda esta charla sobre brillantez y marketing me hace preguntarme: ¿de qué otra forma puedes ser exitoso como desarrollador? Bueno, como persona! Por mi parte, estoy muy feliz cuando me desarrollo, y siempre paso muy poco tiempo en proyectos de mascotas que son divertidos de hacer. ¡Han pasado años desde que preparé algo en la casa para que funcione automáticamente!

Me encontré con Derek Sivers (programador autodidacta + fundador de CD Baby) durante una conferencia en octubre. No hablamos sobre asuntos de negocios o sobre el desarrollo personal, simplemente descubrimos que a los dos nos encantan las cosas de programación. En realidad, programó su keynote para la conferencia, en lugar de simplemente usar un programa como Keynote o Powerpoint. Incluso con una historia tan exitosa, aún puede ser feliz simplemente jugando.

Es así de simple: tener éxito como desarrollador podría significar que solo tienes que aprenderlo, jugar con él y sentirte feliz por ello. Hay personas que nunca dejan de aprender, solo porque les gusta tanto. ¿Por qué crees que están tratando de aprender programación para más niños? No para que puedan convertirse en grandes desarrolladores algún día o convertirse en millonarios al crear una aplicación para iOS. No, les están dejando aprender porque es divertido. Y mientras tanto, podrían aprender algunas habilidades críticas para resolver problemas.

Por lo tanto, si desea tener éxito proporcionando valor a los clientes o una empresa, o si quiere impulsar los productos a las masas, o simplemente quiere aprender y crear porque es divertido, se trata de encontrar su rasgo o habilidad que cree que lo hace exitoso, y luego tener el valor para llevarlo a cabo hasta llegar a ese éxito.

Y puedo decirte, cuando llegues allí, ¡hay muchos más éxitos para lograr!

Supongo que también es interesante saber cómo los desarrolladores de aplicaciones móviles realmente ven las aplicaciones de construcción. Los resultados de esta encuesta revelan cuánto esfuerzo ponen los desarrolladores en tareas específicas , qué información del usuario valoran más , qué tipos de SDK usualmente integran y qué tipo de cosas podrían realmente hacer .

Los hallazgos en resumen:

1) Ninguna de las tareas asignadas se consideraba extremadamente exigente, pero los desarrolladores de Android e iOS pasan la mayor parte del tiempo identificando errores y errores . La implementación de diseños en diferentes dispositivos solo es vista como un poco más difícil por Android que por los desarrolladores de iOS.

2) Con respecto a las ideas del usuario, los eventos claramente realizados por los usuarios y la velocidad a la que un usuario regresa a una aplicación son lo más importante. Sorprendentemente, la información demográfica se ve claramente como la menos importante.

3) Es interesante ver que los usuarios de iOS y Android integran aproximadamente la misma cantidad de SDK, sin embargo, el tipo de SKD integrados varía. Los informes de fallos se están integrando principalmente por los desarrolladores de iOS, mientras que sus pares de Android usan SKD de notificaciones push con mayor frecuencia.

4) Probablemente lo más sorprendente fue ver que a los desarrolladores les gustaría crear experiencias personales para diferentes usuarios . Sin embargo, en realidad solo cada décimo desarrollador hace uso de herramientas de personalización.

Espero eso ayude.

  1. En caso de programación, una sólida comprensión de OO.
  2. Una honestidad y entusiasmo por la tecnología.
  3. Conocimiento completo de la plataforma: saber que la programación de Android es maravillosa, pero saber cómo ha evolucionado Andorid en los últimos años es incluso importante
  4. Comunicación clara y concisa de ideas
  5. trabajando en un equipo de expertos en software, utilizando sistemas de control de fuente (fusiones), seguimiento de defectos
  6. Atención a los detalles: siguiendo los diseños

# habilidades para resolver problemas
# Trabajando como parte del equipo
# Priorización del trabajo y cumplimiento de plazos
# hablar en público

Probablemente fue mucho más fácil cuando solo había 100K aplicaciones en comparación con hoy en día, donde hay 1.5 millones. 100K no es pequeño, pero en comparación con más de un millón lo es.

Primero, define el éxito.

Todo lo que sabe es la fuerza de voluntad para hacer exactamente lo que se exige. si lo has hecho con la ayuda de la universidad te conviertes en experto en desarrollo de aplicaciones

More Interesting

¿Cuáles son los beneficios de la aplicación de recarga móvil gratuita idea y cómo puedo ganar regalos?

Si utilicé otro lenguaje para compilar para otra plataforma, como uso C # para compilar aplicaciones IOS, ¿es algo bueno o tengo que aprender el idioma nativo de iOS que es Objective-C?

Estoy pensando en aprender el desarrollo de aplicaciones para iPhone. ¿Qué debo saber sobre el crecimiento y la demanda del mercado en la mayoría de los países para los desarrolladores de aplicaciones de iPhone?

Quiero crear una aplicación para decirme cuántos teléfonos celulares hay en el área. ¿Dónde empiezo?

Tengo una idea para una aplicación. ¿Qué tengo que hacer?

Cómo compartir una aplicación de un teléfono móvil Android a otro teléfono móvil Android

Si tengo un grupo de más de 20 no programadores interesados ​​en probar mi aplicación móvil, ¿cuál es la mejor manera de comunicarme y hacer un seguimiento de los problemas?

Cómo restaurar la cuenta de Whatsapp eliminada

Cómo agregar un menú de cajón deslizante en mi aplicación de mensajería de Android

Mi aplicación de la galería de Android no se abre. ¿Que puedo hacer? Se adjunta la captura de pantalla del error.

Quiero entrar en el negocio de las aplicaciones móviles, pero me falta conocimiento técnico. ¿Hay alguna forma de construir la primera aplicación para mi empresa a través de algunos desarrolladores remotos sin tener que preocuparme por el robo de la 'idea'?

Cómo resaltar los libros electrónicos para poder verlos sin importar qué aplicación de lectura use

Estoy buscando contratar a un desarrollador de iOS. ¿Es demasiado pedirles que creen una aplicación de muestra? Si no, ¿cuáles son algunas sugerencias de una buena aplicación de prueba?

Tengo una gran idea de aplicación móvil. ¿Que hago después?

En Snapchat, si he bloqueado a alguien y luego he eliminado mi cuenta, ¿la persona aún puede ver los mensajes que le envié?