Esta es una pregunta realmente complicada de responder, así que daré algunos pensamientos y algunas analogías.
Empezar a aprender a programar es un poco complicado. Quiero decir, ¿por dónde empiezas? Hay docenas de lenguajes de programación por ahí, y docenas de bases de datos y solo leer sobre estas cosas pueden ser abrumadoras, ya que la jerga cubre tu pantalla con acrónimos. Dicho esto, aunque es un poco complicado, no es necesariamente difícil. Solo tienes que usar Google, elige algunos tutoriales básicos en Python o JavaScript y sumérgete siguiendo las instrucciones.
En este paso, solo necesitas un poco de tenacidad para seguir haciendo tutoriales hasta que comiences a “obtenerlo”. No es de ninguna manera difícil.
Construir tus primeras aplicaciones tampoco es difícil. Quiero decir, necesitas decidir qué vas a construir, pero esa es probablemente la parte más difícil. Después de eso, la tenacidad , una vez más, es lo que se necesita. Claro, no vas a construir nada increíble, pero aprenderás muchísimo una vez que comiences a intentar construir cosas reales.
- ¿Es fácil aprender Hadoop?
- Si solo tienes dos horas para aprender a programar, ¿lo aprenderás alguna vez?
- Quiero cambiar mi carrera como ingeniero de calidad (de fabricación) a analista de datos (en una empresa no manufacturera), no tengo experiencia en programación, pero conozco estadísticas, Minitab, SPSS y Excel. ¿Qué otras habilidades debo aprender?
- ¿Qué idioma (s) quieres aprender y por qué? ¿Cuáles hablas ahora? ¿Qué estás aprendiendo en este momento?
- Si tuviera que elegir un lenguaje de programación para una carrera en finanzas, ¿qué debería aprender ahora?
Todo esto es mucho como aprender a tocar la guitarra. No es difícil, pero tienes que dedicar tiempo para aprender lo básico y practicar un poco.
Profundizar en el software es donde las cosas se ponen interesantes. Nuevamente, esto es solo cuestión de dedicar las horas e investigar, leer y jugar con las cosas. Una vez más, no es difícil.
Donde las cosas se ponen interesantes y difíciles es cuando empiezas a construir sistemas del mundo real a escala. Cuando empiezas a crear software que resuelve problemas reales y cuando las respuestas no son obvias y donde necesitas aportar un conocimiento y una técnica más profundos. La mayoría de los ingenieros ni siquiera llegan tan lejos y, por lo general, permanecen en el lado superficial del grupo de ingeniería, construyen aplicaciones basadas en bases de datos, API básicas, aplicaciones móviles empresariales estándar, etc. Pero, sin duda, pueden tener una vida increíble de esa manera.
TL; DR; Hasta que no llegue a la parte más profunda de la piscina, no es difícil, solo debe seguir y dedicar tiempo y esfuerzo.