¿Qué puede hacer cuando su instructor le dice que no puede hacer una aplicación móvil?

Cuando estaba en la secundaria no tenía computadora, casi nadie la tenía, pero estaba muy ansioso por programar. No para aprender cómo hacerlo, solo hazlo. Dibujaría diagramas de flujo de todo lo que se me ocurriera. Una vez dibujé un diagrama de flujo que describía cómo usar un teléfono público. También solía escribir programas PL / I y BASIC en papel, etc. Cada oportunidad que tenía para obtener tiempo de computadora lo aprovechaba al instante. Una vez, fui con un amigo que tenía una cuenta en un mainframe y probé suerte con las tarjetas perforadas. Fue justo antes de que las tarjetas perforadas fueran reemplazadas por disquetes.

Una vez tuve la oportunidad de visitar una clase de informática en una universidad, solo una vez. El instructor era un estudiante de doctorado que hacía un favor a mis padres. La computadora era apple] [(o quizás 2e, no puedo recordar) ejecutando alguna versión de Logo. Al principio estaba emocionado: ¡yo, frente a una computadora! No era un mainframe que tenía que alimentar con procesos por lotes, sino una computadora en vivo e interactiva. Tan alta la emoción como baja la decepción, no hicimos casi nada. El instructor continuaría y explicaría lo que hizo FD 100, luego RT 90, y así sucesivamente. No creo que hayamos alcanzado la definición de la función en absoluto. Todo lo que hicimos fue dibujar estos estúpidos rectángulos y triángulos en la pantalla, tal vez incluso un círculo, ¡pero sin funciones!

Estaba muy decepcionado y muy confundido. Todo fue tan trivial. Más que eso, ¡fue estúpido! Al final de la clase, el instructor se me acercó. Traté de ocultar mis sentimientos, pero lo hice mal. Le dije que quería escribir código, no hacer estas cosas por las que acabábamos de pasar. Ella me dijo algo como “debes aprender a caminar antes de volar, debes aprender más antes de comenzar a programar”. Me sentí insultado y enojado.

Ya sabía cómo escribir procedimientos y bucles en PL / I, y sabía sobre tipos estrictos y mucho más. Casi nunca ejecuté mi código, ya que apenas tenía acceso a una computadora, pero conocía todos esos conceptos. Incluso sabía sobre el algoritmo MinMax y fantaseaba con escribir un programa de ajedrez. Ahora, ELLA afirma que voy demasiado rápido, que debo BAJAR. ¿Por qué debería aprender mucha teoría antes de comenzar a escribir código?

Todo parecía muy mal. He escuchado sobre el problema de detención y NP-completo, sin una comprensión profunda, pero todo parecía ir en contra de mi objetivo. Estos temas me enseñarían por qué no se puede hacer algo y bloquearían mi mente. ¿En lugar de aprender a hacer cosas, ella quiere que yo sepa lo que NO PUEDE hacer? Ella me dice que aprenda a caminar antes de que yo aprenda a volar, pero eso significa que estaré castigada para siempre por estas nuevas restricciones que aprendo. Serán como pesas envueltas alrededor de mi cuello.

Cuando era niño, sentía que al evitar toda esta basura teórica, mantendría una mente abierta y trataría de hacer cosas realmente nuevas. Cosas pensadas como imposibles. Podría romper los límites tontos y los límites establecidos por los informáticos. Pero si aprendo toda esta teoría, como ella sugiere, me limitarían y nunca podré hacer nada innovador. Podría hacer algo más inteligente que ELIZA, podría hacer un juego que simule la vida de las personas y las interacciones entre ellas. Estas personas simuladas podrían incluso tener personalidades reales. Pero, ¿qué pasa si esto es “imposible” de acuerdo con este disparate teórico?

Más de 30 años después, ahora que finalmente estoy completando mi doctorado, me sorprendí votando a Quora User, pensando de la misma manera que este instructor: ” Antes de correr, debes trotar. Antes de trotar, debes caminar. Antes de caminar , debes gatear “. De repente me sentí viejo. Esto está muy mal, ya que realmente puedes correr antes de gatear. Te caerías mucho, pero tu entusiasmo te hará subir de nivel. No deje que la teoría de CS lo confunda, continúe con lo que le gusta. ¿Alguna vez has visto niños aprendiendo a caminar? La pura alegría de estar de pie lleva a algunos de ellos a correr. Corren dos tres pasos y chocan. Están un poco sorprendidos, pero luego se levantan nuevamente e intentan correr nuevamente. Estos pocos niños comienzan a correr antes de caminar, simplemente los emociona mucho.

No me malinterpreten, la teoría de CS es muy importante, y cuando entrevisto a personas, realmente quiero ver que entienden cosas como la complejidad, los gráficos y los algoritmos, pero la teoría es solo la mitad de lo que hay en la programación. Realmente tienes que ser capaz de resolver problemas, ver más allá de la teoría y evitar esconderte detrás de las excusas que te da la teoría CS. He estado resolviendo problemas de NP-complete durante muchos años, incluso para mi doctorado, por lo que sí, es posible resolver grandes problemas de NP-complete. Por el contrario, he visto a personas renunciar a resolver un problema una vez que descubrieron que era NP-difícil, esto está muy mal. He visto programas que resuelven problemas indecidibles, correctamente, simplemente porque los problemas reales no son tan malos como la teoría lo permite.

Si las aplicaciones móviles te entusiasman, entonces adelante. Una vez que golpeas una pared y la golpeas, tu entusiasmo te llevará a aprender a superar el obstáculo. Después de hacer algunas cosas tontas, debes detenerte y retrospectivamente, y encontrar nuevas y mejores formas de hacerlo. Siempre trate de aprender cosas nuevas, incluso cuando sienta que lo está haciendo bien. La mejor manera es ir a nuevas áreas, entonces seguramente golpearás una pared. Golpear una pared es genial, aquí es donde más aprendes. Si todo va demasiado bien, estás haciendo algo mal, no estás aprendiendo cosas nuevas. Busca paredes, dales la bienvenida, son frustrantes y molestas, pero son tus maestros.

Y finalmente, no te olvides de aprender la teoría CS en el camino. Puede ahorrarle mucho tiempo al enseñarle cómo hacer cosas. Solo ten cuidado con los pesimismo de la teoría CS. Dado que busca el peor de los casos, puede tener la impresión de que los peores escenarios son mucho más comunes de lo que realmente son en la vida real.

La ambición es buena, pero el hombre sabio establece objetivos a corto plazo.

Las historias que lees sobre personas que dicen “Subiré al Everest en seis meses” o “Construiré un producto de software multimillonario en un año” son casos excepcionales. Por cada persona que tiene éxito en un objetivo tan ambicioso, hay millones que fracasaron.

Antes de correr, debes correr. Antes de correr, debes caminar. Antes de caminar, debes gatear.
No hay atajos.

Hay muchas aplicaciones muy populares escritas por codificadores incompetentes, pero la pregunta es; es tu meta fama / dinero / éxito que viene por casualidad, o es ser grandioso en algo (como la programación) aunque nunca puedas convertirte en famoso o rico.

Por ejemplo, tome Flappy Bird: ha habido miles de estos juegos desde la década de 1970. Incluso un niño de 12 años podría haber codificado ese juego en unos pocos meses de esfuerzo. La única razón por la que se convirtió en un gran éxito es pura casualidad.

¿Debería alguien estar orgulloso de ese código?
Probablemente no …
¿Debería uno estar orgulloso del éxito aleatorio?
Idealmente no …

Así que haga su tarea, conviértase en un programador razonablemente competente y luego procure construir algo agradable o útil.

Todos tienen que comenzar en alguna parte. Además, la mejor manera de aprender a aprender sobre el desarrollo de aplicaciones móviles es simplemente desarrollarlas. ¡Tome su estudio de Android, vaya a developer.android.com, busque la sección ‘Comenzando’ y comience a construir su primera aplicación! Puede que no sea tremendamente complicado, pero a medida que avance en temas cada vez más avanzados, se encontrará cada vez mejor. Desarrollará ciertos hábitos y aprenderá todo el tiempo mientras busca soluciones a problemas que seguramente encontrará. Nunca debes dejar de expandir tus conocimientos y habilidades. Solo tienes que estar dispuesto y entusiasmado con lo que estás haciendo. Y no escuches a las personas que te dicen que fallarás y que ni siquiera deberías intentarlo. Nadie llegó a ninguna parte al darse por vencido.

Cuando su instructor le diga esto, entonces puede tener razón porque conoce sus métodos.

Entonces, para tener una idea del éxito, debe cambiar sus métodos. Trae más seriedad en el trabajo y ten el celo de alcanzar tu objetivo.

Yo hice lo mismo. Renuncié a mi trabajo y desarrollé el increíble reproductor de música.

Music Player – Aplicaciones de Android en Google Play

DEBE verificar que ABRIRÁ su MENTE como desarrollador

Solo haz lo que quieras que el instructor tenga su vida. Esto es lo que hace lo que se siente cómodo al hacerlo.

Verifica mi aplicación

Reproductor de música: reproductor de música Adfree para Android – Aplicaciones de Android en Google Play