¿Hay demasiados programadores futuros?

Lo dudo.

Hay algunas tendencias que sugieren que la necesidad de programadores solo crecerá.

  1. La “ley de los Moores” está llegando a su fin. El tiempo en que las computadoras se vuelven más rápidas y baratas cada año terminará en una década más o menos. La única forma de hacer teléfonos celulares sexxier y hacer videojuegos más impresionantes será escribir un software más sofisticado. Lo que exigirá más programadores.
  2. La cantidad de información en el mundo está creciendo exponencialmente, pero la cantidad de computadoras disponibles para procesarla solo está creciendo de manera lineal. Entonces, la sofisticación del software para procesar esos datos tiene que mejorar … lo que exigirá más programadores.
  3. La robótica y cosas como los autos sin conductor están en el punto de inflexión donde estarán en todas partes … ¿más programadores? Creo que sí.

Contrarrestar ese es un riesgo importante:

AI.

La presunción de muchas personas es que si se puede enseñar a la Inteligencia Artificial a escribir programas de computadora, entonces les hará a los programadores lo que inevitablemente un auto sin conductor hará inevitablemente a los taxistas en algún momento de los próximos 5 a 10 años.

Prefiero pensar que eso no sucederá muy pronto, y eso se debe a que la tarea de escribir un programa no se trata de las líneas de código reales, sino de interpretar una especificación vaga del problema y convertirla en una especificación más concreta. No importa cuán inteligente sea la IA, aún necesita decirle lo que quiere, y en términos que estén lo suficientemente desprovistos de ambigüedad y confusión para evitar un enorme error.

Estuve viendo videos recientemente sobre los riesgos de la IA: señalaron el ejemplo de un coleccionista de sellos que le dice a su IA “¡Por favor, ve y compra tantos sellos como puedas para mí!”. La IA primero rastrea eBay y compra todo lo que puede, pero en un corto período de tiempo, se da cuenta de que ha agotado todo el dinero de su jefe y, para hacer lo que se le ha ordenado, significa que tiene que ganar más dinero, por lo que se dedica a crear estafas en Internet y ejecutar carteles de drogas y anillos de prostitución para obtener más dinero. Muy pronto, compró todos los sellos que existen en el mundo, pero aún no está satisfecho, nunca estará satisfecho, por lo que configura prensas de impresión y comienza a imprimir nuevos sellos para que los recoja. Gradualmente, toda la población del mundo está gastando cada momento de vigilia imprimiendo sellos … y ahora la IA está exigiendo el tiempo del telescopio de la fundación SETI en busca de otras civilizaciones que puedan aumentar su producción de sellos, al tiempo que realizan experimentos de ingeniería genética para ver si GM los delfines podrían hacer sellos.

Por lo tanto, es posible que necesite programadores que puedan decir de manera más específica: “Utilizando un presupuesto de no más de $ 1,000, compre como máximo 5 copias de cada tipo de sello, eligiendo las que tienen la mayor rareza con preferencia a las más comunes”.

El advenimiento de “Las computadoras que escriben su propio código” ya ha sucedido una vez antes, cuando pasamos de escribir lenguaje ensamblador a escribir en idiomas de alto nivel. Cuando “compila” un programa C ++, le está dando a la computadora una especificación (escrita en C ++) y le está pidiendo que escriba su programa (escrito en código de máquina x86) para implementarlo.

Entonces, lo que aumentan los niveles de IA es permitirle hablar con la computadora en términos cada vez más altos.

En teoría, eso debería reducir la cantidad de programadores que necesita, pero eso no fue lo que sucedió cuando pasamos de la programación en lenguaje ensamblador a la escritura en lenguajes de alto nivel. Lo que sucedió fue que el número de programadores continuó aumentando, pero la sofisticación de los programas se hizo mucho mayor.

Ahora, fácilmente podría estar equivocado. Las personas en trabajos que están a punto de ser reemplazados por computadoras siempre han sido vociferantes en sus afirmaciones de que no lo serían.

A2A

Me molestó por responder a esta pregunta por un par de razones.

  1. Casi todos los que asisten a un campamento de programación, o tuvieron un Atari ST en 1981 y jugaron con la programación durante un año más o menos y no han tocado un editor o compilador en 35 años, tienden a llamarse a sí mismos un “programador”, tan pronto como estén sin trabajo
  2. Ser un programador, per se, es algo bastante inútil en mi opinión.

Primero, permítanme hacer algunas distinciones:

  • Programador: alguien que toma las soluciones de problemas de otra persona y las convierte en instrucciones de máquina, pero que no puede resolver los problemas por sí mismo.
  • Ingeniero de software: alguien que puede resolver un problema usando una computadora; por lo general, esto también implica ser bastante bueno en la programación
  • Científico informático: alguien que puede resolver un problema complejo pensando de la misma manera que una computadora; por lo general, esto implica algo de programación, pero en realidad no suelen ser muy buenos sin un par de años de experiencia porque lo único que aprendieron fue Java o Python
  • Ingeniero en Computación – un tipo de ingeniero eléctrico que puede construir computadoras; notable por su incapacidad para hacer ingeniería analógica o de RF también, y su opinión de que pueden programar mejor que un programador porque construyeron el hardware, pero realmente, son muy malos en la codificación

Voy a saltar sobre DevOps, TI y otras disciplinas relacionadas con las computadoras; solo ten en cuenta que están allí.

La profesión de programación depende en gran medida de la división del trabajo entre un diseñador, que hace el diseño pero no puede implementar, y un implementador, que traduce los diseños en instrucciones de máquina, pero que no puede hacer el diseño por sí mismo.


A menos que usted sea D-Fens (William Foster, el personaje de Michael Douglas en la película Falling Down ), y luzca un corte de equipo de la industria de defensa de la década de 1950, la separación del diseño y la implementación es en gran medida imaginaria en estos días.

Por lo general, no diseñamos cosas, y luego agilizamos la implementación, aunque hay toda una industria de tiendas de trabajo en la India dirigida directamente a eso en este momento.

Eso es realmente la vieja escuela … o, debería decir, la nueva escuela .

En su mayoría, los estudiantes que están más interesados ​​en un diploma que en aprender y tienen algo de dinero, usan estos servicios para hacer la tarea por ellos.

Cuando ese no es el caso, la explotación se debe a que hay una persona de frente que es un mal programador que externaliza el trabajo y, en su mayoría, hace contacto con el cliente y vende.


Hoy, tenemos campos de arranque de codificación, etc., que (en su mayoría) resultan en muchos programadores malos.

Actualmente está bien, porque hay mucha mala programación por hacer, principalmente en diseño web y back-end web simple para empresas que nunca superan los tal vez unos pocos cientos de clientes que realmente compran en un día determinado, para que no se esfuercen por nada.

La mayoría de las malas programaciones son descartadas y reemplazadas tan pronto como alguien recibe un error “¡necesitamos rediseñar el sitio!”


Creo que la oferta definitivamente superará la demanda, porque creo que la mayoría de los programadores son malos programadores.

Principalmente, esto se debe a dónde y cómo aprenden acerca de las computadoras, y a tomar atajos, como codificar bootcamps, donde aprenden el mínimo absoluto para abrirse camino en la puerta y hacer un trabajo a medias.

Sus clientes solo ven la página web, y no ven el asador y el cable de seguridad que mantienen las cosas juntas detrás de la cortina.


Tenga en cuenta que es fácil conseguir un trabajo en una gran empresa cuyo producto principal no depende de que los sistemas internos no sean malos, o que el portal del sitio web que enfrentan los clientes es una ocurrencia tardía.

La gerencia considera a estas personas como gastos generales, y se las considera un centro de costos, que no generan ingresos, incluso si hay ventas sustanciales en el sitio web.


Estos trabajos van a desaparecer.

No de inmediato, pero se irán.

Y estos programadores no podrán crecer en otros roles.


¿La oferta de programadores superará la demanda?

Absolutamente.

Llenan una brecha de demanda media cada vez menor para trabajos de mala calidad.

¿La oferta de ingenieros de software superará la demanda?

Finalmente.

Cuando AI aprenda a hacer ingeniería de software, todos nos quedaremos sin trabajo y llorando en nuestros martinis preparados por robots mientras nos sentamos bajo sombrillas en las playas de pequeñas islas tropicales construidas por robots.

Sin embargo, probablemente no lloremos tanto.


Espero atrapar el infierno por esta respuesta.

Sí, hay demasiados programadores ahora, y habrá aún más programadores en el futuro. Este es un contrapunto a la opinión popular.

¿Por qué?

Hay mucha mano de obra de programación en este mundo, pero simplemente no se asigna de manera eficiente.

Existe una situación similar para la comida: los humanos pueden producir suficiente comida para alimentar a todos varias veces, pero no se distribuye de la manera correcta. Solo mire cuánta comida desperdician los países “desarrollados” del mundo.

¿Qué hacen todos estos programadores? La gran mayoría del tiempo se dedica al mantenimiento de sistemas antiguos. Gran parte de este trabajo consiste en pagar deudas técnicas: escribir casos de prueba faltantes, escribir documentación faltante, corregir errores, refactorizar, ajustes de configuración, etc.

¿Por qué todos estos viejos sistemas son tan malos? Debido a que los empleos en esta industria tienen un incentivo perverso : no hay incentivo para producir sistemas de alta calidad siempre que genere ganancias. Dado que el tiempo es artificialmente escaso, los programadores sacrificarán la calidad para construir cosas más rápido. Una vez que se construyen estos sistemas, generan ganancias, pero también generan problemas: deuda técnica. Esto significa que no puedes derribarlos de inmediato y tienes que contratar aún más personas para mantenerlos.

Los proyectos con demasiadas personas trabajando en ellos se paralizan con los costos de capacitación, comunicaciones redundantes, rotación, “parálisis de análisis” y otros problemas organizativos similares. Esto solo empeora a medida que las empresas contratan a más y más personas en lugar de asignar mano de obra existente de manera eficiente.

Entonces, ¿por qué las grandes empresas contratan a tanta gente si realmente no necesitan mano de obra adicional? Están contratando para no llenar alguna “demanda”, están contratando para mantener el talento alejado de los competidores.

________

¡NUEVO! Preguntas más frecuentes

P: ¿ Pero acaba de decir que el problema debe resolverse contratando más ingenieros?

R: No, la causa del problema, la “necesidad” artificial perpetua de más ingenieros, es que hay demasiados ingenieros. La solución es dejar de contratar indiscriminadamente y asignar mano de obra de ingeniería de manera más eficiente.

P: ¿Qué quieres decir con mantener el talento alejado de los competidores? ¿No puedes mantener el talento alejado de los competidores?

R: Las empresas piensan de manera miope. No tienen la intención de mantener permanentemente el talento alejado de los competidores, solo para objetivos a corto plazo. A corto plazo puede incluso considerarse de 1 a 3 años. Al contratar un montón de ingenieros mediocres, las empresas agotan el grupo de talento al que todos los demás tienen acceso y obtienen una ventaja competitiva a corto plazo. ¡Incluso pueden tener suerte y contratar a uno realmente productivo! Cada compañía pensará de la misma manera y quedará atrapada en una especie de dilema del prisionero.

P: ¿Los ingenieros talentosos no se aburrirán y se irán?

R: Nunca subestimes el poder del dinero sobre los ingenieros. Se quedarán por el dinero incluso si es aburrido. Además, los ingenieros que cambian de empresa es estadísticamente un evento extremadamente improbable porque las ofertas de trabajo son poco frecuentes y las buenas ofertas de trabajo son aún menos.

Estoy preparado para equivocarme en esto, pero diría: No, de hecho, creo que habrá una sequía de programadores.

No creo que haya suficientes programadores.

He aquí por qué, es principalmente anecdótico, pero parece ser cierto …

  1. Hay muchas personas aprendiendo a codificar. Eso no significa que lo mantendrán, la tasa de deserción probablemente sea bastante alta. Mucha gente no trabajará realmente como programadores.
  2. El programador del ‘ejército de un solo hombre’ está desapareciendo . Un trabajo que solía hacer una sola persona, ahora es tomar equipos de personas, tal vez incluso equipos grandes. Eso no es solo porque las tareas se están haciendo más grandes, es porque los programadores se están volviendo cada vez más especializados *. Machine Learning es un trabajo en sí mismo, que no hubiera sido el caso hace una década. **
  3. Ahora, esto es un poco más polémico … Creo que los programadores generalmente están empeorando , esto se debe en parte a las técnicas de enseñanza y en parte a la muerte de la computadora de la casa.
  4. Los programadores se están volviendo menos productivos, menos efectivos . El recuento de empleados de NeXT fue de 500, Twitter es de 3500. Cuanto más pienso en esto, más loco es, NeXT hizo algo increíble, Twitter, por decirlo amablemente, no lo hace. Se necesita un ejército para fabricar productos en estos días, cuando solía llevar ‘seis hombres con jeans’.
  5. Algunos de los desafíos son de magnitud más difícil. Estos desafíos requieren equipos, a veces equipos enormes , un juego AAA tendrá cientos de personas muy hábiles trabajando en ellos. Un juego hace un par de décadas, habría sido escrito por algunas personas. Cannon Fodder, por ejemplo, un gran éxito en los años noventa, fue escrito por 6 personas.

TLDR: un proyecto de programación solía llevar tal vez una persona o equipos pequeños. Ahora está tomando cientos de personas. Esto se debe en parte a la escala de las tareas (juegos AAA), y en parte a que los programadores simplemente no son tan flexibles como antes …

* He hablado antes sobre ‘programadores full-stack’ y programadores front-end, etc.… Hace una década o dos, esto simplemente no era una cosa. Claro, había especialistas, pero se suponía que un buen programador podía girar su mano a cualquier cosa.

** No digo que no debería ser así, solo digo que sí.

Si observamos nuestras últimas tecnologías, desde LINUX hasta Smartphones, podría decir fácilmente que habrá tantas ejecuciones de los programadores de la fábrica. La tendencia de improvisar está mejorando en ese momento. Y la tecnología es más propensa a desarrollar aplicaciones, teléfonos inteligentes decentes, videojuegos en 3D y todo lo que exige muchos programadores. ¡La tecnología ahora está buscando desarrollar transbordadores espaciales, robots y esa variedad de programadores! Sin embargo, son necesarios, la inteligencia casi artificial se hará cargo del mundo. Según yo, escribir un código fuente no es solo seguir algún formato de símbolos, se trata de interpretar una especificación poco clara de un problema en lugar de convertirlo en especificaciones sólidas. Hubo una teoría de mantener programas limitados, se está cambiando ya que pasamos del lenguaje ensamblador al lenguaje de alto nivel, lo que lleva al aumento de la cantidad de programadores, pero la autenticidad se está reduciendo. Miles de aprendices del campo de entrenamiento, los autoaprendices se reclaman a sí mismos como programadores, pero esto es una gran necesidad ahora ya que las industrias se dirigen hacia las últimas tecnologías para el momento, lo que significa más programadores, pero la sofisticación de la programación no debe reducirse. Como algunas industrias todavía prefieren los titulados en informática, mientras que las pequeñas y medianas empresas probablemente acepten programadores de boot camp. Las empresas están tratando de impulsar las clases de programación de tendencias a medida que aumenta la demanda. Según un estudio reciente de maestros, dicen que “la mayoría de los estudiantes vienen con la motivación de aprender a programar, pero después de unas pocas clases, piensan que no es su pedazo de pastel y comienzan a odiarlo”. Habría muchos programadores mediocres pero serán programadores menos eficientes.

Escuelas Holberton

Localmente, si. Más y más trabajos de programación en América del Norte se están desviando a India e Indonesia y en otros lugares debido a la mano de obra barata . Internet lo hace posible y es el gran habilitador.

Por la misma razón, muchas compañías están optando por contratar talentos extranjeros, es decir, inmigrantes, para la programación. No te engañes, no están contratando a estas personas debido a la escasez de talento en América del Norte. Los están contratando para ahorrar dinero .

Además, la profesión de programación se enfrenta a la automatización en los próximos años. No sucederá de la noche a la mañana, pero la tendencia es gradual e imparable. Siempre se necesitarán algunos programadores en situaciones especiales, pero la demanda general disminuirá absolutamente. Estamos a dos o tres décadas de distancia antes de sentir realmente el impacto, y es por eso que la mayoría de nosotros nos sentimos tan satisfechos.

No, he aquí por qué:

  • Las empresas tecnológicas siguen creciendo y todavía tratan de contratar la mayor cantidad de talento posible. Las empresas con las que estoy familiarizado tienen miles de solicitudes abiertas para puestos de programador y planean contratar aún más en el futuro.
  • La cartera actual de programadores es tan pequeña que las empresas están empujando activamente el talento al sistema de la escuela secundaria para ayudar a aumentar las clases de programación. Cada escuela secundaria en Estados Unidos enseña las ciencias clásicas, pero muy pocas enseñan ciencias de la computación porque las personas que pueden enseñarlas generalmente obtienen los trabajos de ciencias de la computación mejor pagados.
  • La habilidad de programar es un poco inusual en mi experiencia. Es posible enseñar a las personas cómo programar, pero hay algo al respecto que parece ser contrario al cableado cerebral de la mayoría de las personas. He enseñado programación a muchos jóvenes ansiosos que están seguros de que quieren ser programadores. La mayoría de ellos después de una sola lección se dan cuenta de que lo odiarán. Los pocos que quedan lo aman y nunca lo dejan.
  • El último trabajo en la tierra probablemente sea una posición de programación de computadora.

Hay muchas señales de que vemos lo contrario. Pero la capacidad (número de programadores) y sus habilidades de muchos desarrolladores no encajarán en la demanda futura de los programadores.

En el futuro, puede parecer un poco diferente para un programador en comparación con los últimos 20 años. Esa es una necesidad, para poder cumplir con la próxima era de proyectos cada vez mayores de mil millones de dólares. Y todos los artículos contienen código.

Todo tendrá algún código mañana. Independientemente de si se trata de células solares, timbres y estantes de libros. Oye, dudo que incluso los neumáticos puedan haber desgastado los sensores en el futuro. ¿Quién desarrolla el código? Si, programadores. ¿Y qué codificación de unidad? Métodos de proyecto y liderazgo con herramientas como DevOps, Agile ..

Aquí hay un, en lugar de pegar a la respuesta) un enlace a signos discutidos que apuntan a cambios tecnológicos de tendencia que posiblemente se separarán de los programadores. Haciéndolos aún más necesarios (y más calificados).

7 signos para que los programadores sean la próxima docena de mano de obra, abiertos para muchos niveles educativos

Entre líneas en este artículo, se puede ver que la IA está en riesgo de tomar posesión de casi todos esos puntos. Al menos, si no, el mercado es lo suficientemente rápido como para establecer recursos humanos más baratos y un modelo de desarrollo de productos ajustados en la construcción de software.

La programación es la resolución de problemas. Claro, debe aprender el lenguaje que cualquiera puede hacer con Perserveramce, pero no todos se sentirán atraídos por el trabajo orientado a los detalles que se necesita para pensar en cada aspecto del problema. Ese tipo de compromiso y paciencia se aprende durante más tiempo que unas pocas clases. La dificultad del desarrollo de software siempre lo hará autolimitado. Aún así, tu pregunta era cuántos es demasiado. Me cuesta pensar en un momento en que todos los problemas con soluciones que tengan suficiente rentabilidad económica para hacerlos viables se resuelvan sin importar cuántos programadores tenga. Básicamente, se pregunta cuándo la gente dejará de querer más y la respuesta es nunca. Una vez que crea un producto que resuelve un problema, tiende a crear cinco más que de repente tienen más relevancia.

Por ejemplo, Internet fue creado por ingenieros y, de repente, la cantidad de programadores necesarios fue exponencialmente mayor. Microsoft Windows hizo que las computadoras fueran lo suficientemente fáciles de usar para las masas y, de repente, nuevamente necesitó más programadores. Facebook creó demanda para Instagram e innumerables juegos, etc. Resulta que los programadores son mucho más prolíficos al revelar nuevos problemas que a resolver los existentes. Rara vez hay algún proyecto en el que trabajo en el que no encuentro varias cosas no relacionadas que desearía que hubiera una mejor manera de hacerlo.

No, nunca habrá demasiados programadores.

Puede haber demasiados programadores futuros pero no demasiados buenos programadores futuros. Diablos, ni siquiera hay demasiados buenos programadores actuales.

  1. ¿Por qué crees que la contratación técnica es un gran dolor? Entrevisto a más de 30 personas por cada puesto que ocupo.
  2. En promedio, las empresas de primer nivel entrevistan a 1000 personas para ocupar un puesto de trabajo técnico.
  3. Se estimarán 2.8 millones de empleos abiertos según el informe de PWC que requerirá una de las habilidades futuras “Científico de datos”. Y ahora tenemos demasiadas tecnologías futuras. Este informe solo habla de Estados Unidos.
  4. H1B, entrada rápida de Canadá, los programas HSMP (Reino Unido) son una de las formas de atraer a los mejores talentos técnicos de un país. ¿Por qué crees que necesitan personas del extranjero? Porque hay una falta.
  5. Los salarios promedio de un profesional de TI están muy por encima de la mediana en cualquier país, excepto que pueden ser nórdicos o en cualquier país donde haya una cultura de paridad salarial. ¿No es un caso de desajuste de oferta y demanda? Y solo estoy hablando de las tecnologías actuales. Los científicos de datos con poca experiencia exigen un paquete de 3 millones de INR. ¿No es una locura?

Por lo tanto, concluiría que no están en abundancia sino en escasez, sin embargo, estoy hablando de buenos programadores.

Muy improbable Considere estos hechos críticos:

Las computadoras y la robótica parecen estar reduciendo la mayoría de los trabajos en la mayoría de las áreas. Incluso el soporte técnico, una vez considerado inmune, se ve amenazado, debido a la capacidad de las computadoras para reconocer los patrones de voz por teléfono y responder a la mayoría de las solicitudes por su cuenta.

El comercio minorista, un área que alguna vez se pensó que era inmune al reemplazo por automatización, enfrenta desafíos a largo plazo, ya que Amazon amenaza con reemplazar grupos enteros de minoristas. Esta tendencia incluso se aplica a McDonalds, que está alentando la racionalización del proceso de pedido a través de quioscos automatizados.

Y, sin embargo, a medida que más de estos trabajos supuestamente “a prueba de automatización” se ven amenazados, ¿qué trabajos crecen a medida que otros disminuyen? Respuesta: las personas que mantienen, ajustan y refinan la automatización. Y eso significa más programadores.

Esto no es totalmente autodestructivo, porque el efecto general es que las corporaciones pueden eliminar grandes grupos de empleados … por ejemplo, las empresas solían contratar pisos enteros de empleados que solo sumaban cifras durante todo el día, como verán en las películas realizadas en las décadas de 1930, 1940 y 1950.

Pero a pesar de que el efecto neto es menos empleados en general, la única profesión que probablemente no disminuirá son las personas que administran, crean y refinan el software.

Tal vez … pero tener habilidades de desarrollo de software además de otra habilidad pondrá a una persona a la cabeza del grupo.

Les digo a mis hijos … no importa lo que elijan hacer, la capacidad de aprovechar al máximo el poder de las máquinas les dará una ventaja sobre todos los demás.

Mi hija actualmente quiere ser decoradora de interiores. Le explico que si quiere ser uno de los mejores decoradores de interiores, necesitará una forma de recopilar y organizar grandes cantidades de información en términos de cómo / dónde adquirir textiles, cristalería, iluminación, etc. Necesitará ser capaz de consultar una base de datos como mínimo … y eso es solo la punta del iceberg.

No demasiados, pero muy pocos.

En 2003, unos 50,000 estudiantes se graduaron con un título en Ciencias de la Computación.

En 2015, unos 50,000 estudiantes se graduaron con un título en Ciencias de la Computación.

Los títulos de Ciencias de la Computación otorgados tuvieron un crecimiento de 12 años de ~ 0%.

Mientras CS sea difícil, el suministro de buenos ingenieros de software será bajo.

Computadoras de escritorio, laptops, tabletas, phablets, teléfonos inteligentes, sistemas de juegos, robots, cámaras, reproductores de música, relojes inteligentes, llaveros, cerraduras inteligentes, refrigeradores inteligentes, zapatos inteligentes, ropa inteligente, sensores inteligentes, hogares inteligentes, autos inteligentes, VR, roombas , enchufes inteligentes, luz inteligente, altavoces inteligentes, teclados inteligentes, aire inteligente, jardín inteligente, …

Windows, Linux, Mac, Android, iOS, juegos, aplicaciones, Office, Google, Facebook, Microsoft, Twitter, Amazon, Apple, Netflix, Quora, Pinterest, Apache, GitHub, Silicon Valley, …

Puede haber un exceso de programadores mediocres.

Pero siempre habrá trabajos para buenos programadores.

Depende del futuro.

Si un avance en la IA el próximo año significa que las computadoras se programan solas, entonces sí, demasiadas. ¿Impacto inesperado de meteorito o apocalipsis zombie? Demasiados. De lo contrario, no tanto.

Realmente, debes sentirte tonto por esperar que Quora prediga con precisión el futuro.

Ah, y la oferta nunca excede la demanda. La oferta cruza la demanda a un precio de mercado para programar la mano de obra. Más oferta significa un precio de mercado más bajo. Más demanda hace subir el precio de mercado. Durante los últimos 40 años, los programadores han ganado mucho dinero, por lo que parece que no ha habido escasez de demanda. Es probable que solo un evento muy grande (y por lo tanto particularmente difícil de predecir) cambie esto.

Depende de cuál sea su definición de “programador”.

Si se refiere a las personas que toman el “curso intensivo de 8 horas para convertirse en programadores” y luego se nombran a sí mismos como tales, entonces sí, hay demasiados programadores. Desafortunadamente, estos son los programadores que de alguna manera se abren camino para convertirse en SysAdmins o DBA y terminan borrando un servidor o colocando tablas en las bases de datos porque el curso intensivo no pasó por nada más que “SELECCIONAR * DE AdventureWorks.Customers” y el El código que copiaron ciegamente de StackOverflow claramente no estaba destinado a lo que querían hacer.

Si te estás refiriendo a aquellos de nosotros que amamos la programación y lo hacemos por el desafío y el gran sentimiento que obtienes al resolver un problema frustrante que creías imposible, entonces no, no parece suficiente. Hoy estamos a favor de seguir el libro antes de ir más allá y, para eso, los programadores apasionados seguirán prevaleciendo.

En ninguna parte cerca todavía.

La escasez ocurre en las personas que realmente necesitamos. Las personas que pueden crear una aplicación a gran escala, coordinar un pequeño grupo de personas para hacer esto y ofrecer una solución de calidad.

Esta es el área de desarrolladores senior / principales. Y estos son difíciles de girar.

Todavía no hemos llegado al punto en que todavía hay demasiados desarrolladores junior.

Entonces no es un problema en mi radar.

Hay toneladas de desarrolladores de software.

Pero no hay tantos buenos desarrolladores de software.

Es ridículamente fácil comenzar con lo básico, pero mucha gente realmente no aprende mucho más que eso.

Es como comparar la conducción en carretera con la Fórmula 1.

Ambos implican conducir “automóviles”, pero uno ciertamente requiere más del conductor que el otro.

El desarrollo de software es el mismo, hay muchos desarrolladores de software mediocres y correctos, pero hay muchos menos desarrolladores de Fórmula 1, y siempre estarán en demanda.

Me atrevo a decir que estamos en el PRINCIPIO de la era de la información.

Solo a finales de los 90 y principios de la década de 2000, la PC se convirtió en algo realmente omnipresente en oficinas, industria, academia incluso.

Desde hace más o menos 10 años, la mayoría de nuestras vidas están atadas a las computadoras, incluidas las actividades bancarias, el pago de facturas e impuestos, la compra de cosas, la reserva de hoteles o vuelos, etc.

La demanda solo crecerá. Además, como han dicho otros, la era del “programador solitario” básicamente ha terminado.

Juegos de pensar: en los años 80, un solo chico podía programar un juego ATARI. Los equipos posteriores crecieron para incluir varias personas, si no docenas. ¡Hoy en día, producir un juego puede costar millones de dólares y hacer que cientos de personas trabajen en él!

Lo mismo ocurre con muchos otros programas y aplicaciones.

Especialmente cuando los robots estarán más integrados en nuestra sociedad, las necesidades de programación aumentarán aún más.

De acuerdo con el reciente aumento de presupuesto en mi alma mater, la Universidad de Western Washington, y las nuevas contrataciones posteriores de la facultad de seguimiento de la tenencia y los comentarios de los profesores titulares, la demanda anticipada de personas con educación en CS por parte del gobierno de los EE. UU. Es grande. Lo siento, no tengo números, pero si te comunicas con el jefe de un departamento de CS en cualquier universidad, probablemente te dirán que la demanda anticipada de graduados de CS es mayor de lo que pueden proporcionar dados sus recursos actuales.

No estoy seguro de lo que esto significa para las personas que piensan en un título de CS, pero como empleado reciente en un laboratorio gubernamental tengo algunos comentarios.

Si trabajas duro y obtienes buenas calificaciones, deberías poder conseguir un buen trabajo en los próximos años. Hay una gran burbuja intermedia de logros para los estudiantes de CS y los que se destacan han forjado buenas relaciones con sus profesores al mostrar una dedicación al aprendizaje del material. El esfuerzo significa al menos tanto como el logro a los ojos de los profesores con los que he tratado. Estos profesores son las personas con las que hablará su posible empleador. Si te conectas con la gente y obtienes calificaciones decentes, tienes una buena o mejor oportunidad de alguien que obtenga buenas calificaciones y nunca se conecte con sus profesores.

Además, tómese tres o cuatro meses para estudiar entrevistas y negociaciones antes de anticipar una entrevista.

Si muestra cierta dedicación al material, definitivamente hay un trabajo esperándolo.

More Interesting

¿Cuál es el número promedio de líneas de código (incluyendo cortar y pegar bloques de código) que escribe un ingeniero de software de Google en un día de 8 horas?

¿Los ingenieros de software de las principales compañías tecnológicas como Microsoft, Google, Oracle, Amazon, Yahoo y Apple realmente escriben código con algoritmos eficientes, dado que los productos de cada una de estas compañías son lentos o tienen otras desventajas?

¿Debo ser ingeniero de hardware o software? ¿Cuál es menos estresante y me permitirá tener una vida?

¿Cuáles son las perspectivas de un recién graduado de 28/29 años en ingeniería de software?

¿Qué no le gusta del software que usa para crear documentación?

¿Siento que otros ingenieros de software están ocultando cómo obtuvieron tanta información de mí?

¿Es cierto que los codificadores de más de 40 años se retiran para pastar involuntariamente en Silicon Valley, ya que se consideran demasiado viejos, a pesar de tener las 10.000 horas de experiencia de Malcolm Gladwell para perfeccionar una habilidad?

¿Cómo puede ser feliz un ingeniero de software que trabaja en corporaciones multinacionales como TCS, Wipro, CSC, etc.?

Como ingeniero de software experimentado, ¿qué tipo de conocimiento debo obtener, que no será obsoleto para 2031?

¿Puede cualquier ingeniero convertirse en ingeniero de software?

¿Quora es un buen lugar para trabajar para una ingeniera de software?

¿Qué tan buena es la ingeniería de software para una MS en ASU?

¿Cuáles son las tendencias de software más interesantes en este momento? ¿Y qué tendencias se están exagerando?

¿Cuál de los siguientes lenguajes de programación es el más rápido de aprender: C ++, C #, Java, Erlang, Go, Rust, C, D y Hack?

¿Cuáles son algunas listas de reproducción en Spotify que un programador debe seguir y jugar para aumentar su productividad?