¿La programación en general se vuelve más fácil de leer, escribir y comprender a medida que adquieres experiencia? [cerrado]

80

Soy un principiante en programación y he estado leyendo libros, estudiando, leyendo artículos y demás. Estoy obteniendo excelentes resultados desde que comencé a aprender programación, y cuando era principiante pensaba que sabía todo sobre programación, pero a medida que aprendía más me di cuenta de lo difícil que es este campo (de hecho, todos los campos son difíciles, pero ese no es el punto).

Hoy en día, he escrito software funcional y he aprendido los BÁSICOS de 3 idiomas y soy intermedio en un solo idioma. Cuando miro cosas avanzadas como MYSQL, o programación OpenGL, o incluso el código C ++ de Visual Studio, me da dolores de cabeza, e incluso cuando visualizo el código fuente HTML de muchos sitios web (la mayoría de los códigos fuente en sitios web, vistos por Google Chrome parecen muy desordenados y desorganizados ) me confunde hasta el límite de mi cerebro. Todo parece simple al principio, sin embargo, al mirar estas cosas avanzadas, me hace preguntarme cómo se puede aprender tanto.

La pregunta, en pocas palabras, es si estas cosas se vuelven más claras para un programador a medida que avanza en su carrera. ¿Los temas complicados como los enumerados anteriormente (OpenGL, MySQL, sitios html avanzados) se vuelven más fáciles de leer, escribir y comprender a medida que aprende más, o simplemente se vuelve más complicado a medida que avanza? ¿Cómo puedes combatir esta sensación de que eres una hormiga en el mundo de la programación y estas cosas están a punto de aplastarte?

Bugster
fuente
24
Le sugiero que lea esto: norvig.com/21-days.html
James P.
Como cualquier otra cosa, sí. Hasta que la tecnología cambie en ti. :-)
MathAttack
3
Mientras su "experiencia" no lea las mismas cosas una y otra vez. Estírate con cosas nuevas.
JeffO
un pequeño consejo, para analizar páginas HTML complejas, querrás usar Firebug de Firefox o Inspect Element de Chrome.
Mentira Ryan
66
"Cuando era principiante solía pensar que sabía todo sobre programación". He estado allí y cuanto más aprendo, más me doy cuenta de lo poco que sé.
Lieven Keersmaekers

Respuestas:

134

Respuesta corta: no.

Respuesta larga:

Leer el código de otras personas se vuelve más fácil, sí. Pero solo leyendo. A medida que gana experiencia y habilidades, sus requisitos personales como desarrollador crecen.

  • No solo quieres escribir código. Quieres escribir un hermoso código .

  • No asume que su código se ejecuta en condiciones ideales . Comienza a pensar en todas las cosas malas que pueden suceder al ejecutar su código, manejar excepciones, pensar en problemas de hardware, latencia de red y el problema crece a medida que crecen sus habilidades.

  • No lee ni escribe código en el único idioma que conoce. Como desarrollador hábil, sabe que para resolver este problema específico que tiene ahora, la programación funcional es una alternativa mucho mejor , por lo que ahora debe leer y escribir código en lenguaje de programación funcional.

  • No se limita a un pequeño conjunto de bibliotecas que conoce. Si codifica en C #, desea conocer y utilizar toda la potencia de muchas bibliotecas de .NET Framework.

  • Ya no usa el bloc de notas. Necesita su potente IDE y desea saber cómo unir el código de prueba, de qué se tratan las métricas de código y cuál es el significado de cientos de opciones y ventanas que su IDE puede mostrarle.

  • No desea limitarse modestamente a un conjunto básico de herramientas que le proporciona el lenguaje . En C #, desea usar genéricos, contratos de código, reflexión, desarrollo impulsado por eventos, aspectos funcionales con LINQ, extensiones reactivas y un montón de otras cosas que aprendió, todo en un solo proyecto, si esas cosas lo ayudan a escribir mejor código.

  • No empiezas a escribir código . Usted pasa del 80 al 90% de su tiempo reuniendo requisitos , creando la arquitectura de su aplicación, escribiendo pruebas unitarias, escribiendo documentación, etc., y solo del 10 al 20% de su tiempo escribiendo código real .

  • Te importa la seguridad . Usted conoce los problemas legales que pueden surgir con los datos manipulados por sus aplicaciones. Ya sabes lo que es ITIL . Conoces algunas normas ISO y las aplicas diariamente en tu trabajo.

Sí, gana experiencia y habilidades, y se vuelve más fácil resolver un problema dado con todo el conocimiento y las habilidades intelectuales que adquirió. Pero los problemas que debe resolver también crecen, y simplemente no está entusiasmado por resolver los problemas del nivel de los que he resuelto cuando comenzó a programar.

Mientras adquiere habilidades, también obtiene una idea de la complejidad del desarrollo de software, aprende los aspectos que ni siquiera podía imaginar cuando comenzó a aprender programación, y desea y necesita aplicar todas las cosas que aprende a diario.

En breve:

  1. El primer día que comienzas a aprender a programar, la tarea de enumerar todos los números del 1 al 100 divisibles por dos es muy compleja: acabas de aprender a hacer bucles y mostrar números en la pantalla, pero no tienes idea de cómo averiguar si El número es divisible por dos.

  2. Diez años después, el mismo ejercicio parece ser extremadamente simple. Pero también, diez años después, está escribiendo aplicaciones que deben usar transacciones, están alojadas en varios servidores y deben manejar el estado de sesión correctamente entre servidores, y está almacenando los detalles de la cuenta bancaria de sus clientes, con todos los aspectos legales y de seguridad resultantes.

  3. ... Y te preguntas "¿Cómo podría hacer eso?" exactamente de la misma manera que lo hizo hace diez años cuando tenía que mostrar números en una pantalla con un bucle.

Cuando todo se vuelve fácil para usted en un dominio, significa que ha alcanzado la perfección en este dominio o que ya no le importa.

Lograr la perfección en un dominio tan vasto como el desarrollo de software es imposible, no importa lo inteligente que seas.

Arseni Mourzenko
fuente
36
Caminar sobre el agua y desarrollar software a partir de una especificación es fácil si ambos están congelados (muestra que "No comienzas a escribir código. Pasas meses reuniendo requisitos" es un poco poco realista)
jfs
99
"La programación funcional es una alternativa mucho mejor " es discutible.
jfs
15
Ciertamente espero que el bit de "programación funcional" sea solo un ejemplo de "usar la herramienta adecuada para el trabajo" en lugar de implicar que la programación funcional es realmente mejor para el uso general.
Ben Brocka
77
También señalaré que "los requisitos de recolección de meses" sin desarrollo solo sucederán básicamente en un modelo de cascada idealizado. Si no estás iterando, te estás matando a ti mismo y al proyecto.
Ben Brocka
8
"Nunca se hace más fácil, simplemente vas más rápido". / Greg LeMond /
daGrevis
20

De niño, aprendes a hablar y luego a leer tu lengua materna. La mecánica simple de esto es una lucha al principio, pero en algún momento llega con fluidez. Sin embargo, todavía tiene un suministro infinito de libros que no ha leído, y en algunos temas debe aumentar su vocabulario primero solo para poder entender el libro.

Lo mismo vale para la programación de computadoras. En algún momento, el idioma en sí deja de sentirse como un idioma extranjero, pero todavía hay muchas cosas escritas en ese idioma que aún no sabes. Pero todo es accesible para usted con cierto esfuerzo.

Algunos trabajos de programación son muy repetitivos, básicamente re-implementan software muy similar para diferentes clientes. En esos trabajos, puede sentir que llega a una meseta de aprendizaje. En otros trabajos, está haciendo algo nuevo y único todo el tiempo, y nunca deja de aprender cosas nuevas.

Karl Bielefeldt
fuente
18

Aquí hay algunas respuestas realmente buenas, pero pensé que podría agregar un par de puntos más:

cuando era un principiante solía pensar que sabía todo sobre programación, pero a medida que aprendía más me di cuenta de lo difícil que es este campo

Esto se llama el efecto Dunning-Kruger . Es extremadamente común entre los programadores principiantes y, de hecho, los principiantes en muchos campos.

La mayoría de los códigos fuente en sitios web, vistos por Google Chrome parecen muy desordenados y desorganizados

¿Las personas que escribieron esos sitios web querían que pudieras entenderlos? Probablemente no. Les interesa tener un código que sea difícil de entender.

simplemente me hace preguntarme cómo se puede aprender tanto.

Por especialización . Soy un experto en un campo extraordinariamente estrecho: el diseño y la implementación de analizadores semánticos del compilador de C #. Si hubiera pasado quince años estudiando OpenGL o XML o HTML o lo que sea, sería un experto en eso y desconcertado por los analizadores semánticos. Pero no lo hice, y por lo tanto solo tengo una comprensión muy básica de OpenGL, XML y HTML.

La pregunta, en pocas palabras, es si estas cosas se vuelven más claras para un programador a medida que avanza en su carrera.

Sí, porque comienzas a ver los patrones más grandes. Tome OpenGL por ejemplo. Probablemente haya visto un montón de "bibliotecas API": grandes fragmentos de código relacionado en los que la forma en que interactúa con el código es llamando a un montón de funciones nombradas con argumentos particulares. Y puede obtener una comprensión básica de OpenGL simplemente entendiendo que es una API.

Cuando haya adquirido más experiencia y haya visto un montón de técnicas de programación diferentes, se dará cuenta de que las tecnologías aparentemente no relacionadas, como OpenGL y LINQ en C #, tienen puntos en común. Ambas son API en las que construye flujos de trabajo que canalizan datos, y que puede ejecutar optimizadores y otras transformaciones en el flujo de trabajo de manera rica e interesante. Una vez que tenga ese concepto en su caja de herramientas, de repente se vuelve mucho más fácil aprovechar toda la potencia de cualquier API que use ese patrón.

¿Los temas complicados como los enumerados anteriormente (OpenGL, MySQL, sitios html avanzados) se vuelven más fáciles de leer, escribir y comprender a medida que aprende más, o simplemente se vuelve más complicado a medida que avanza?

Se vuelven más fáciles y más complicados. Más fácil porque, como dije, comienzas a reconocer los patrones de pensamiento más amplios que subyacen al diseño del sistema, lo que te permite usar el sistema de manera más efectiva. Más complicado porque ahora puede usar el sistema para resolver problemas más complicados y luego comenzar a encontrarse con las limitaciones del sistema.

¿Cómo puedes combatir esta sensación de que eres una hormiga en el mundo de la programación y estas cosas están a punto de aplastarte?

Eres una hormiga; Todos somos hormigas. Pero las cosas no son el pie que te aplasta; es el mundo que puedes explorar, vivir, beneficiarte y mejorar. Tú, hormiga, solo puedes explorar una pequeña parte de ella. Elija una parte que le guste donde pueda agregar valor real y convertirse en un experto en ella.

Eric Lippert
fuente
2
Muchas gracias por esta respuesta, está por encima del resto porque no solo responde a mi pregunta principal, sino que también me abre los ojos sobre ciertas cosas. +1
Bugster
@Eric: ¿Qué le dirías a una persona en este tipo de temas donde dice "la especialización es para los insectos, no para los humanos"?
Joan Venge
@JoanVenge ¿Alguien diría eso? Por lo general, las personas se especializan y son únicas, y mucho más si sienten la necesidad de distinguirse de los animales (o insectos).
Matthew leyó el
1
entiendes mal lo que el efecto Dunning-Kruger se define como la incapacidad de los no calificados para reconocer su propia ineptitud y evaluar su propia habilidad con precisión . Si no puede reconocer, no sabe todo, nunca puede aprender nada nuevo. Si puedes reconocerlo, no es DKE.
+1 para Elija una parte que le guste donde pueda agregar valor real y convertirse en un experto en ella.
Akshay Khot
14

Respuesta corta, sí.

Dado el tiempo y la exposición, estas cosas se vuelven más fáciles de comprender.

Recuerde que cuando mira sitios desde las herramientas de desarrollo en su navegador, a menudo los genera un marco. Que sea cualquier cantidad de cosas ... ASP.NET, JSP, RoR, Django, ... quién sabe. Algunos de estos marcos producen código más limpio que otros.

Al cerrar ... la exposición conduce a la competencia. No hay forma de anular ese sentimiento. Solo experiencia y aprendizaje. Se necesita tiempo para mudarse, adquirir conocimientos de dominio y aprender las habilidades que utiliza su entorno.

Aparejo
fuente
1
Hay algo de verdad en esto, siempre y cuando la persona que escribió el código usara buenas prácticas y los modismos habituales tanto del lenguaje en particular como de los programadores en general. La codificación incorrecta y / o la ofuscación deliberada pueden retrasarlo a volver a gatear. Intenta pasar por CodeGolf.SE . Incluso las versiones "en claro" pueden ser un trabajo duro porque las buenas prácticas se han sacrificado en lugar de la métrica del concurso.
dmckee
@dmckee Incluso el mal código se vuelve mucho más fácil de leer con experiencia. Noto esto en particular en C ++ (y he tenido que leer muchos códigos incorrectos). Por supuesto, es un obstáculo extremo, pero se vuelve mucho más fácil una vez que comienzas a detectar patrones de mal diseño y errores comunes. Estos también forman una especie de modismo que aprenderás.
Konrad Rudolph
2

Estoy de acuerdo con algunas de las respuestas ya dadas, pero creo que también son un punto subyacente que no se discute sobre la lectura de código. Cuando comencé a buscar un código fuente abierto, me pareció abrumador y enorme. ¿Pero adivina que? siempre va a ser enorme En algún momento te das cuenta de que mejoras al extraer lo que quieres saber específicamente y seguir adelante.

Sin embargo, un ejemplo que diste fue mirar un montón de código HTML:

¿Por qué estás mirando el código HTML? Probablemente no porque quieras aprender el HTML de todo el sitio. Probablemente hay un truco específico que esperas aprender. En ese caso, solo busque el HTML relevante con una herramienta como firebug.

Si realmente quieres aprender cómo está hecho todo el sitio, te has dado cuenta de que HTML renderizado no es la forma de hacerlo. Sería mejor mirar un proyecto de código abierto utilizando tecnología similar. Sin embargo, intentar aprender el código de un proyecto completo no vale la pena como parece. Es aburrido, consume mucho tiempo, es fácil olvidar lo que aprendió y no tiene nada que mostrar al final. Aprenderá menos al leer el código de otras personas sin cesar y mucho más al usar piezas específicas e interesantes para escribir complementos, adiciones de funciones o como andamios y consejos para sus propios proyectos.

Intenta aprender el mínimo absoluto para que algo funcione por tu cuenta. Solo regrese a sus puntos de referencia cuando se atasque o desee aprender algo nuevo específico. Esto va en contra de la sabiduría convencional de que tienes que entender todo o de lo contrario estás programando en la oscuridad. Pero eventualmente te das cuenta de que el objetivo es imposible y aprendes a equilibrar los objetivos de saberlo todo y el objetivo de terminar realmente en lo que estás trabajando.

Sistema métrico
fuente
2

La respuesta corta es SÍ, pero mucho depende de cómo defina la experiencia.

Creo que hay al menos 3 partes para el desarrollo. A medida que mejora en cada segmento, ciertas cosas se vuelven más claras.

  1. Comprender los requisitos del NEGOCIO . Esto le brinda una mejor vista panorámica de la aplicación. Cuanto mejor comprenda por qué las reglas comerciales son lo que son, más rápido comprenderá por qué ciertas cosas se hacen de cierta manera. Por ejemplo, sus clientes deben cumplir con la regulación gubernamental X, razón por la cual necesitan preparar el documento Y, razón por la cual necesitan almacenar esta información aparentemente inútil.

  2. Comprensión de los requisitos técnicos . Esto es como el # 1, excepto que se trata más de entender por qué a nivel técnico. Algunas herramientas y tecnologías tienen sus propias peculiaridades, hasta que las haya abordado antes de que sea difícil entender por qué las cosas se hacen de cierta manera. Esto es más evidente cuando se trata con sistemas heredados. Por ejemplo, la aplicación utiliza un bus de servicio particular que solo toma XML.

  3. Comprender los requisitos de IDIOMA . Como otros han mencionado, mientras más experiencia tengas con un idioma, más rápido podrás leer lo que el codificador original estaba tratando de lograr. Sin embargo, sin el n. ° 1 y el n. ° 2, descubrirá que esta capacidad aumentada alcanza su punto máximo rápidamente.

Intente involucrarse en múltiples aspectos del desarrollo porque realmente no se vuelve más fácil hasta que haya hecho todas las áreas al menos algunas veces.

Recuerde que la perfección (y el propósito) en el código de otra persona siempre es relativa a # 1 y # 2. Estos son los principales impulsores de por qué el código está en el estado en que se encuentra. Los cambios frecuentes en esas dos áreas son la razón más importante por la que obtenemos código de espagueti todo el tiempo. Entonces, a menos que sea un experto en leer los requisitos técnicos y comerciales, la tarea de leer el código siempre será una PITA real.

Permas
fuente
2

¡Se vuelve más fácil y más complicado al mismo tiempo!

Conocer a los demás es sabiduría;
Conocer el ser es iluminación.
Dominar a otros requiere fuerza;
Dominar el yo requiere fuerza;
El que sabe que tiene suficiente es rico.
La perseverancia es un signo de fuerza de voluntad.
El que se queda donde está, permanece.
Morir pero no perecer es estar eternamente presente.

traducido al desarrollo de software

Conocer muchas tecnologías es sabiduría. (Todo desciende de ALGOL)
Saber lo que no sabes es iluminación. (LISP)
Dominar muchos lenguajes, marcos y plataformas requiere mucho esfuerzo. (Java)
Dominar solo lo que necesita saber y solo eso requiere fortaleza. (y Google o stackoverflow.com)
Saber cuándo dejar de codificar y entregar algo es cuando sabes lo suficientemente bueno. (Sin parálisis de análisis ni enchapado en oro)
Siga trabajando en lo que está tratando de lograr, requiere concentración y fuerza de voluntad. (Todo cambia constantemente, nunca terminas)
Quédate con una o dos tecnologías y resistirás. (COBOL todavía paga bien, al igual que C)
Dejar la programación y pasar a la gestión es estar eternamente presente. (o dejar un legado de software FOSS que todos seguirán usando mucho después de su muerte).


fuente
Entonces, en lugar de ser una hormiga, deberías ser una cucaracha y levantarte cuando te aplasta, ¿estoy en lo cierto? :-P
Bugster
"Analysis Paralysis"! = "Saber cuándo dejar de codificar". Es más "saber cuándo comenzar a codificar".
Ben Voigt
0

La pregunta, en pocas palabras, es si estas cosas se vuelven más claras para un programador a medida que avanza en su carrera. ¿Los temas complicados como los enumerados anteriormente (OpenGL, MySQL, sitios html avanzados) se vuelven más fáciles de leer, escribir y comprender a medida que aprende más, o simplemente se vuelve más complicado a medida que avanza? ¿Cómo puedes combatir esta sensación de que eres una hormiga en el mundo de la programación y estas cosas están a punto de aplastarte?

Voy a tomar un rumbo ligeramente diferente al de los otros encuestados; Creo que leer y escribir código de hecho se vuelve más fácil a medida que lo haces más, y lo demostraré con una simple analogía.

Piense en cuándo comenzó a practicar deportes. Al principio con el primer deporte que aprendiste, la coordinación básica para las tareas simples de un solo deporte probablemente parecía realmente difícil. A medida que adquiriste más experiencia, comenzaste a dominar las tareas simples para no tener que pensar más en ellas y te diste cuenta de que había tareas más complejas a las que podrías prestar atención (como mirar a otros jugadores para predecir Su comportamiento).

Luego, cuando probaste suerte en otro deporte, probablemente descubriste que no estabas tan atrasado cuando comenzaste. Atrapar una pelota de baloncesto es muy diferente a atrapar una pelota de béisbol, pero a alguien que domine uno de ellos le resultará mucho más fácil recoger al otro que a una persona que nunca antes había hecho ninguno de los dos. Con su experiencia practicando un segundo deporte, descubrió que el primer deporte le proporcionó habilidades específicas y genéricas . Las habilidades específicas (atrapar una pelota de baloncesto) son útiles solo en su dominio, pero las habilidades genéricas (rastrear un objeto en movimiento rápido que se aproxima en un espacio tridimensional y desarrollar un plan para lidiar con él) lo hacen mejor en todos los dominios relacionados.


¿Qué tiene esto que ver con la programación? La primera línea de código que lee lo expone a un mundo basado en ciertas reglas. Aprendiste esas reglas (la sintaxis y las expresiones idiomáticas de ese lenguaje) como habilidades específicas, pero también aprendiste algunas habilidades genéricas valiosas: comprender cómo funcionan internamente las computadoras y cómo expresar tus intenciones de una manera que una computadora pueda entender. Cada nuevo idioma que aprende le proporciona algunas habilidades específicas nuevas, pero también fortalece sus habilidades genéricas y le ayuda a ver los patrones disparados a través de todos los lenguajes de computadora, como depósitos minerales en capas a lo largo de una pared del cañón. Una vez que se familiarice con algunos idiomas diferentes, podrá reconocer la "forma" de la mayoría de los códigos, si perdona la vaguedad, incluso si no sabe nada sobre el idioma en el que está escrito.

Por ejemplo, los tres lenguajes que mencionó (MYSQL, OpenGL, C ++) tienen algunas características comunes:

  • Es posible calcular pequeñas partes de un algoritmo por separado y componerlas en una solución completa más adelante
  • La computadora generalmente requiere cierta cantidad de preparación general antes de que pueda comenzar a trabajar en su problema específico (crear una tabla, inicializar un lienzo o quizás cargar bibliotecas comunes)
  • Las declaraciones anteriores tienen prioridad y afectan a las declaraciones posteriores, es decir, la computadora comienza en la parte superior del código y baja

Cuanta más programación realice, más se dará cuenta de que, independientemente de la forma de la pelota, sigue siendo una pelota que viene hacia usted y sabe qué hacer con ella sin tener que pensar demasiado en ella. Toda la programación se trata de intentar expresar sus intenciones de una manera que la computadora pueda entender; aprenda lo suficiente y comenzará a poder leer las intenciones en lugar del código.

PD- Cada vez, cuando finalmente empiezas a sentir que sabes manejar, te encontrarás con algo que te rompe el cerebro y te hace sentir como un principiante. Eso es lo que nos encanta de este trabajo, siempre hay algo nuevo que aprender.

Manitas5
fuente
0

Respuesta corta: , en general

Sin embargo, no se convertirá en un especialista si generaliza. Convertirse en un especialista también significa darse cuenta de todas las cosas que no sabe: esto puede ser una sensación abrumadora.

A medida que avanzas en el tiempo, ganas experiencia.

A medida que avanza en el tiempo, otros lenguajes / patrones, etc. se desarrollan paralelamente a su desarrollo.

Otra variable a su pregunta es si está ganando experiencia significativa en relación con la industria, ya que también se mueve a través del mismo tiempo constante. La industria tecnológica es un objetivo móvil y, a diferencia de la mayoría de las otras industrias.

Una buena pregunta también podría ser: ¿se está extendiendo demasiado o demasiado en un idioma determinado?

EhevuTov
fuente
0

Es una fuente interminable de asombro (y ansiedad) cuántos lenguajes de computadora hay y hasta qué punto siguen cambiando. Además de eso, la cantidad de marcos diferentes en cada idioma y para cada marco, la gran variedad de bibliotecas y complementos disponibles. Agregue a eso el número de editores de código e IDEs.

Todas estas variaciones tienen dos dimensiones de complejidad.

  1. Su vocabulario y sintaxis son diferentes.
  2. Las abstracciones (conceptos de alto nivel) que admiten son diferentes.

También tienen una cosa en común. La integridad de Turing. Con un esfuerzo suficiente por parte de un programador, ¡todos pueden usarse para resolver todos los problemas! Entonces, si comienzas con un lenguaje como C (vocabulario pequeño, sintaxis compleja y casi sin abstracciones) definitivamente tienes la sensación de que puedes hacer cualquier cosa (con bastante razón).

Luego cambie a "cosas fáciles" como CSS, HTML, Javascript y quizás también marcos como Bootstrap y React, y su cerebro se freirá, como lo haría Albert Einstein. La gente piensa "sé francés, por lo que aprender alemán debería ser fácil". ¡No!

Se pueden aprender muchas abstracciones de programación de los patrones de software . Hay varios libros dedicados al tema. Los patrones están en todas partes, son independientes del lenguaje y se pueden aprender y comprender una vez . Si conoce sus patrones, puede usarlos en cualquier idioma y reconocerlos cuando se incorporan a los idiomas y con mayor frecuencia en varios marcos.

La mayoría de las personas tarda de 1 a 2 años en hablar un nuevo idioma y los empleadores lo saben. Es por eso que no contratan a personas que no tienen experiencia en su idioma, porque el nuevo empleado pasará mucho tiempo luchando con el idioma y no tendrá suficiente tiempo para resolver los problemas comerciales.

En resumen, los principios / abstracciones de la informática, los patrones de software y el tipo de problemas comerciales que se encuentran, todo esto cambia lentamente. Puede aprender una vez y acumular nuevos conocimientos de forma incremental. Por el contrario, los lenguajes de computadora, los marcos, los llamados "ecosistemas" y las bibliotecas de componentes cambian muy rápidamente al igual que todas las herramientas que los rodean. ¡Aquí se espera que el ritmo de aprendizaje sea lento y lento!

bcperth
fuente
-1

¿Los temas complicados como los enumerados anteriormente (OpenGL, MySQL, sitios html avanzados) se vuelven más fáciles de leer, escribir y comprender a medida que aprende más, o simplemente se vuelve más complicado a medida que avanza? ¿Cómo puedes combatir esta sensación de que eres una hormiga en el mundo de la programación y estas cosas están a punto de aplastarte?

Cuando se hace algún progreso, desaprendemos y aprendemos de nuevo lo que creíamos saber antes. - Henry David Thoreau

Hay una historia del maestro zen y la taza de té desbordante .

A veces, necesitamos dejar de lado nuestras nociones y opiniones preconcebidas del pasado para que podamos permitirnos aprender nuevos conceptos.

Recuerde: si se siente abrumado por un nuevo concepto, debe buscar muchos maestros.

Recientemente, cuando se me asignó la tarea de actualizar algún software interno de la compañía que utilizaba un lenguaje de script con el que no estaba familiarizado. Al principio fue muy estresante. Sin embargo, después de cambiar mi actitud, comencé a encontrar recursos que explicaban la sintaxis y los conceptos básicos. Completé el proyecto y ahora utilizo este lenguaje de secuencias de comandos como una de mis herramientas para hacer más cosas.

Tu actitud hace toda la diferencia.

mrwes
fuente