Estoy perdido y me siento atrás. ¿Debo dejar de programar? Me he estado enseñando a mí mismo la programación por un tiempo, y no he hecho absolutamente nada impresionante con ella. Me encanta la programación y quiero seguirla para vivir. ¿Qué tengo que hacer?

Si te gusta la programación, quédate con ella. Tengo 45 años y he estado programando para 35 de ellos. Todavía estoy aprendiendo cosas nuevas todos los días.

Un consejo es que se salga de la mentalidad de ser un programador de $ language. Saber que un solo idioma lo reprime, especialmente si (como Java) el lenguaje impone un estilo particular de programación con exclusión de todos los demás. Pasar de Java a Python puede ser un gran salto conceptual, pero hay otros idiomas que puedes aprender que se basarán en lo que sabes: Scala viene a la mente de inmediato. Shell scripting es otra gran habilidad que tiene y es una buena herramienta para enseñarle la habilidad de resolver grandes problemas al unir programas simples

Dicho esto, personalmente te sugiero que le des a Python otra oportunidad; Es un lenguaje mucho mejor para aprender a programar que Java. También se utiliza ampliamente en la industria del juego. En Python hay muchos y excelentes tutoriales en línea, incluidos los específicamente diseñados para juegos de modding como este: http://www.sthurlow.com/python/ orientado para modding Civ IV.

Si desea dedicarse a la programación de juegos, hay varios libros buenos sobre ese tema en particular, así como tutoriales en línea. Para las habilidades generales, hay una gran cantidad de materiales de cursos gratuitos en línea de una variedad de universidades de primer nivel. Aquí hay un índice: http://www.openculture.com/freeo….

También hay numerosos grandes blogs sobre programación. Paul Graham, Peter Norvig y Joel Spolsky son dos buenos para empezar.

No se preocupe demasiado por no saber los algoritmos o los patrones de diseño. De hecho, los mencionados Graham y Norvig argumentan de manera bastante convincente que a los patrones de diseño les faltan características lingüísticas. Si quieres aprender algo, aprende estructuras de datos. No necesariamente cómo implementarlos, sino cómo usarlos. Nunca deberías tener que escribir tu propia lista vinculada o tabla hash, pero saber cuándo debes usar uno u otro (y las concesiones para cada uno) es una habilidad vital.

Estás tratando de escribir antes de aprender a leer.

Coge cualquier juego de código abierto. Averigua cómo compilarlo. Ahora averigüe cómo el código que está leyendo corresponde a lo que ve en la pantalla.

Parte de ese proceso implicará hacer ajustes al código. ¿Puedes cambiar el color de un objeto? ¿Puedes frenar un misil? ¿Puedes hacer que los monstruos sean menos duros (o invencibles)? Pero aparte de probar hipótesis cambiando algunas líneas aquí y allá, no vas a hacer ninguna codificación seria.

Una vez que hayas empezado a quedarte sin cosas para aprender, toma otro juego y repite el proceso. Ahora vas a aprender mucho más rápido y te sentirás cómodo haciendo cambios más grandes.

Una vez que haya dominado el código fuente de media docena de juegos, creo que encontrará mucho más fácil pensar en cosas geniales para hacer.

1. Cada uno tiene su propia forma de aprobar las clases, la mayor parte está jugando con el sistema, muy pocas son el aprendizaje real . El método de apariencia más exitoso a veces es el que no tiene más éxito cuando realmente cuenta. Así que no juzgues tu nivel de competencia porque te quedaste atrás en algunas clases de HS.

Por ejemplo, nunca tuve problemas para obtener una calificación de A en ninguna clase de matemáticas. Pero cuando llegué a la física de la universidad, casi no aprobé porque me obligaron a usar el cálculo. UTILICE el cálculo, no solo haga problemas de cálculo, sino utilícelo. Tampoco eran los conceptos de física, tenía un profesor de física realmente bueno en HS y los conceptos eran fáciles de entender. Pero usar el cálculo real para encontrar la fuerza magnética de un plano semicircular estaba muy por encima de mi cabeza.

Me di cuenta de que acabo de aprender a jugar con el sistema matemático para obtener una calificación de A todo el tiempo. Debido a que no me importaba mucho lo que realmente significan esos números o por qué lo hacemos de esta manera, simplemente aprendí cómo resolver los problemas que se me plantearon.

Ahora, mirando hacia atrás, apuesto a que todas las personas a mi alrededor que tenían problemas en matemáticas probablemente estaban tratando de entender lo que estaba pasando. Pobres almas. Me salté la comprensión y fui directo al hacer.

Así que no te juzgues a ti mismo por la habilidad de otro estudiante en algo. Lo más probable es que sean buenos para jugar el sistema.

2. Te gusta la programación. Apuesto a que ni siquiera la mitad de los programadores de software profesionales disfrutan de lo que están haciendo. Así que ya estás por delante del juego.

Al principio no me gustaba mucho la programación. Ni siquiera me gusta mucho la tecnología. Siento que la gente está demasiado obsesionada con eso. Pero me gusta resolver problemas. Y me gusta crear cosas que ayuden a otras personas. Y me gusta que me paguen por hacer esas cosas. Y después de hacerlo durante tanto tiempo, he alcanzado un nivel de competencia que me hace disfrutarlo. Me encanta la programación debido a todas las cosas maravillosas que puedo hacer con ella ahora.

Cuando aprendes algo, es más probable que aumentes la cantidad que no sabes que lo que descifras. Resolver un misterio descubre dos. Es emocionante y frustrante. Pero las recompensas de ese aprendizaje aumentan. Cuando has resuelto un problema realmente difícil, realmente hay muy pocos sentimientos en el mundo como este. Cuando creas algo que otras personas realmente usan y obtienen valor, otra vez muy pocos sentimientos en el mundo para comparar.

Entonces, si te limitas a ello, probablemente todo se vuelva maravilloso y sorprendente y te enamoras de él. Yo si.

3. ¿Eres mejor que tú el día anterior? Eso es más importante que cualquier otra cosa. La única competición real eres tú mismo. Todos los demás son alguien más que tú no eres. Así que no tiene sentido pensar en ello.

Dicho esto, los celos son un sentimiento difícil de tratar. La inadecuación frente a alguien es mucho mejor que tu simplemente apesta. No ayuda cuando son más jóvenes y solo parecen “entenderlo” cuando tienes que luchar. A veces siento que debería rendirme y hacer otra cosa.

Y ese sentimiento nunca se va. Siempre habrá alguien mejor que tú, no importa lo bueno que seas. Y los humanos nos acostumbramos a nuestros éxitos. El éxito de hoy se convierte en el signo de fracaso de mañana. Un coche nuevo te hace más exitoso que el tipo en la bicicleta, pero ahora eres un fracaso en comparación con el tipo en el Ferrari. Mientras estabas en la bicicleta, nunca te importó el tipo con el Ferrari. Y ahora, de repente, importa y tus logros parecen infantiles en comparación.

No hay una solución para eso, solo tienes que lidiar con eso toda tu vida.

4. Sé valiente. Nadie igualaría la valentía con la programación, pero requiere enfrentar sus temores. El miedo a lo desconocido, el miedo a fallar, el miedo a hacerlo mal y a reírse, el miedo a comprometerse con algo que podría tardar años en llegar a buen término, si es que alguna vez lo hace. Miedo a equivocarse y costarle a la empresa o negocio.

La programación de software es un arte basado en las ciencias más duras, las matemáticas. Juegas con números, nunca pueden estar equivocados. Tú eres el que siempre está mal, las matemáticas ganarán al final. Cuando te enfrentas a un error imposible, lo que es más frustrante es que sabes que hay una razón para ello, pero te está eludiendo. No es como otras ciencias donde puedes tener en cuenta las variables aleatorias.

Incluso el constructor del puente que se derrumbó puede señalar miles de factores que podrían haber causado ese colapso que estaba fuera de su control. Un desarrollador de software no puede hacer eso.

.. Además de la llamarada solar ocasional o algo así.

Me parece que estás muy adelantado en el juego. Y que de hecho te gusta la programación. Estás siendo demasiado duro contigo mismo.

Una posibilidad sería colaborar con una o más personas que compartan su entusiasmo. Probablemente estés familiarizado con todos los grandes productos, como Facebook, que han resultado de personas que se han unido para desarrollarlos. Compartir ideas puede ayudarlo a estimular su creatividad, y trabajar con un equipo puede ayudarlo a enfocar sus esfuerzos. La mayoría de los ingenieros de software trabajan en un entorno de equipo.

En primer lugar, excelente. Esta es una buena pregunta con la que estoy seguro que muchas personas pueden relacionarse. Gracias por preguntar.

Advertencia: No voy a endulzar mi respuesta. Si quieres uno de esos, lee algunas de las otras respuestas. Te estoy dando el consejo que creo que necesitas escuchar, no el que quieres escuchar.

Aquí está mi principal problema: se da por vencido con demasiada facilidad y parece que está descubriendo que YouTube es, de alguna manera, un buen maestro.

Permítanme comenzar diciéndoles que los programadores no abandonan. Sus trabajos son algunos de los más difíciles y, si quiere dejar de fumar, continúe. Especialmente cuando se trata de programadores de juegos, tienen el trabajo más difícil de lanzar un producto al mercado. Hasta que no termines de desarrollar un juego, gana $ 0. Las personas que se dan por vencidas son personas que probablemente no tendrán éxito en este campo.

Parece que confías mucho en YouTube y en google tu pregunta para obtener una respuesta. Si realmente dijiste que leías libros sobre programación y buscabas en Google lo que no sabías para comprender, no entiendo por qué te está costando tanto ser programador. Además, el libro que mencionó tiene una calificación de 4.7 / 5.0 estrellas en Amazon. ¿Sabes lo bueno que es eso en términos de calificaciones? No estoy de acuerdo con su análisis sobre el libro en absoluto basado en las reseñas que otras personas han leído a través de todo el libro. ¿Cuánto esfuerzo pusiste realmente en tratar de entender los temas?

A medida que continúo pensando en cómo habló sobre sus experiencias, parece que tiene la idea de que es un buen programador en relación con sus compañeros. Permítame seguir adelante y explotar su burbuja: al quedarse atrás y abandonar su clase de AP CS, ha demostrado que no es un programador tan bueno como cree. Supera tu propio ego si quieres empezar a aprender.

También dice que le gusta la programación, pero dice que apesta en la resolución de problemas. ¿Bien adivina que? La programación es casi 100% sobre la resolución de problemas. Acostúmbrate a resolver problemas si quieres avanzar, especialmente si quieres hacer juegos.

Si crees que enseñarte a ti mismo es una razón legítima por la que debes ser bueno en la programación, considera que no tienes idea de lo que otros están aprendiendo a través de la escolarización. Pueden estar aprendiendo mucho más material avanzado que tú.

Pero no todo está perdido … Tú no estás “detrás”. Deja de mirarte a ti mismo en relación con los demás y enfócate en tu propia mejora.
1. Conviértete en tenaz.
2. Poner esfuerzo en tu aprendizaje.
3. Pon tu ego a un lado.
4. Aprende a resolver problemas.
5. Obtener la escolarización real para la programación.

Ninguno de los increíbles programadores fue increíble en el momento en que comenzaron. La diferencia es que siguieron intentando mejorar cada día desafiándose a sí mismos. Si quieres tener una carrera en programación, entonces comienza por desafiarte a ti mismo.

Aquí hay un primer paso: repasar el libro de texto que tiene, es increíble.

Si sientes que no puedes desafiarte a ti mismo para mejorar, entonces es mejor que encuentres otra industria donde tus posibilidades de empleo sean mayores.

Espero que puedas hacerlo; Es un campo extremadamente gratificante. Lo hace; sin embargo, requiere una visión realista de lo que está recibiendo y una perspectiva honesta de su tiempo y habilidades.

¿De verdad te gusta la programación? Para amar a la programación, absolutamente no puedes aspirar a resolver problemas. A menos que quieras decir que amas la idea de la programación; en cuyo caso, absolutamente no puede convertirse en un programador autodidacta exitoso si solo le encanta la idea de la programación. Si quieres sobresalir, aprende a amar la resolución de problemas.

¿Deberías realmente ser mejor en programación de lo que realmente eres? ¿Cómo pudiste con las clases caídas, la bola de rebote de python o no tener nada impresionante que mostrar? La honestidad es la clave. Cuanto antes seas honesto contigo mismo, antes podrás sentarte en la clase correcta o leer el libro correcto y comenzar a hacer el progreso correcto.

Algunas personas realmente aman el béisbol; pero la mejor posición para ellos no es necesariamente en el campo sino en las gradas y eso está bien.

¿Puedes realmente auto-enseñarte a ti mismo? ¿O sería mejor entregarle las reinadas a alguien que pueda ayudarlo a navegar en informática y programación? ¿Eres el profesor adecuado para el trabajo? ¿Vas a estar a tiempo completo y totalmente comprometido? Tu carrera depende de ello.

Sabrá si debe renunciar o no cuando sepa de manera realista a qué se enfrenta y tenga una idea honesta de sus capacidades.

Suena a pesar de “quedarse atrás” en varias ocasiones en las que aún tiene conocimientos de programación. ¿Alguna vez has pensado en trabajar con un tutor?

Si la programación es algo que te encanta, debes continuar estudiándola … solo trata de poner más esfuerzo en los programas que estudias y completa tu trabajo sin importar nada. Muchas personas que hacen grandes cosas enfrentan dificultades, pero la perseverancia es clave.

¡Buena suerte!

No renuncies a la programación todavía porque estabas en la dirección correcta pero elegiste el camino equivocado. Creo que tu problema fue que estabas esforzándote en aprender a programar, mientras que deberías haber empezado a construir algo. Nadie puede sobresalir en la programación sin comenzar a construir algo (aplicaciones, sitios web, aplicaciones web, software, etc.) al principio todos fallamos miserablemente al intentar crear algo, pero esos errores son lecciones más valiosas que cualquier otra lección que alguien más pueda enseñarle. Así que adelante con la programación, pero esta vez intente construir algo con ella. También ten en cuenta que de tus errores aprenderás a corregirlos.

¡No te rindas! Como estudiante de secundaria, no te has quedado atrás en nada. Pronto te graduarás y asistirás a la graduación. Recuerdo lo sorprendida que estaba cuando un maestro nos dijo que “comienzo” significa el principio, no el final. Aún no has empezado.

¿Qué te gusta de la programación? ¿Qué te gustaría poder hacer con él? Es bueno pensar en pequeños objetivos que puede lograr en una semana o en un mes, así como en cosas que pueden tardar 10 años. ¿Parece que vale la pena? Puede o no puede ser lo tuyo, y eso está totalmente bien. Puede haber un campo completamente diferente que te permita hacer lo que amas sin las cosas que te frustran tanto. Si decides continuar, lo más importante es no rendirte cuando las cosas se ponen difíciles. El camino al dominio está lleno de fracasos. La única forma de llegar a cualquier parte es seguir cometiendo errores y superarlos.

Vi una publicación de blog de Viking Code School sobre el camino para convertirse en un programador que podría encontrar alentador. http://www.vikingcodeschhool.com/posts/why-learning-to-code-is-so-damn-hard . Parece que estás en el desierto de la desesperación. Y aquí hay un video de YouTube sobre Mentalidad que dice cómo ve la inteligencia y determina cuán inteligente se vuelve. Los primeros 10-15 minutos son bastante reveladores. Creo que una mentalidad de crecimiento es completamente necesaria para la programación porque las cosas cambian muy rápido.

¡Que tengas una vida feliz!
.

Mientras aprendes a codificar, ten en cuenta que nunca hay que copiar y pegar el código de google o videos de YouTube que es peligroso, crees que lo has completado, pero sin book / google no puedes hacer nada. Así que siempre lea / mire primero y luego intente todo por su cuenta sin mirar.

En segundo lugar, nadie puede enseñarte cómo programar, tienes que desarrollarte a través de la práctica.

Y nunca te rindas si eres apasionado.

Quizás una de mis publicaciones en el blog puede ayudar: 5 razones por las que dejar de fumar no es una opción: cómo lo vives la vida