¿Qué tan importante es la autoaprendizaje en el campo de la programación? [cerrado]

74

Tengo 16. Comencé a programar hace aproximadamente un año cuando estaba a punto de comenzar la escuela secundaria. Voy por una carrera en programación, y estoy haciendo mi mejor esfuerzo para aprender lo más que pueda. Cuando empecé, aprendí los conceptos básicos de C ++ de un libro y comencé a aprender cosas por mí mismo a partir de ahí. Hoy en día tengo mucha más experiencia que hace un año. Sabía que tenía que estudiar solo porque la escuela secundaria (probablemente) no me enseñará nada valioso sobre la programación y quiero estar preparado.

La pregunta aquí es: ¿qué tan importante es estudiar la programación por sí mismo?

    
pregunta Bugster 04.10.2012 - 22:16

17 respuestas

100

Es crítico. No creo haber conocido a un buen programador que no haya sido autodidacta en algún nivel. Como gerente de contratación en una empresa grande, puedo decir que un candidato que describa proyectos personales y un deseo de aprender vencerá a uno con un grado impresionante cada vez. (Aunque es mejor tener ambos).

Esto es lo que tiene la universidad: los cursos de ciencias de la computación enseñan teoría, no tecnología. Le enseñarán la diferencia entre una tabla hash y un árbol B, y los conceptos básicos de cómo funciona un sistema operativo. Por lo general, no le enseñarán lenguajes informáticos, sistemas operativos u otras tecnologías más allá de un nivel superficial.

Recuerdo que en la bruma del tiempo cuando tomé mi primera clase de estructuras de datos y obtuvimos un manual delgado para este nuevo lenguaje llamado "C ++", que decidieron comenzar a aprender. Teníamos dos semanas para recogerlo y escribir el código. Esa fue una buena lección en sí misma. Esa es la forma en que irá tu carrera.

Es probable que su escuela no le enseñe lo que necesita para obtener un buen trabajo. Las escuelas a menudo siguen lo que está de moda en la industria por muchos años. Entonces conseguirás un trabajo. Cualquiera que sea la compañía a la que vaya, seguramente no hará ningún esfuerzo especial para capacitarlo. Las malas compañías son demasiado baratas, y, francamente, las buenas compañías solo contratarán a personas lo suficientemente inteligentes como para recogerlas sobre la marcha.

Me gradué de la universidad en 1987. Fui a trabajar como programador en C con experiencia en DOS, NetBIOS y programas de "Terminar y Permanecer Residente". En los años posteriores, he tenido poca o ninguna capacitación real. Mira los anuncios de trabajo ... no hay mucho llamado para esas habilidades! La única razón por la que puedo trabajar hoy es porque he pasado los años intermedios aprendiendo constantemente. Para tener éxito como ingeniero, tienes que tener el hábito de aprender. Demonios, yo iría más allá de eso: tienes que tener el amor por aprender. Debes ser el tipo de persona que se mete con WebGL o Android o iOS porque se ve divertido. Si eres ese tipo de persona y mantienes el hábito de aprender, llegarás lejos en la industria.

    
respondido por el Steven Burnap 04.10.2012 - 22:53
29

La autoaprendizaje es muy importante. No puede confiar en una educación formal para enseñarle todo lo que necesita saber sobre su campo. Sin embargo, dicho esto, una educación formal también es muy importante si desea ingresar a ese campo profesional bien preparado y equipado.

Estoy en camino a la universidad y he pasado los últimos cuatro años enseñándome a mí mismo desarrollo de software, como resultado, ahora trabajo para una empresa grande y conocida que mantiene aplicaciones empresariales. No requiere un montón de talento, pero sí un montón de trabajo y motivación. Creo que la literatura y la práctica son tu mejor apuesta cuando se trata de aprender. También es importante elegir un campo específico ya que, aunque puede llevar idiomas y lógica a través de todos los campos, solo puede verdaderamente convertirse en "excelente" si se cuenta con suficiente práctica y comprensión en un campo específico.

    
respondido por el Jacob Krustchinsky 07.05.2012 - 05:27
11

Aprender por tu cuenta es muy importante. Tener la disciplina para investigar y reunir el conocimiento necesario para realizar una tarea lo pondrá muy por delante de muchos otros que dependen de la capacitación formal para realizar la misma tarea. Esto se aplica a cualquier industria, no solo a la industria del software.

No me malinterpretes, recibir capacitación formal o educación es útil, pero tu propia motivación para mejorar tus habilidades te ayudará a convertirte en un mejor desarrollador de software. Siempre hay algo que aprender: nuevas plataformas o lenguajes de programación para experimentar, metodologías de desarrollo para implementar, herramientas y algoritmos para usar, y la lista continúa. No todo le será presentado a través de la capacitación formal, por lo que depende de usted aprender sobre otros temas e ideas que le puedan interesar y que le ayudarán a lo largo de su carrera en la programación.

    
respondido por el Bernard 06.05.2012 - 19:32
6

En la programación, la autoaprendizaje es lo que harás todos los días. Tendrá que enseñarse muchas cosas, no solo lenguajes informáticos y herramientas que cambian constantemente. Tendrá que aprender el código que escribieron otras personas y también tendrá que solucionarlo con un mínimo de instrucción y supervisión. Es raro en algunas organizaciones obtener una capacitación real más de 1 vez al año (¡si es que alguna vez!). Asegúrate de que puedes hacer (y disfrutar) esto; de lo contrario, considera una carrera diferente cuando aún eres joven.

    
respondido por el Emmad Kareem 04.10.2012 - 22:50
4

La auto instrucción es una habilidad indispensable para que un programador la tenga. Demasiados no lo hacen. Si eres bueno, usarás esta habilidad para el resto de tu carrera.

    
respondido por el Crazy Eddie 06.05.2012 - 20:03
3

El autoaprendizaje es muy importante porque no siempre tendrás oportunidades de capacitación formal. Cuando comienzas a buscar un proyecto, una pasantía o un trabajo, encuentra a aquellos que tengan desarrolladores senior sólidos que realmente puedan enseñarte algo. Estar en un entorno que hace las cosas bien puede ser la ruta expresa al código de calidad.

    
respondido por el JeffO 06.05.2012 - 20:10
3

Les puedo decir que ha habido varios lugares en los que he trabajado donde ni siquiera consideraron a alguien que no tenía sus propios proyectos fuera del trabajo. Exhibe amor por la programación más allá de simplemente presentarse a un trabajo y cobrar un cheque. Voy a arriesgarme aquí y diré esto: todos los programadores a los que no les gusta programar les chupan el trabajo. Peor aún, no tienen nada que agregar a ningún equipo al que puedan unirse.

Tomaría a un desarrollador junior sin experiencia que le encanta lo que hace tanto que juega con el código en su tiempo libre sobre tres desarrolladores de nivel medio que simplemente están siguiendo los pasos: ese desarrollador junior será genial algún día, y los demás nunca serán mejores de lo que son.

Si no estás aprendiendo cosas nuevas, solo estás sentado y olvídate de lo que sabes.

    
respondido por el blesh 07.05.2012 - 02:09
2

El talento está sobrevalorado.

Se requieren al menos 10 años de práctica antes de que uno pueda llegar a ser excelente en un área determinada. Por lo tanto, es importante comenzar temprano.

El hecho de que comenzaste en una etapa temprana de tu vida haciendo algo que parece gustarte ya te pone por delante del resto. Entonces, a menos que tenga dudas sobre el área en la que trabajará, no se detenga ... ¡nunca se detenga!

Considero que el autoaprendizaje es una de las mejores habilidades de cualquier desarrollador y el segundo es un título universitario. Un buen título universitario es importante solo porque agrega tanta calidad a tu conocimiento que probablemente no podrías reunir por ti mismo. Ciertamente hay excepciones a esta regla, pero eso es todo lo que son; excepciones.

Además, cuanto más experiencia acumules temprano, mejor disfrutarás de la universidad y mejor absorberás los nuevos conceptos que se te presentan. Al principio lo encontrará todo tan fácil e inútil, pero muy rápidamente se sentirá desafiado y ansioso por aprender más.

Después de dejar la universidad, nunca dejes de aprender, ya que será una de tus mejores características. Recomiendo leer 'El talento está sobrevalorado'. Puede echar un vistazo a este breve artículo sobre ese libro:

enlace

    
respondido por el Alex 07.05.2012 - 01:05
2

En comparación con casi cualquier otro campo en el que pueda pensar, la programación es básicamente todo sobre la autoeducación. La educación formal en informática / ingeniería de software es útil, pero no es realmente donde aprendes a codificar.

Lo que realmente deberías hacer es comenzar a trabajar en proyectos: crea algo que quieras que exista. Y luego únase a un proyecto de código abierto para trabajar en algo que desea mejorar aún más. El aprendizaje viene gratis entonces ...

    
respondido por el Steve Bennett 07.05.2012 - 05:11
2

Necesitas aprender cosas nuevas por ti mismo: ve a donde te lleve tu curiosidad.

Obtenga también una educación formal: el 90% de lo que se le enseña en una educación formal no se utilizará en el lugar de trabajo. Pero el 10% que se usa será una cosa extraña y oscura que pensaste que en ese momento nunca sería de ninguna utilidad.

Sin la educación formal, sufres del problema que mejor se describe como "no sabes lo que no sabes". La educación formal le brinda una amplia y amplia cobertura de muchas cosas con el pleno conocimiento de que nadie saldrá y lo usará todo. Debido a que lo que utilizará es algo que no sabrá hasta que lo necesite, se trata de estar preparado para que sepa dónde buscar.

Lo que te hace aprender por ti mismo / por curiosidad es lo que te hace una persona mucho más informada y completa. Sin mencionar que es más valioso para un empleador.

Nota al margen: he pasado toda mi carrera, desde que comencé a programar alrededor de 15 años (más de 25 años ... más de 30 años) y descubrí que, aparte de mi educación universitaria, la mayoría de los cursos de capacitación (ya sabes ... aprender BLAH en 3 días de tiempo completo) son bastante inútiles. Estos son generalmente superficiales, y en lo que se refiere al mantra tan promocionado de "mantener tus habilidades", no es muy útil para alguien que necesita entrar en detalles técnicos profundos. Comprar libros, usar Internet, profundizar en las matemáticas / física / arquitectura / lo que sea que sea lo que me ha hecho útil y valioso. En una etapa, fui una de las aproximadamente 10 personas en el mundo con experiencia específica en un tema en particular: todo ese conocimiento se obtuvo mediante la autoaprendizaje y el aprendizaje en el trabajo.

El único momento para dejar de aprender es cuando tienes 6 pies de profundidad en una caja de pino.

    
respondido por el quickly_now 07.05.2012 - 05:57
2

Hay una buena parábola al respecto:

  

El campeonato mundial anual celebrado en la Columbia Británica. Los finalistas   eran canadienses y noruegos.

     

Su tarea era la siguiente. Cada uno de ellos que una cierta porción de la   bosque. El ganador es el que podría derribar el mayor número.   De árboles desde las 8 am hasta las cuatro de la tarde.

     

A las ocho en punto el silbato sonó y dos leñadores tomaron su   posiciones Cortaron un árbol detrás de un árbol, mientras que el canadiense había   No oí que los noruegos se detuvieran. Al darse cuenta de que esta era su oportunidad,   El canadiense redobló sus esfuerzos.

     

A las nueve en punto en el canadiense escuché que el noruego fue nuevamente a   trabajo. Y de nuevo, trabajaron casi simultáneamente, cuando de diez a diez.   Los canadienses han oído que el noruego se detuvo de nuevo. Y de nuevo, la   Canadiense se fue a trabajar, queriendo aprovechar la debilidad de   el enemigo.

     

A las diez en punto, el noruego vuelve a entrar en el trabajo. Hasta diez minutos   A las once, brevemente no interrumpió. Con el sentido creciente de   El júbilo canadiense continuó trabajando en el mismo ritmo, ya   sintiendo el olor de la victoria.

     

Duró todo el día. Cada hora del noruego se quedó durante diez minutos,   Y el canadiense siguió trabajando. Cuando escuchas sobre el final de la   competencia, a las cuatro de la tarde, el canadiense estaba bastante   Asegúrese de que el premio en su bolsillo.

     

Puedes imaginarte cómo se sorprendió al saber que perdió.

     
  • ¿Cómo sucedió eso? - le preguntó al noruego. - Cada hora, te escuché por diez minutos para las paradas. Al igual que, Maldición, te las arreglaste para cortar más   madera que yo? Es imposible.

  •   
  • De hecho, todo es muy simple, solo dijo Norwegian. - Cada hora, me detuve por diez minutos. Y mientras continúas cortando madera, estaba afilando mi hacha.

  •   

Por lo tanto, debes estudiar todo el tiempo para mantener tu hacha afilada .

    
respondido por el webvitaly 07.05.2012 - 21:46
1
  • Es crucial, de lo contrario te quedarás atrás

  • Aprendo todos los días, en el trabajo, aquí, leyendo libros, haciendo y respondiendo preguntas. Cuanto más aprendo, más comprendo lo poco que sé.

respondido por el CodeART 06.05.2012 - 23:29
1

La autoaprendizaje es muy importante por dos razones:

  • después de tus estudios : como ya se indicó en otras respuestas, la autoaprendizaje es lo que harás en tu vida diaria como desarrollador. No puedes saberlo todo y las empresas lo saben. Lo que DEBES saber es cómo mejorarte a ti mismo. Los mejores desarrolladores tienen la capacidad de aprender nuevos idiomas, nuevas tecnologías rápidamente por sí mismos.
  • durante tus estudios : la distancia entre lo que te enseñarán los cursos universitarios y la realidad de cuál será tu trabajo es enorme. Específicamente estoy hablando de mantenimiento y mantenibilidad. Una parte esencial del trabajo de un desarrollador consiste en mantener el código heredado (corrección de errores, mejoras, agregar características, etc.). Puede leer ¿Es la creación de software completamente nuevo una parte importante de la mayoría de los trabajos de programación? para obtener más detalles.
    Como es esencial mantener el código heredado, también deberá escribir un código mantenible, y esto rara vez se enseña con lecciones formales (consulte ¿Cómo mejorar la formación de los estudiantes sobre la capacidad de mantenimiento? ). Si no practicas la autoaprendizaje y lees mucho durante tus estudios, es poco probable que adquieras las habilidades necesarias que te harán un mejor desarrollador que el promedio.
    No intentes aprender muchos idiomas / tecnologías durante tus estudios, sino aprende buenas prácticas y codificación limpia. Por ejemplo, es mejor que lea el "Código limpio" de Robert C. Martin que el "Java The Complete Reference" de Herbert Schildt durante sus estudios.
respondido por el Matthias Jouan 12.04.2017 - 09:31
-1

La autoaprendizaje es muy importante ya que internaliza los conceptos a su manera y eso realmente ayuda. Elegir un idioma para autoaprender es muy importante. Los idiomas que tienen una documentación clara son muy importantes y lo que no desea ser es muy ambicioso en querer aprender demasiados idiomas populares demasiado rápido. Ya que dices que empezaste con c ++, te recomendaría Java para ti, siempre funciona muy bien para programadores autodidactas.

    
respondido por el Gandalf 07.05.2012 - 12:08
-1

Probablemente aprendí más del 95% de lo que sé relacionado con la programación, probando cosas por mi cuenta y aprendiendo cómo funciona. La escuela puede ayudar a enseñar un buen estilo de programación y optimizar el código para la velocidad, etc., pero nunca te convertirás en un "buen" programador simplemente leyendo un libro de texto. Una excelente manera de desarrollar habilidades de programación es encontrar problemas cotidianos que pueda usar una computadora para resolver, y tratar de escribir un código para hacerlo. Atascarse es parte del aprendizaje. Comencé a querer ser un desarrollador web, por lo que hacía sitios web falsos con bastante frecuencia (no alojándolos o nada por supuesto) para probar cosas nuevas que quería probar. ¡Me funcionó bastante bien!

    
respondido por el Phillip Schmidt 07.05.2012 - 17:04
-1

Empecé a programar hace 2 años. Mi escuela no podía enseñar bien los idiomas, y tengo que conectarme en línea e investigar mucho sobre mí mismo. Soy un aprendiz más lento y me tomó 2 años escribir mi primer programa, mientras que todos mis compañeros de escuela todavía tienen dificultades o se han dado a conocer en la programación.

Esto demuestra que es mejor que un programador sea autodidacta en lugar de depender de la escuela. La escuela siempre ocultará información, ya que piensan que no estamos listos para ello.

    
respondido por el Jie Liang 08.05.2012 - 03:20
-3

Como siempre en matemáticas e informática, hay dos puntos de vista: 1. Necesario y 2. Contendientes suficientes

  1. Es necesario (auto) aprender a lo largo de tu vida. No hay otra opción para ser y seguir siendo un buen programador.
  2. El punto anterior no es una condición suficiente; debe tener una sólida formación en matemáticas: la escuela secundaria y luego graduarse en una buena universidad en el campo de la informática. Esta es (tal vez) la condición suficiente. A tu cerebro se le debe enseñar a pensar algorítmicamente. Esto NO PUEDE lograrse mediante el autoaprendizaje.
respondido por el Nikolay Ivanov 07.05.2012 - 09:01

Lea otras preguntas en las etiquetas