Ahora que cualquiera puede aprender a codificar, ¿se volverá menos lucrativo?

Falsa premisa, hay muchas más opciones superficialmente útiles para aprender a codificar que en el pasado. Pero, la actividad fundamental involucrada en aprender a codificar bien , es decir, dedicar suficiente tiempo a escribir el código para que pueda “cometer todos los errores que hay que cometer”, se ha mantenido prácticamente igual durante los últimos 30 años o más. Ahora es mucho más fácil aprender a piratear los conceptos básicos, pero no es más fácil ser un buen desarrollador y no lo será en ningún momento.

Lo que puede hacer que el desarrollo sea menos lucrativo es la percepción de que es tan lucrativo.

Una anécdota: entré a la escuela en 2000 y había 200 estudiantes de primer año de CS. Cuando me gradué, después de que estallara la burbuja .com, había 200 personas en todo el programa. Parecía que todos los trabajos de codificación iban a ir a la India y las perspectivas para los desarrolladores estadounidenses parecían sombrías. Esa percepción, en 2003, mantuvo a las personas alejadas de la disciplina durante el tiempo suficiente para que cuando las cosas empezaron a mejorar, hubo una grave escasez de desarrolladores en tierra bien capacitados.

Avancemos hasta el día de hoy y la percepción de que la habilidad de desarrollo == un boleto de oro puede resultar en una cantidad suficiente de talento en la parte superior del embudo. Teóricamente, esto debería dar como resultado que los desarrolladores de suficiente calidad salgan del fondo del embudo para adaptarse al reciente aumento de la demanda.

Dicho esto, el crecimiento a largo plazo de cualquier compañía está altamente correlacionado con la capacidad de esa compañía para desarrollar productos y servicios nuevos e innovadores. Los ingenieros de 10X crean mucho valor y siempre serán compensados ​​adecuadamente.

También vale la pena mencionar que los desarrolladores que son más valiosos y altamente compensados ​​no son necesariamente los que simplemente pasan la codificación todo el día.

Aunque no pueden. Y ese es el problema que enfrenta nuestra industria.

Se olvida de lo que una persona normal podría estar orgullosa de escribir “Hello World” en JavaScript y obtener una página web personal de Bio, no son nada, absolutamente nada como software real.

La escala de esfuerzo en la escritura de Windows, Linux, iOS, Google Chrome, Google Search, AWS, Facebook, Hotmail, Outlook … Incluso escribiendo una aplicación de teléfono tonto. La mayoría de la gente no puede hacerlo.

Las barreras para los equipos son menores, estoy de acuerdo.

La barrera para pensar es más alta.

El software no es más que capturado, pensamiento ejecutable.

Se está volviendo exponencialmente más difícil, en mi opinión.

E incluso con todo el internet disponible en su teléfono inteligente, observo que las personas hacen preguntas realmente básicas, como “¿Cómo empiezo a codificar?” En Quora. Me encanta responder, y ayudar. Pero … me muestra que una persona que no escriba una consulta de búsqueda en Google está considerando ingresar a nuestro campo.

Es como atar los cordones y preguntar “¿Cuándo puedo competir con Usain Bolt?”

Olvídate de la codificación. Piense en cómo diseña un sistema como Facebook o Netflix o la red telefónica pública o una estación base móvil. ¿Cómo apoyan a millones, miles de millones de usuarios? ¿Cómo se garantiza el servicio? ¿Dónde almacena sus datos? ¿Cómo los protege? ¿Qué pasa si falla el almacenamiento? ¿Cómo se les factura? ¿Cómo no les cobras dos veces?

Nada de eso se responde mediante codificación. Es muy difícil, y es de misión crítica.

Y las personas capaces de hacerlo son caras y escasas.

Realmente no podemos juntar suficientes para mantener el ritmo de la demanda.

Como dice Marc Andreesen (inventor del navegador, socio de la firma VC), “el software se está comiendo el mundo”.

Y no son pequeños fragmentos de guiones de lo que él está hablando.

Lo curioso es que tuvimos un período en el que fue mucho más cierto que en la actualidad.

Se llamaba HyperCard. Y fue realmente sorprendente la cantidad de software que escribieron las personas, en su mayoría material educativo, escrito por profesores, y parte de él fue muy, muy bueno. Mientras tanto, muchos programadores profesionales opinaron que “por supuesto, solo los profesionales saben cómo escribir código”. Desafortunadamente, Apple dejó de apoyar a HyperCard, y hasta ahora los únicos intentos de sus sucesores han sido bastante limitados y propietarios.

Luego están las hojas de cálculo. Cualquiera que componga números para ganarse la vida aprende rápidamente a escribir macros de Excel. Tanto para los días en que un informe simple llevó una orden de tarea al departamento de TI, y 6 meses, y una gran cantidad de trabajos de programación de bajo nivel.

Lo que hay que pensar es que las mejores herramientas facilitan a las personas hacer su propio trabajo. La mayoría de las personas escriben sus propios informes en estos días: dictáfonos y mecanógrafos (no necesariamente un ahorro de costos netos, sin embargo, cuando las personas con precios altos gastan su tiempo en tareas que podrían ser realizadas por mano de obra más barata).

En estos días, uno obtiene sitios web gratuitos y simples que solían costar $ 5000 o más para construir. Un simple sitio de comercio electrónico solía costar $ 50,000 o más, con diseñadores que escribían HTML a $ 110 por hora. y más, y la gente de back-end que escribe scripts cgi a $ 200 / hr. y arriba. En estos días, la mayoría de las cosas simples se realizan mediante una plataforma de código abierto, y muchas personas construyen sus propios sitios (o esperan que algún miembro del personal de bajo nivel, como un pasante de marketing, lo haga).

Y en dominios más especializados, el uso de herramientas de software es simplemente parte del trabajo. Un técnico de laboratorio clínico podría estar utilizando LabView para controlar instrumentos y tendrá que escribir scripts. Un ingeniero automotriz escribirá el código para una unidad de control del motor. Un científico de datos escribirá sus propias rutinas analíticas. Habrá una demanda continua de especialistas, no tanto para que los programadores genéricos escriban el código para ellos. E incluso los especialistas deben preocuparse por que el software se ocupe de sus trabajos (¿puede decir Watson?).

Seguirá habiendo demanda para que las personas escriban herramientas y resuelvan nuevos problemas, pero todas esas personas que toman algunos cursos en Udemy, habrá tantos trabajos para ellos como para fabricantes de látigos con errores (aún unos pocos) , operadores de centralita, operadores de elevadores, y mecanógrafos. Y seguro que parece que los taxistas pronto serán cosa del pasado.

Esta es una gran pregunta que estoy seguro que muchos programadores han preguntado. Si bien no estoy seguro de que “cualquiera” pueda aprender a codificar, ciertamente hay un número creciente de programadores que ingresan a la fuerza laboral y parece que la programación se enseña a edades cada vez más jóvenes. Ciertamente es una pregunta justificada. Por ejemplo, su velocidad de escritura solía ser un punto culminante de su currículum, pero ahora se espera que sepa cómo funciona una computadora y que pueda hacer la mayoría de los trabajos, por lo que es natural pensar que algún día se espera que Sólo tienes un nivel básico de conocimientos de programación.

La tecnología está cambiando todo el tiempo. Los lenguajes de programación están cambiando a medida que pasan los años. Ciertamente, no creo que la programación se llene con posiciones tipo ‘hamburguesa’, pero la gente innovará y con esa innovación se producirán cambios en la industria que la gente tendrá que aprender y adaptarse. La ingeniería y programación de software son líneas de trabajo que requieren un compromiso de por vida con el aprendizaje.

Para mantenerse en la cima, intente pensar de esta manera: un abogado que debe estudiar constantemente los cambios en la ley y la jurisprudencia para comprender cómo defender al próximo cliente. Si no lo hace, perderá clientes y pronto saldrá del negocio. O piense en un médico que debe investigar constantemente nuevos tratamientos, medicamentos y métodos para atender mejor a sus pacientes. Del mismo modo, los programadores deben mantenerse actualizados sobre las tecnologías actuales y sobre cómo pueden desarrollarse de manera más eficiente dentro de ese entorno, ya sea para refrescar el lenguaje actual que conocen o para aprender uno nuevo.

Todo lo que se dice, si su suposición es cierta, estaríamos viendo una caída en los salarios actualmente, ¿verdad? Sin embargo, realmente no lo somos. Por ejemplo, aquí es donde algunos salarios de programación tienen una tendencia en este momento en YouWorth:

Salario de PHP en Estados Unidos – $ 109.6k / año

Salario de Java en Estados Unidos – $ 117k / año

Salario Swift en Estados Unidos – $ 100.7 / año

Salario de Python en Estados Unidos – $ 111k / año

La información salarial anterior provino de YouWorth. YouWorth es una aplicación móvil gratuita para iOS y Android que rastrea los datos salariales de los programadores. No solo soy un campeón para el producto, sino que lo uso yo mismo. La aplicación le permite a cualquiera importar habilidades de LinkedIn y rastrear el valor de su mercado laboral a lo largo del tiempo. También me notifican si hay un cambio en las habilidades que están siendo observadas. Es una gran herramienta para usar en tendencias de tendencias a lo largo del tiempo al examinar situaciones de mercado como esta.

Puedo responder desde mi propia experiencia, he estado trabajando en la industria de TI durante 23 años.

Cuando comencé a trabajar como desarrollador de software, tenía 18 años y podía escribir yo mismo una solución completa, un programa, un módulo, etc. Podría (de nuevo) escribir un producto completo en un par de meses.

No era fácil aprender a codificar en ese momento, la falta de información, encontrar un libro (especialmente fuera de los EE. UU.) Era una tarea difícil, los libros eran caros, era una pesadilla hacer que algunos compiladores funcionaran, etc. De repente, Internet cambió todo y fue más fácil que nunca encontrar información.

Durante los primeros años fue aún más fácil aprender nuevos trucos, pero el software creció exponencialmente hasta el punto de que hoy en día es casi imposible escribir una solución decente con menos de 5 a 10 personas. Ni siquiera considerando grandes soluciones como las que estoy trabajando ahora.

La cantidad de principios, patrones, prácticas, etc. ahora es la misma que en el pasado, la mayoría de ellos se inventaron hace más de 2 décadas, pero los necesita todos hoy en día, tiene que ser muy competente en la codificación de millones de líneas, haga Toneladas de errores, analiza muchas soluciones diferentes y eso lleva tiempo. Por lo tanto, aunque comience a codificar hoy en 3 a 4 años, no tendrá la experiencia y las habilidades de alguien que lleva 10 o 20 años en la industria, es como cualquier otra cosa en la vida, dominar la tecnología lleva mucho tiempo.

Y también hay que darse cuenta de que la cantidad de software creció exponencialmente, hace 25 años codifiqué solo para una computadora y, a veces, para PLC (automatización en diferentes industrias). Ahora hay miles de dispositivos diferentes con software, ¡incluso su lavaplatos tiene software en! Y no podemos seguir alimentando a la industria del software con suficientes ingenieros, desarrolladores, analistas, etc.

Desde que comencé a trabajar en esta maravillosa industria, nunca he visto la necesidad de que más y más personas tengan diferentes roles para producir soluciones. Y nunca he experimentado cuán locamente lucrativo se convirtió en. Imagínese en Estados Unidos que el salario medio es de alrededor de 52.000, por lo que la mitad de la población gana ese dinero. En la industria del software, 52k es probablemente el resultado final y después de 10 años puede hacer el doble de eso. Y siempre ha ido creciendo.

No creo que vea en mi carrera un momento en el que empiece a ser menos lucrativo.

Estaba programando computadoras cuando tenían 32KB de RAM y un procesador de 8 bits. Creo que las barreras eran mucho más bajas entonces, mucho más bajas de hecho.

Para hacer un juego entonces, fue el trabajo de una persona, la gente lo hizo, hicieron dinero. Haciendo un juego ahora, incluso los juegos ‘indie’ en iOS tienen presupuestos de $ 500k.

Todo lo que tenía que hacer un procesador de textos era guardar el texto, * quizás * tener una alineación del texto y poder enviar el texto a una impresora. Mira Office 365, hay un poco más de eso ahora.

Las computadoras eran más caras entonces (pero no mucho, si estamos comparando máquinas de desarrollador, no la netbook más barata que puedes encontrar).

Aparte de eso, diría que la barrera de entrada ahora es mucho más alta.

En términos de ser lucrativos, ciertamente tenemos un problema con respecto a la ‘carrera hacia el fondo’ que, básicamente, hay áreas completas de software que apenas puede cobrar dinero por productos. Eso afecta a la industria de teléfonos inteligentes / tabletas más que a un escritorio / servidor, pero también sigue siendo un problema.

Sí y no. Depende de cuál sea tu percepción de lucrativo.

  1. Ha sido cierto por un tiempo que cualquiera puede aprender a codificar. La mayoría de las aplicaciones más fáciles, modernas y obvias de codificación ya se han hecho y desempolvado. Las empresas que crean nuestros motores de búsqueda, redes sociales, comercio electrónico, juegos, aplicaciones y páginas web son en su mayoría gigantes tecnológicos. Los gigantes tecnológicos donde ser contratado es en sí mismo una gran tarea o logro para muchos principiantes.

Por el momento, la llamada fruta de “baja altura” se ha agotado, codificando como cualquier otra técnica en la historia humana se ha vuelto “más difícil” para convertirse en una gran oportunidad lucrativa. Entonces, la respuesta es SÍ.

  1. Ha sido cierto por un tiempo que cualquiera puede aprender a codificar. Muchos de los primeros programadores han desarrollado sistemas completos de larga duración y estables que han evolucionado y mejorado y ampliado con el tiempo. Estos son nuestros gigantes tecnológicos (Bonus: estas compañías ofrecen carreras altamente lucrativas a al menos unos pocos miles de personas cada una).

Debido a la omnipresencia de estos sistemas, han comenzado a surgir nuevos requisitos. Existe una demanda constante de productos y servicios, como Computación en la nube, Seguridad, Internet de alta velocidad, Computadoras más rápidas. Todas estas son oportunidades lucrativas que esperan nuevos codificadores. Por tanto, la respuesta es no.

Respuesta corta: Eventualmente, , en el futuro será menos lucrativo que hoy para la mayoría, pero aún así será digno.

Explicación: Mi conjetura es que dentro de la próxima década, casi todos los sistemas educativos de los países adoptarán e implementarán conocimientos básicos de computación (incluida la programación) y lo considerarán tan importante como las matemáticas. Esto dará como resultado que la mayoría de los graduados de la escuela secundaria puedan escribir códigos simples y / o construir su propio sitio web / blog. Por supuesto, esto no calificará a todos esos jóvenes como informáticos ni como ingenieros de software. Aún tendrá que graduarse en uno de esos dos campos y estar por encima del promedio para encontrar un buen trabajo.

Todos los esfuerzos a escala global llevan a la digitalización, automatización, Internet de las cosas … y muchos más … esto significa que las ofertas de empleo en este campo crecerán aún más que hoy, pero los candidatos calificados también crecerán. Los últimos 30 años han sido la época de oro para los “codificadores”, imagina ser un ingeniero mecánico durante la revolución industrial. Pero todo lo bueno llega a su fin. Y esta era dorada pasará más pronto que tarde. Ahora asistimos a esta fase en la que la economía y la industria están asimilando completamente la “tecnología informática” y todos sus derivados. ¿Cómo? De la misma manera que se hace con todos los otros campos de la ciencia: procedimientos de estandarización *. Haga clic en el enlace en la nota a pie de página para la definición . Ejemplo: piense en cómo STL transformó C ++, no más de un millón de maneras de lograr el mismo resultado … transfiera este ejemplo a una escala mayor … un proyecto promedio ya no depende de las habilidades / inteligencia / creatividad excepcionales de los “codificadores” individuales * * en lugar de disciplinados “codificadores” que siguen las normas

* Estandarización | Wikiwand

** Por supuesto, los “codificadores” excepcionales siempre estarán en demanda para las posiciones adecuadas …

Es cierto que aprender a programar es mucho más fácil hoy en día en comparación con mi día de estudiante, e incluso puedes hacerlo ahora de forma gratuita.

Pero el hecho de que pueda aprender fácilmente cómo programar no necesariamente significa que pueda codificar . Probablemente posees el conocimiento, pero ¿puedes traducir ese conocimiento en algo real?

Solo lea algunas de las preguntas en Quora, dice algo así: “He completado el curso en línea para aprender (complete con su lenguaje de programación favorito). Ahora, ¿cómo puedo crear un software?”

En una situación de trabajo real, todavía tendrá que competir con otro programador, y solo el que marque todas las casillas será contratado.

Estas casillas a menudo se extienden más allá del simple conocimiento de algún lenguaje de programación.

El hecho de que puedas leer un libro de recetas no significa que puedas cocinar.

Sí, cualquier persona puede aprender a imprimir Hello World , al igual que cualquiera puede poner dinero en el mercado de valores, cualquiera puede estudiar STEM, etc., con miles de sitios web, notas de clase y recursos prácticamente ilimitados disponibles en la web, sobre cualquier cosa. Es un mundo increíble en el que estamos viviendo.

Entonces, si desea sobresalir, la tarea es aprender algo que ver con códigos que no sean solo para cualquiera, pero solo unos pocos pueden dedicar tiempo, recursos y esfuerzo. ¿Qué es eso? No lo sé. Pero depende de ti hacerte excepcional en lo que sea que hagas y, de hecho, puede ser lucrativo. O hacer algo que solo unos pocos pensaron hacer. La brillantez de Zuckerberg no estaba en escribir los códigos, sino en concebir algo que no existía.

Es como “ahora que cualquiera puede volar, se les pagará menos a los pilotos”.

Mi respuesta es – de ninguna manera. Muchas personas pueden aprender pero no lo hacen. Cualquiera puede aprender sánscrito; ¿asi que?

Además, no creo que nadie pueda aprender. Las personas tienen diferentes personalidades.

Entonces, teniendo en cuenta que la premisa es falsa, el argumento es válido. Pero no es sonido.

Además, ¿es realmente lucrativo? Ganar una lotería es mucho más lucrativo. Tal vez aquellos que no pueden programar pueden ganar la lotería. Menos esfuerzos, más por el dinero.

Cualquiera puede aprender a codificar; pocos pueden aprender a programar. Entonces, no, no lo creo.

Puedo codificar Más o menos. Puedo entender cualquier línea dada en un programa de Python o C. Eso no significa que sea un buen programador; no lo soy, todavía no. Tengo muy poca comprensión de lo que hace todo el programa. Con casi un año de aficionado estudiando bajo mi cinturón, no entiendo los algoritmos y las estructuras de datos (y no tengo la base matemática, sin embargo, para el libro de texto de algoritmos que encontré), realmente no sé nada sobre cómo Los programas complejos encajan entre sí, etc.

En otras palabras, tal como está ahora, puedo usar las bibliotecas del lado del servidor en varios idiomas y no mucho más. El camino a “mucho más” (presumiblemente) implicará más estudio de idiomas, más matemáticas, un par de libros de texto pesados ​​que encontré y algunos proyectos serios. Dudo que sea especialmente fácil.

Aquí hay un ejemplo de la parte difícil: (y esto es presumiblemente ridículamente fácil en comparación con la ingeniería de software profesional, pero soy un aficionado inexperto, al igual que todas las otras personas de baja barrera)
Hace aproximadamente un mes decidí probar e implementar un servidor HTTP en C usando la biblioteca estándar.
Esto es lo que parecía:

  • En realidad, escribir código nuevo: 3 o 4 horas, si incluye averiguar cómo debería funcionar
  • Rastreando segfaults y otros errores: 5 o 6 horas
  • Documentación de lectura: 10 horas.

¡Y todo este programa era tan solo 200 líneas! (También hubo un truco feo involucrado cuando me di por vencido en encontrar la fuente de un error)

¿Cuántas personas crees que están dispuestas a superar barreras similares en el (comienzo de) el camino del aficionado al profesional? Estuve muy cerca de rendirme un par de veces, aunque en general me encanta este tipo de cosas, y me parece bastante decente, en relación con mis compañeros actuales (que parecen considerarme el experto local en C y programación). en general). Para el caso, he tomado descansos de un mes en el pasado por pura frustración.

Sé que he visto a los primeros aficionados poner fin a sus intereses ante desafíos mucho menores, el tipo de cosas que no vi como un obstáculo en absoluto cuando hice lo mismo. (Me las arreglé para confundir a un par de ellos durante semanas al iniciar sesión en un sitio web, utilizando la biblioteca estándar de Go, no exactamente la ciencia espacial).

No soy significativamente más joven que el Sr. Gates, y tenía acceso a todo lo que él tenía acceso.

Hace unos 30 años, mi padre expresó su incredulidad de que a alguien se le pagara por “programar todo el día”. No lo veía como una habilidad, o al menos así fue como expresó cierta decepción por no haber elegido especializarme en ingeniería en sí mismo en lugar de la herramienta que hizo posible la ingeniería.

Hace unos veinte años, mi ex esposa expresó su sorpresa de que no me había vuelto tan increíblemente rica como las historias de éxito bien publicitadas en Silicon Valley.

Hace unos diez años, un compañero de la ciudad me contó acerca de su hijo en Stanford, que había construido algún tipo de sistema complejo en solo una semana, o al menos esa era su percepción de lo que estaba haciendo su hijo. Se preguntó cómo era posible que pudiera seguir ganándome la vida como programador, dado que gran parte de lo que estaba haciendo llevaba meses.

Hoy temprano, alguien me preguntó cómo podía ganarme la vida sin saber Java, particularmente “a mi edad”.

Las personas calificadas generalmente son capaces de ganarse la vida en casi cualquier cosa que les guste lo suficiente como para perseguir obstinadamente. En una economía capitalista, algunas personas tendrán un éxito asombroso. Muchas personas fracasarán y recurrirán a otra línea de trabajo.

Permítame darle una perspectiva diferente sobre esto, porque la codificación realmente se ha vuelto más fácil con los años.

El problema no es que haya dos fuerzas opuestas en juego: facilidad de programación y dificultad para crear una empresa de software exitosa.

Mira cuántas aplicaciones están disponibles para el iPhone.

Mire cuántas empresas de SaaS están trabajando en la nube en este momento.

Debido a que la barrera de entrada se ha vuelto tan baja, la barrera del éxito se ha vuelto increíblemente alta. Que es, francamente, genial.

Las expectativas para la experiencia del usuario aumentan constantemente, lo que impulsa la creación de cada vez más marcos de UI y navegadores cada vez más potentes y la necesidad de sistemas back-end cada vez más sofisticados.

Hoy esperamos que nuestra aplicación de Facebook se enfrente de inmediato a la detección en nuestras imágenes. Esperamos que las búsquedas de instagram ocurran instantáneamente. Esperamos que nuestro software de análisis pueda dividir nuestros datos en cinco dimensiones en milisegundos. Solo mire una página en Quora e intente averiguar cuántas consultas ejecutó, cuántos sistemas de aprendizaje automático entraron en juego.

Históricamente, la barra de esfuerzo ha ido subiendo, con un software que apenas puede mantenerse al día con el crecimiento de los recuentos de transacciones, los requisitos de las funciones, la escala de implementaciones, etc. Vemos herramientas como Kubernetes, Cassandra y Spark que vienen a ayudar con estos requisitos cada vez mayores, y cada uno requiere habilidades extremadamente importantes para implementarlos adecuadamente. Luego, vemos que surgen servicios en la nube que hacen las cosas un poco más fáciles, tal vez incluso resuelvan parte de los problemas de hoy, pero para entonces tenemos 10,000 nuevos dispositivos IoT que generan 100 eventos por segundo cada uno y necesitamos comenzar a usarlos nuevas herramientas de vanguardia para resolver esos problemas, y el ciclo se repite.

Además, a un nivel fundamental, incluso sin este ciclo, la naturaleza misma de los mercados competitivos, la diferenciación de productos implica resolver problemas cada vez más difíciles. Así que estamos viendo una explosión en los sistemas de inteligencia artificial, por ejemplo, que es una mina de oro de oportunidades para que las empresas se diferencien, y también un desafío de programación y diseño gigante.

Tienes que estar bromeando si estás haciendo esta pregunta después de encontrarte con un jodido anuncio de lavado de cerebro que dice “Hacer el sitio web y la aplicación en 30 días sin o con menos codificación” o algo así, estás muy lejos de la realidad.

Escribir código hermoso y hacer un producto hermoso que será usado por millones y billones es más sobre ingeniería que sobre codificación.

Hace poco, lancé una aplicación de Play Store que fue descargada por más de 7k usuarios, de los cuales 800–2k sufrieron y se quedaron atascados en la pantalla de inicio de sesión solo por un problema de servicio de terceros que me llevó 30 horas resolver (sin dormir, 30 horas codificación). Además, me tomó 60 días construir la primera versión inicial de la aplicación de Android + infraestructura de backend, que tenía que desarrollarse simultáneamente, pero eso se debía a mi experiencia de 6 años en codificación. Una persona no puede escribir una aplicación escalable en una noche o 30 días sin ninguna experiencia de codificación muy pequeña.

¿Todo lo que se ha oído sobre ” Aplicaciones altamente escalables y tolerantes a fallos “?

¿Alguna vez se vio comprometido su sistema de infraestructura principal porque escribió mal la aplicación?

Cualquiera puede escribir Hello World, cuando se trata de la codificación real de una aplicación jodida que será utilizada por millones de personas, conocerá el dolor (dolor insoportable de los nervios si es un novato ingenuo en el campo de la codificación) de cómo es. para escribir aplicaciones de alta disponibilidad y altamente escalables y arquitectura de construcción para admitir la misma aplicación.

Buena suerte y deja de ser ignorante. El mundo de la codificación es enorme y más profundo que el mar.

La verdad es que no es más fácil ahora. Cuando tenía 9 años, trabajé en el excelente manual que venía con mi ZX81. Terminé el libro en un día y, al final, no solo había aprendido lo básico, sino que también me habían introducido en los conceptos de código de máquina y hexadecimal.
Yo diría que ese fue el momento pico para aprender a codificar. Las microcomputadoras eran fácilmente accesibles y fáciles de aprender. La plataforma estaba abierta y diseñada para fomentar la inclinación.
Compare eso con la complejidad de la programación moderna con sus muchas capas. Aprender a programar es mucho más difícil. Las plataformas están bloqueadas y el alumno debe limitarse a las abstracciones publicadas o antes de que un hacker.

Su pregunta hace un supuesto que no es cierto. Todos NO pueden aprender a codificar. Bien, puede que aprendas a escribir algunos pequeños programas de ejemplo y hacer que funcionen. ¿Qué pasa con los pilotos? “Cualquiera” puede aprender a pilotar un avión. Cualquiera puede obtener un título en negocios y administrar un banco. Y así sucesivamente y así sucesivamente. Nada de eso es cierto. Las personas son todas diferentes.

El siguiente problema es incluso aquellos que aprenden un poco de Java, Python o lo que sea, NO pueden crear software utilizable. Aprender a codificar es como aprender a usar un proceso de palabra para un novelista. Saber cómo escribir palabras en un papel es diferente a saber cómo escribir cosas que los publicadores publicarán y la gente pagará por leer

Por ejemplo, escribí algún software para controlar el funcionamiento más delgado de una cámara digital. Estaba en C. Tenía que saber más que cómo escribir en C. Tenía que saber un poco sobre cómo funciona un chip CCD y cómo mover píxeles del chip a la memoria interna y cómo buscar comando desde los controles y así sucesivamente. La mayor parte del trabajo fue entender el hardware. Lo mismo con los sistemas de radar y el procesador de telemetría en el que trabajé. En otras industrias, como el mantenimiento de registros médicos. Antes de poder escribir software para automatizarlo, es necesario que conozca esto.

Luego está la parte sobre las API. La mayoría de los programadores trabajan en un entorno de software complejo y la mayoría de lo que saben es la API de las bibliotecas. Simplemente coloque una ventana con pestañas en la pantalla y tomar la entrada del mouse usa una tonelada de llamadas al sistema y necesita saber mucho más sobre esto y luego sobre la codificación en algún idioma.

La codificación es solo el comienzo. De lo que necesitas saber, tal vez el primer 10%.

A corto plazo, el infierno no. A largo plazo, probablemente.

Vamos a empezar con el corto.

¿Alguna vez te has preguntado por qué las universidades cobran poco o nada por sus cursos en línea, pero cientos de miles se convierten en estudiantes reales? Porque el componente clave es CÓMO aprendes, no QUÉ aprendes.

La analogía incluso se extiende más allá del ámbito académico. Toma dos gemelos igualmente talentosos. Pase uno a través de un curso de Udacity y acceda a repositorios de programación como GitHub. Coloque el otro en un equipo de software con desarrolladores incluso mediocres. Te garantizo que el segundo será el más fuerte.

Casi nunca se convertirá en un mejor programador a menos que esté cerca de alguien mejor. Sólo se puede obtener mucho de las clases.

DERECHO, ahora para la cuestión más difícil del prestigio a largo plazo. Supongo que las barreras de entrada eventualmente afectarán las tasas de mano de obra. Ya está sucediendo en la India. Los sitios de codificación como Freelancer y Upwork son la prueba de que la eliminación de las fronteras nacionales romperá los precios. Si bien los títulos de los campamentos de entrenamiento son ridículos por ahora, eventualmente, alguien se dará cuenta de que darles la oportunidad de codificar un trabajo puede generar dividendos y a un costo más barato. Agregue a eso el hecho de que los millennials se están dando cuenta de que los títulos no son una garantía, y que las universidades de 4 años ya no valgan la pena.

No sé por qué descuidamos el hecho de reconocer que no todos quieren codificar.

Tomar fotografia Todo el mundo tiene acceso a una cámara. Siempre tuvimos acceso a una cámara. Aprender los conceptos básicos de cómo tomar fotografías geniales es fácil, y luego se trata de tomar muchas fotografías.

Estudié fotografía en la universidad, pude contar las reglas de la gran fotografía en una mano (quizás dos). Sin embargo, nunca me gustó hacerlo!

De vuelta al médico diurno era lo que debía ser. No todos se convirtieron en uno. Nunca creí que ser algo es difícil. Lo único que es difícil, imposible de hacer es volar. ¿Por qué? Porque nadie puede.

Si alguien puede programar, cualquiera puede. Si alguien puede ser médico, cualquiera puede. Pero la gente no quiere. Y eso está perfectamente bien.

Probablemente no. Hay una gran diferencia entre saber codificar y saber codificar bien . Solo porque alguien puede abrir un libro y / o seguir algunos tutoriales en línea, eso no necesariamente los convertirá en expertos y entenderá automáticamente toda la ciencia que acompaña a la codificación.

Una simple analogía para describir esto es cocinar. Cualquier persona puede abrir un libro de cocina y seguir una receta fácil y compleja. Pero si no conoces bien tus ingredientes, cómo controlar la temperatura, qué cuchillos usar, etc., es casi seguro que no serás el próximo Iron Chef.

La codificación es más que simplemente golpear el teclado. Es un arte … Y en la mayoría de los casos, solo los talentos ganarán una carrera con un lucrativo salario.