¿Por qué es tan difícil convertirse en un buen desarrollador de software?

El desarrollo de software tiene que ver con la complejidad. Y realmente, solo se trata de eso. Para todo lo que la gente habla sobre ellos, los lenguajes de programación no importan mucho. Lo cual, paradójicamente, es la razón por la cual hay tantos. No hacen tanta diferencia, por lo que uno nunca ganará contra todos los demás. La gente seguirá pensando que uno u otro es el Santo Grial y resolverá todos los problemas, pero nunca lo hacen.

Porque el problema subyacente es siempre la complejidad. Por supuesto, hay problemas que no son complejos. En ese caso, puede activar un programa rápidamente que resuelve el problema y luego olvidarlo. Pero los problemas que pasas tu vida resolviendo son los complejos. Aquí, fuera de mi cabeza, hay algunas de las razones de la complejidad:

  • Los usuarios quieren muchas cosas
  • Los usuarios quieren cosas imposibles y no aceptarán un no por respuesta
  • Los usuarios no saben lo que quieren.
  • No sabes lo que quieren los usuarios
  • El hardware se rompe de manera predecible, lo que se espera que maneje
  • El hardware se rompe de manera impredecible, que todavía se espera que falle con gracia
  • No existen estándares en el área relevante.
  • Hay demasiados estándares
  • Los estándares son ambiguos.
  • Otras personas no entienden los estándares
  • Los estándares han sido implementados de manera diferente por diferentes personas
  • Requisitos heredados
  • Las constantes no son
  • Las variables no
  • Tus colegas son estupidos
  • Eres estúpido
  • El marketing es estúpido.
  • El mercado es estúpido y el marketing tuvo razón al decírtelo
  • El mercado tiene razón, pero no puedes entender por qué
  • El número de interacciones bidireccionales aumenta a medida que el cuadrado del número de partes que interactúan
  • Las interacciones son a menudo más de dos vías, con el consiguiente aumento exponencial de la complejidad.
  • Las soluciones simples no escalan, por lo que debe usar soluciones complejas
  • Internet hace que todo sea más complicado
  • La gerencia sigue escuchando palabras de moda y quiere que las implemente de inmediato sin tomarse ningún tiempo
  • La seguridad hace que todo sea más complicado y más lento

Estoy seguro de que otras personas considerarán muchas otras razones

Es difícil ser bueno en algo a menos que practiques. Los primeros días de programación definitivamente son un poco difíciles y frustrantes. Es posible que no entiendas por qué las cosas funcionan de esa manera. Toma un tiempo antes de que te des cuenta. Nadie entendió la programación la primera vez que alguien los pensó o la primera vez que leyeron sobre ella. ¡Sigue intentándolo hasta que algo entre en tu cráneo! Hay muchos recursos gratuitos disponibles en Internet.

Porque es complicado

Realmente no hay otra respuesta que esa.

Es la misma razón por la que es difícil desmontar un motor de combustión interna y volver a armarlo.

Es complicado.

Algunas cosas son complicadas por naturaleza, simplemente lo son.

Ninguna cantidad de hacer lenguajes de programación como el inglés, o hacer herramientas de arrastrar y soltar va a cambiar eso.

Si no quieres un trabajo complicado, no seas programador.

Si no te importa que las cosas se compliquen, quítate el culo de Quora, elige un idioma y comienza a aprender a programar.

No es difícil, solo necesita mucha práctica, más de 3 años de experiencia en ingeniería de software te influyen fuertemente para avanzar en tu carrera