Computer Science ofrece excelentes horas de trabajo, altos salarios fuera de la universidad, alta demanda, resistente a la IA y se prevé que crezca. ¿Cuál es el truco?

Lo siento, tengo que ir anon por esta respuesta, ya que todavía estoy en el campo.

Si te encanta escribir código, eres moderadamente inteligente, puedes aprender cuando es necesario y hacer un trabajo duro de vez en cuando, entonces no hay problema. He estado escribiendo código por más de 35 años. Nunca he sido un programador de estrellas de rock, ni he sido el tipo más listo de la sala, pero pude apoyar cómodamente a mi familia y me convertí en un “millonario de 401 mil”, y ni siquiera trabajo en Silicon Valley. Mi salario es de 110k, lo que entiendo es un poco bajo para un desarrollador experimentado. Le aconsejé a mi hijo que se convirtiera en desarrollador de software, y su primera oferta fuera de la universidad hace unos 4 años fue por 65k. Creo que ahora está ganando alrededor de 85k.

La mayoría de las personas en mi tienda son muy jóvenes y tienen visas H1B. Después de cierta edad, debes ser capaz de dejar a un lado tu ego y estar dispuesto a trabajar y aprender de las personas más jóvenes. Si puedes hacer eso, es una alegría. No oculto mi edad, me gané cada una de mis canas y no las abandoné. Sobre el origen nacional, simplemente no puedo entender por qué los estadounidenses no están tomando estos trabajos. Realizo muchas entrevistas de trabajo, y no contratamos preferentemente visas, son solo las que podemos encontrar quienes son capaces de hacer el trabajo, y aceptan la oferta de trabajo. Esta es una compañía Fortune 50, por lo que las ofertas son buenas, y hacemos muchas nuevas contrataciones universitarias.

Por mi vida, no puedo entender por qué los jóvenes no están haciendo todo lo posible para convertirse en programadores. Es el boleto más seguro para la clase media alta que conozco. Quienquiera que esté haciendo esta pregunta, permítame ofrecerle este consejo de un viejo sobre la colina. Ir a la universidad comunitaria por 2 años. Vive en el sótano de tus padres y viaja a la universidad pública durante 2 años. Obtenga un título en ciencias de la computación, ingeniería de software o ingeniería eléctrica. El costo total debe ser de alrededor de 20k. Cuando te gradúes, comienza a ganar al menos 50k al año, con aumentos anuales de 5 a 10%, y vive el sueño americano. ¡Vamos gente, no es ciencia espacial!

Si lo pones así, sí, la ingeniería de software es bastante impresionante. Y no muestra signos de desaceleración.

Sin embargo, hay aspectos que podrían considerarse inconvenientes según el tipo de persona que sea.

Para hacerlo bien, debes ser realmente talentoso y trabajar muy duro.
Este no es un trabajo en el que puedes presentarte en la oficina con tu mejor traje, hablar en voz alta en algunas reuniones y obtener bonificaciones. No voy a nombrar nombres, pero hay carreras que son así, y esta no es una de ellas. Como ingeniero de software, siempre necesita entregar resultados. Para las personas talentosas y trabajadoras, esto es algo bueno. Para otros, podría no serlo.

La competencia es feroz.
La informática atrae a personas realmente inteligentes. Muchos de ellos también son muy apasionados por lo que hacen. Estas son las personas con las que compites en el mercado laboral. También son tus colegas. Si te encanta rodearte de personas intimidantemente inteligentes, está bien, pero también puede ser una experiencia humillante, casi humillante. Algunas personas aman un buen desafío y piensan que es divertido tratar de destacarse en una multitud de personas que superan los logros, pero obviamente se puede ver por qué otros pueden encontrarlo frustrante.

Necesitas estar constantemente aprendiendo.
Si trabaja perezosamente en la misma tecnología sin aprender otras nuevas, sus habilidades quedarán desactualizadas después de unos años. En otras profesiones, las personas son enviadas a cursos, alojándose en hoteles caros y llevando una buena vida mientras aprenden. Esto funciona porque la mayoría de las profesiones no cambian tan rápido. En ingeniería de software, se espera que aprenda en su propio tiempo libre. Siempre hay alguna tecnología nueva que necesitas para entender. Algunas personas simplemente adoran aprender cosas nuevas y no pueden tener suficiente. Si no eres tú, el software podría no ser tu mejor opción.

No importa lo bueno que seas, la gente siempre te ve como un contribuyente individual.
Puede ser el genio más talentoso de todos los tiempos, aprovechándose a sí mismo y a su equipo para producir productos increíbles, pero para la administración, sigue siendo solo un ingeniero. Los gerentes son los que realmente dirigen el programa, independientemente de su competencia real. Debe poder tragarse su orgullo y encontrar consuelo en el reconocimiento entre pares, porque lo más probable es que no obtenga el reconocimiento adecuado de los no ingenieros.

Hay poco espacio para el movimiento hacia arriba.
La ironía de la ingeniería de software es que para avanzar en su carrera, la administración es la única opción real. Sin embargo, la mayoría de los ingenieros de software trabajan en esta profesión porque les encantan las cosas técnicas y desprecian la gestión de personas. Si su objetivo profesional es un puesto de alto rango con un salario excelente, debe pensar dos veces antes de seguir la ruta de la ingeniería de software.

Sí, la industria tecnológica está creciendo, pero esa no es la pregunta correcta. La verdadera pregunta es: ¿en qué medida disminuyen los retornos marginales de tener un trabajador adicional en la industria tecnológica?

Puedes imaginar dos extremos posibles aquí.

Escenario 1: la cantidad de aplicaciones diferentes en las que el software puede aumentar la productividad de manera fácil y dramática es prácticamente ilimitada, por lo que cada trabajador adicional en la industria tecnológica siempre tiene problemas importantes que resolver, y los otros ingenieros de software están ocupados con sus propios problemas. En este escenario, no hay trampa. Pero no suena muy realista, ¿verdad? Muchas personas creen que muchas de las nuevas empresas tecnológicas no están produciendo realmente mucho valor para nadie fuera de Silicon Valley, por lo que la tasa de crecimiento que estamos viendo puede no ser sostenible.

Escenario 2: casi todo el valor económico del software puede ser capturado por un pequeño número de personas altamente talentosas, porque hay un pequeño número de problemas muy difíciles con el potencial de aumentar dramáticamente la productividad en muchas aplicaciones (por ejemplo, búsqueda web) y el resto de los problemas son fáciles y tienen mucho menos valor económico. En este caso, por supuesto, debe esperar que la competencia por trabajos fáciles disminuya los salarios implacablemente, ya que la productividad total de todas las personas que resuelven los problemas fáciles no es tan alta.

La verdadera verdad se encuentra en algún lugar entre los dos extremos. A menos que sea muy optimista sobre el Escenario 1, la conclusión es obvia: es mejor que sea realmente bueno en el desarrollo de software si desea que su salario permanezca alto a largo plazo. De lo contrario, competirá contra muchas otras personas por un grupo de trabajos cuya productividad total no puede seguir creciendo al mismo ritmo que la cantidad de personas interesadas en el desarrollo de software.

Y si está prestando atención, debería ver que incluso ahora, sus perspectivas laborales como recién graduado de CS realmente dependen de lo bueno que sea. Claro, no son malos para las personas con títulos de un pequeño número de escuelas acreditadas, pero la competencia para ingresar a esos programas de CS es feroz. [1] Si fuiste a una escuela de mala reputación, puedes compensarlo tomando cursos difíciles como Sistemas Operativos, pero parece que tal vez no todos tengan la capacidad de hacerlo bien en Sistemas Operativos (aunque solo sea por falta de habilidades de gestión del tiempo, por no hablar del talento).

Los recién graduados de CS sin distinción particular se encuentran en una situación que no es tan diferente de los que no son graduados de CS: se postula a empresas [matemáticas] X [/ matemáticas], solo se obtienen entrevistas [matemáticas] Y [/ matemáticas], y solo [matemáticas] Z [/ matemáticas] ofrece, donde [matemáticas] X \ gg Y \ gg Z [/ matemáticas].

Incluso conozco a un ingeniero de software con dos años de experiencia en Google que tuvo que pasar por una búsqueda tan prolongada y deprimente de un nuevo trabajo después de abandonar Google. El problema era que no aprendió muchas habilidades transferibles en su papel en Google.

Si esto es una novedad para ti, quizás debas prestar más atención.

[1] Eso podría deberse a que la escuela en sí es extremadamente difícil de ingresar (por ejemplo, MIT) o porque la escuela no es extremadamente difícil de ingresar pero hay controles estrictos de inscripción debido a la demanda del programa de CS (por ejemplo, el Universidad de Washington).

El problema es que no todos pueden cortarlo.

He entrevistado a cientos de aspirantes a desarrolladores de software a lo largo de los años. He mirado diez veces más currículums, al menos. Probablemente más. Así que sé bastante sobre las carreras que han tenido los solicitantes de empleo.

Años de no encontrar trabajos de software. Pasó años trabajando en el comercio minorista, o haciendo otro trabajo, mientras intentaba ingresar al software.

O … un trabajo de software aquí y allá, pero nunca lo mantiene más allá de la libertad condicional. Tres meses aquí, tres meses allá, y largos descansos en el medio.

También hay otros tipos: obtuvieron el tipo de trabajo incorrecto. Están empleados de forma permanente, pero están cansados ​​de las semanas de 90 horas. Están hartos de trabajar todo el fin de semana, todos los fines de semana. Están hartos de los gerentes de alta presión que les gritan. El salario en estos trabajos también puede ser mucho más bajo de lo que cabría esperar: una vez entrevisté a un tipo que describió tener que trabajar más de 12 horas al día, 6 días a la semana, y a menudo también los domingos, y cuando me impresionó Por su habilidad y le preguntó sobre su salario esperado, pidió alrededor de la mitad de la tasa de mercado. Dijo que sería una gran mejora sobre su salario actual, pero pensó que valía la pena.

El estereotipo es una mentira. Muchos trabajos de ingeniería de software tienen salarios mediocres en comparación con otros profesionales, y tienen horarios de trabajo terribles.

¿Hay buenos ingenieros en demanda? Absolutamente. Tengo reclutadores que me contactan todo el tiempo. También me pongo en contacto con los reclutadores, tratando de contratar buenas personas para mi equipo. Por lo general, tienen docenas de currículums para mí, y ninguno de ellos vale la pena contratar.

Tengo estándares, pero no son inusualmente altos. Contraté estudiantes que aún no se han graduado y nunca han tenido un trabajo de software. Contraté personas con un solo trabajo en una tienda de software con mala reputación. Lo único que me importa, la mayoría de los empleadores de software se preocupan por la competencia. Y todo es muy raro.

El problema es que tu título no te conseguirá un trabajo.

Nadie está buscando contratar a alguien con un título. Están ahí en abundancia. Cualquiera puede encontrar a alguien con un título en ciencias de la computación dispuesto a trabajar 90 horas por mal pago. Sin embargo, lo que la industria quiere son científicos informáticos e ingenieros de software que tengan talento demostrable y puedan agregar valor a un equipo. Hay demasiadas personas con títulos que están muy por debajo de ese nivel.

¿Deberías obtener un título en informática? Pregunta difícil. ¿Te fascinan las computadoras? ¿Eres un gran solucionador de problemas? ¿Tienes una mente curiosa que siempre ha sido atraída por la tecnología? Podrías ser el tipo.

Puntos de bonificación por ser excelente en matemáticas. No tienes que ser bueno en matemáticas para ser bueno en informática, pero tiende a ayudar.

Puntos de bonificación por estar orientado a los detalles. Puntos de bonificación por ser bueno con las computadoras.

Sin embargo, esos son solo puntos de bonificación. Si ha llegado a la edad adulta en estos tiempos sin haber gravitado hacia las computadoras de forma natural, probablemente debería obtener un título en algo más relevante para sus intereses.

Si no tiene el interés o la inclinación, no busque un título en informática. Simplemente agregará a los montones de currículums a los que no ofrezco entrevistas, o peor para mí, terminará siendo uno de los que entrevisto pero no contrato.

El mundo necesita desesperadamente más informáticos, pero no necesitamos los que solo se metieron en él por el dinero y las cortas horas de trabajo. Simplemente no funciona de esa manera.

Varias capturas.

Los salarios iniciales pueden ser de alrededor de $ 60K para un BSCS, lo cual es bastante bueno, pero superas los $ 120K después de 10 años. Para hacer más que eso, debe pasar a la administración, consultar, comenzar su propia empresa, todos los esfuerzos de alto riesgo.

EDITAR para responder a los comentarios: La Guía económica para elegir un estudiante universitario muestra el salario inicial promedio para BSCS: $ 60K, percentil 25: $ 45K, percentil 75: $ 75K. Las empresas en lugares de alto costo de vida pagarán más, pero tenga cuidado con esos costos: probablemente no saldrá adelante.

Las horas de trabajo suelen ser largas. Siempre habrá presión para trabajar horas extras no remuneradas: algunos desarrolladores son más comprimibles que otros. Hay mucho estrés por los plazos y las crisis repentinas. El desarrollo es intrínsecamente estresante porque siempre te enfrentas a tus propios errores y desventuras, y no puedes racionalizarlos: las computadoras no pueden ser manipuladas socialmente.

El campo siempre está cambiando, por lo que debe mantenerse al día. Si no hace el esfuerzo, quedará obsoleto dentro de 10 años. Tendrás que aprender sobre un curso universitario por valor de material nuevo cada año, para siempre, en tu propio tiempo.

El mayor inconveniente es que el desarrollo de software es meritocrático y competitivo. Si no puede agregar valor, no durará. Agregar valor de manera constante requiere enfoque, conocimiento, habilidades y, sobre todo, talento. Existe un talento para escribir software, que es difícil de definir pero fácil de reconocer. Si no lo tienes, no durarás.

La mayoría de los estudiantes que prueban CS no se quedan con él. La mayoría de los graduados no se quedan con el desarrollo de software. Hacer una carrera completa como desarrollador es raro. Los antiguos desarrolladores a menudo hacen movimientos laterales o ascendentes y aterrizan sobre sus pies, pero si supieran que terminarían en marketing o soporte de TI, les habría aconsejado que lo estudien en la universidad.

Antes de que explotara la web, era necesario tener una maestría en CS para conseguir un buen trabajo de ingeniería de software justo al salir de la escuela. Entonces el modelo de Amazon cambió todo. Acabo de ver que Payless Shoes va al Capítulo 11. Zappos es donde la gente consigue sus zapatos ahora. Esto continuará y seguirá habiendo muchos trabajos para los programadores. Incluso los programadores mediocres sin un título pueden prosperar en este entorno.

Obtuve un título de CS y he trabajado en 10 trabajos de computadora diferentes en 10 compañías diferentes en los últimos 30 años, incluyendo períodos en Control Data, Intel y Adobe. Es cierto que el 10% de los programadores escriben el 90% del código. Si puedes escribir un buen código como ese, y mucho, lo tienes hecho, tienes el conjunto de habilidades correcto en el momento correcto. Pero el hecho es que muchos programadores escriben código malo y pasan la mayor parte de su tiempo arreglando errores o escribiendo más código malo que otros tendrán que arreglar.

Si está contento de estar en el 90% de los programadores que entregan el 10% del buen software de trabajo, hágalo. Pero también necesitará buenas habilidades políticas: culpe a la desviación, absorba al jefe, la capacidad de replantear su territorio y conservarlo. Puedes tener una vida digna, aunque no muy extraordinaria, y algo comprometida.

Por último, debo decir que he trabajado con algunos programadores realmente geniales y me ha encantado. Estos muchachos tienen mentes maravillosas, matemáticas y creativas. Pueden tomar un problema y resolverlo con código en muy poco tiempo y de la manera más notable. En un par de empresas en las que trabajé, solo un programador reunió prácticamente todo el producto, luego se fue, y durante los siguientes 10 años un grupo de programadores promedio continuó construyéndolo, haciéndolo funcionar hasta que se volvió obsoleto. Mi consejo es trabajar con lo mejor de lo mejor, si puedes: algunas de las cosas buenas se te pegarán y tal vez tú también puedas convertirte en un gran ingeniero de software, al igual que aquellos nacidos con la habilidad. Pero tendrá que esforzarse mucho para que esto suceda.

Comencé mi licenciatura a finales de los 90 cuando mucha gente preguntaba lo mismo. cs 101 estaba completamente lleno. Todos estaban inscritos en la clase y muchas personas parecían tener esta actitud de “” hey iv pagado al programa, este material académico es BS “. Al final del semestre más del 50% se habían ido. Al final del segundo semestre 50 El% del resto se había ido.

solo un puñado de personas tomó la clase de diseño de algoritmos de honores en tercer año.

amigos míos que de alguna manera se abrieron paso para obtener apenas algún tipo de título de CS realmente no sabían qué era un puntero.

sí, un problema es que muchas personas luchan con eso.

El otro inconveniente es que realmente no es tan gratificante financieramente en comparación con otras áreas altamente calificadas como la medicina o la ley. La profesión ha sido perennemente infantilizada por mbas y por Steve jobs y, a menos que seas ultra especializado, terminarás pasando la mayor parte de tu tiempo haciendo tediosas “tareas” que parece que casi cualquier persona con medio cerebro podría hacer. Sin embargo, quieren que se hagan súper rápido … mi punto es que el trabajo en sí mismo puede parecer bastante tonto después de toda esa educación y te sentirás agotado.

¿Grandes horas de trabajo? Flexible, si. Hasta que se encuentren agobiados con una fecha límite, todas las semanas. ¡La mayoría de nosotros nunca ha visto un amanecer en años!

Salario alto ? Puedo señalarle fácilmente a unos 200,000 ingenieros de software que hacen una suma global de $ 500 por mes. ¡Bienvenido a India!

¿Alta demanda ? CS podría tener las tasas de desempleo más altas [1] [2]. No creas todo lo que escuchas. No es un viaje gratis.

Resistente a la IA ? La mayoría de las personas no entienden la IA en absoluto. No es tan simple como un guión de Hollywood. Una simple búsqueda en Google debería ser suficiente para demostrar que, de hecho, no somos resistentes a la “IA”.

Proyectado a crecer ? Eso es lo único con lo que puedo estar sinceramente de acuerdo. De hecho, vamos a crecer. ¡Hasta que una IA nos considere desperdicios y nos limpie! Hasta la vista , bebé!

¿Y la trampa? La mayoría de las personas no están preparadas para este trabajo. Es mucho más de lo que Felicity Smoak quiere que creas.


[1] La informática del Reino Unido tiene la tasa más alta de graduados desempleados

[2] Los graduados en informática tienen la tasa de desempleo más alta

Algunas respuestas excelentes ya, pero me gustaría agregar otra perspectiva.

La espada de doble filo que es la transparencia .

Por un lado, la idea de transparencia es un objetivo elevado en la mayoría de las organizaciones. La programación es la actividad más transparente (e inevitablemente).

Su solución funciona o no . ¡Y casi todos pueden ver! Ningún lugar para esconderse. (un lujo que encontrará en abundancia en marketing, ventas, finanzas, administración o en la mayoría de los demás trabajos de ‘construcción’).

Lo que agrava este problema es que también está al final del flujo de valor en términos de desarrollo de productos. Esto significa malas decisiones río arriba; planificación deficiente; malas condiciones contractuales; mala gestión fiscal; recursos deficientes, etc., a menudo no se revelan por completo hasta que esté profundamente involucrado en el proceso de creación de la solución.

Esto significa que a menudo son los desarrolladores los que están ‘exprimidos’ al final. Se les somete a una enorme presión para que de alguna manera ‘caven’ el proyecto fuera de un agujero. Presión para liberar antes, presión para cortar esquinas, etc. Esto es, por supuesto, una espiral mortal ya que conduce a soluciones de baja calidad; soluciones con las que se espera que continúe trabajando en el futuro.

En algunas empresas (es decir, muchas empresas) este es un lugar común y la rendición de cuentas no llega lo suficientemente corriente arriba. A menudo, cuando estas malas decisiones salen a la luz, los involucrados han avanzado o están meses en algo nuevo.

Es duro en el extremo afilado.

Combine todo eso con mi observación de que muchos ingenieros están inclinados a dar golpes o incluso no desafiar cosas fuera de su área.

Mejores empresas reconocen estos problemas … y los ingenieros son ciudadanos de primera clase desde el principio. Sin embargo, todavía no creo que esto represente a la mayoría.

PD/

Algunos desarrolladores prosperan en esto. La heroicidad y la lucha contra incendios apelan a su ego y, como resultado, la capacidad de sacar conejos de los sombreros es muy apreciada.

Esto es toxico. No se debe alentar la lucha contra incendios y se debe reconocer adecuadamente como un signo de falla sistémica.

El problema es que no todos pueden hacerlo bien y no hemos descubierto por qué.

Puedes enseñarle a alguien a programar. Puede enseñarles todos los marcos y bibliotecas que existen. También puede obligarlos a hacer las cosas de cierta manera para que se haga bien. Pero cuando alguien aprende todo esto, todo se vuelve obsoleto.

Sale una nueva tecnología, marco, biblioteca o lenguaje de programación. El objetivo de esta nueva tecnología es demostrar que todo lo que has aprendido hasta ahora no tiene sentido. Entonces, comienzas de nuevo.

Esta vez, estás compitiendo con una cohorte de recién llegados. No están establecidos en sus formas como tú. Entonces, aprenden muy rápido. Se quedan el tiempo suficiente para ser funcionales con esa nueva pieza de tecnología mientras abandonas el juego debido al agotamiento porque te sentiste intimidado por esos jóvenes. Además, ya has ganado algo de dinero. Algunos fueron a través del trabajo. Pero una gran parte de ella provino de la herencia. Entonces, te vas al atardecer.

Mientras tanto, alguien tiene que hacer tu trabajo. Sin embargo, esta nueva cohorte de desarrolladores con los que te has sentido intimidado todavía está aprendiendo. Algunos de ellos han recogido esas habilidades. Toman tu trabajo a una edad mucho más joven que tú. Esos “niños” ahora establecen puntos de referencia para salarios y expectativas. Mientras tanto, aparece una nueva tecnología y el ciclo continúa.

Hacer un buen trabajo en esta cadena de eventos en rápida evolución es bastante difícil. Además, necesita una gran cantidad de habilidades blandas para que aquellos que le pagan no se preocupen por mantenerlo cerca. Esto es algo con lo que las personas con talento para aprender tecnología tienen dificultades.

Esto es para aquellos que son buenos en matemáticas, como seguir instrucciones paso a paso, analizar situaciones de cómo se traducirá en códigos, y también para aquellos perfeccionistas que seguirán revisando sus trabajos si es posible, lo cual es necesario para evitar loco. Este curso es uno de los trabajos más solicitados porque ahora se aplica en una variedad de campos. Si se adapta a su personalidad como que yo tenga una personalidad INTJ, le encantará este tipo de trabajos. El único problema es que es difícil buscar oportunidades, especialmente cuando ya eres viejo. La tecnología cambia constantemente, lo que significa que debes seguir estudiando los idiomas. Otra es que las empresas suelen contratar a los más jóvenes que tienen sus conocimientos actualizados. Y, por último, competirás con quienes tienen un talento innato y ya han comenzado a enriquecer sus habilidades a una edad temprana. Pero si tiene la confianza suficiente y cree que puede hacerlo, especialmente si está interesado en campos como la inteligencia artificial y la robótica, tal vez sea lo mejor para usted. Entonces, ¿por qué no lo intentas? ¿Quién sabe? Algún día, podrías ser un millonario instantáneo.

¿Captura? Usted dice que, al igual que la informática, es una especie de esquema de “hacerse rico rápidamente”. La “captura” es la misma que la de muchos conjuntos de habilidades altamente técnicas: ¡requiere mucho tiempo y trabajo duro!

¿Grandes horas de trabajo? Este realmente depende. Trabajar en proyectos con grandes plazos suele dejarlo despierto toda la noche o muy temprano. Por supuesto, un programador generalmente puede hacer su trabajo desde cualquier lugar, no significa que trabaje horas fáciles todo el tiempo. De hecho, la mayoría de los programadores probablemente te dirán que trabajan muchas horas.

¿Salario alto? Seguro. Los salarios de ingeniería de software están en tendencia en torno a los $ 165k / año en este momento, pero eso no acaba de salir de la universidad. La mayoría son de nivel superior y tienen 5-10 años de experiencia. Eso todavía no está mal, pero tenga en cuenta que su salario fuera de la universidad probablemente no será tan alto sin experiencia.

Salarios de ingeniería de software en San Francisco, CA

¿En demanda? Sin lugar a duda. Los programadores son necesarios ahora más que nunca. Dado que las empresas mueven todos sus datos a un formato digital y utilizan aplicaciones web / móviles para llevar a cabo las actividades cotidianas, la necesidad de programadores en el personal es mayor que nunca. También tienes razón acerca de ser proyectado para crecer. Creo que el mercado para estudiantes de informática y programadores con educación está creciendo y continuará creciendo en los próximos años.

La conclusión es que, aunque algo de lo que dices es cierto, no es fácil. La informática, como carrera, es un compromiso de tiempo y esfuerzo a lo largo de su carrera. Ciertamente no es para todos.

Mi experiencia como estudiante de informática es que es MUY similar a ser actor o político. Tienes que competir con muchas otras personas por los grandes trabajos. Y una vez que los obtienes, pasas muchas, muchas horas, pero las recompensas son fantásticas. Pero las recompensas no duran para siempre, y luego de eso, terminas llenando tu tiempo con cosas sin sentido (a veces incluso desempleo) mientras buscas el próximo gran proyecto para trabajar. Es una montaña rusa emocional. Y eso explica por qué no se ven muchos jóvenes de 50 años que quieran ingresar al campo. Las personas más jóvenes disfrutan más de la montaña rusa emocional.

Las capturas:

  1. Las horas de trabajo no siempre son razonables.
  2. Aburrido si te gusta trabajar en sistemas físicos.
  3. Sorprendentemente político. Las organizaciones pasan por procesos políticos para decidir qué software se escribe, qué errores se corrigen y qué software se utiliza para escribir software.
  4. Avance limitado en muchas circunstancias si no desea convertirse en gerente.
  5. Proyecto de trabajo. Al igual que en la construcción, es posible que necesite un nuevo trabajo una vez que se complete el proyecto.
  6. Requiere un poco más de inteligencia que la media. Si no puedes o no te gusta resolver acertijos, no serás bueno en eso.
  7. Geográficamente desigual.
  8. Si prefiere trabajar para individuos en lugar de empresas, no tiene suerte.

A medida que la economía continúa cambiando, la demanda de esos trabajos será mayor y el salario se degradará. Es por eso que aprender habilidades más complejas que combinan las matemáticas con la programación siempre será una buena oportunidad para aquellos dispuestos a pasar por las dificultades de aprender, aplicar y ser buenos en matemáticas y, al mismo tiempo, hacer lo mismo para programar y finalmente ser capaz de casar a los dos juntos en aplicaciones que pueden aprovechar la IA

La IA y el aprendizaje profundo no son fáciles, requieren mucha reflexión. ¡Es genial que la economía esté cambiando a esto! ¡Emocionante y posiblemente trae una nueva era de discusiones intelectuales!

En la nueva economía, los trabajos como los desarrolladores front-end, los desarrolladores back-end estarán tan saturados que, a menos que ya pueda hacer ambas cosas y también construir una solución comercial crítica, será difícil conseguir un concierto.

Solo es mi opinión.

El problema es que todo es falso …

Muy a menudo, se les pide a los programadores que trabajen largas horas, bien entrada la noche o hasta el fin de semana.

Los salarios de los nuevos graduados no son necesariamente altos. Depende de muchos factores.

La programación no es resistente a la automatización. Se está haciendo mucha I + D en esta área. Las cosas bien pueden cambiar sustancialmente en las próximas décadas.

La demanda es alta ahora, pero eso podría cambiar fácilmente con el aumento de la globalización y la automatización.

Voy a ser totalmente honesto aquí:

Si quieres entrar en el desarrollo de software, aquí está el resultado final.

Usted va a trabajar 16 horas al día, 7 días a la semana, se espera que no solo desarrolle el producto, sino que también lo respalde.

Eso significa que va a escribirlo, probarlo, enjuagar repetidamente hasta que lo haga bien, luego administrar el personal de soporte que atiende las llamadas cuando la gente llama por teléfono porque no pueden usarlo (Lea en PEBCAK), una vez que haya llevó al personal de soporte a una posición en la que pueden apoyar el producto sin que usted esté presente, luego la gerencia querrá extender el producto.

Cuando la gerencia quiere extender las cosas, van a salir con una idea que creen que es FÁCIL de implementar, pero que las especificaciones existentes para el producto NUNCA mencionaron, y mucho menos tomaron en cuenta.

Cuando intente implementar esta nueva funcionalidad, tendrá que volver a escribir las partes centrales de la solución original y, como las cosas han cambiado, vuelva a capacitar al personal de soporte para que comprenda las nuevas partes.

Este nuevo ciclo de funcionalidad va a suceder CADA vez que alguien en la alta dirección tenga una idea nueva y valiente (en promedio una vez al mes), a menudo antes de que se complete el trabajo en la idea nueva y valiente anterior.

Sin embargo, todo lo que hagas será fácil, ¿tiene que ser correcto? porque las computadoras están diseñadas para facilitar las tareas, esa es la idea … bueno, al menos como lo ven las personas no técnicas como los gerentes de negocios (y los titulares de carteras).

En aproximadamente 2 años, te vas a quemar, terminarás enfermo físicamente, porque simplemente no puedes seguir el ritmo de las demandas, entonces vas a querer alejarte de la industria.

Pero eso no molestará a la mayoría de las empresas, porque hay hordas de jóvenes talentos que esperan en sus alas, creyendo que el desarrollo de software es fácil y cualquiera puede hacerlo.

Cuando llegue la marca de los dos años, irás y te convertirás en empleado de una tienda de abarrotes y serás feliz por el resto de tu vida, o la batalla se endurecerá y te amargarás, te unirás al resto de nosotros y serás un completo imbécil desagradable, ¿quién es buenos en su trabajo, pero tienen cero habilidades sociales y una inversión para cualquier tipo de gestión, ya sea que afirmen ser técnicos o no.

o…..

Te convertirás en un gerente técnico tú mismo ……

y el ciclo se repetirá.

El problema es que ser un buen programador es extremadamente difícil.

La programación es difícil. Necesita talento, determinación, ética de trabajo, cierta aptitud para el aprendizaje y disposición para resolver problemas difíciles y abstractos a diario.

No es como si alguien pudiera obtener el título, presentarse al trabajo y simplemente obtener un salario como si no fuera nada.

Hay un exceso de oferta de idiotas que obtienen un título de CS solo por la mierda que has dicho en la pregunta. Aparecen en masa pensando que tienen garantizada una buena carrera solo por lo que se especializaron.

La mayoría de ellos no pueden programar bien. La mayoría de ellos no se dan cuenta de que programar como carrera significa una vida de aprendizaje. Nunca dejas de aprender en esta profesión. Para nosotros, buenos programadores, ¡eso es increíble! Para la mayoría de los demás, eso es un desvío.

La programación es difícil. Esa es tu trampa.

El problema es … tienes que GUSTARLO.

Ser un desarrollador de software es como estar siempre en la escuela, así que encuentra tu nicho (software, hardware, redes, bases de datos, nube, rendimiento, pruebas, etc.) que te apasione .

Además, si la resolución de problemas, la resolución de problemas, la depuración, el trabajo con otros o el compromiso no es lo tuyo, entonces el campo no es para ti. 🙂

Bueno, la industria está creciendo en este momento, pero cuando hablas de una carrera, estás hablando de una línea de tiempo de 40 años. La informática tiene sus altibajos como cualquier otra industria, pero espero que continúe creciendo en las próximas décadas.

El problema es que te tiene que gustar. Resolverás acertijos todo el día. Si lo encuentras estimulante, entonces hazlo. Si crees que los rompecabezas son una tarea tediosa, entonces dirígete a otra carrera.

More Interesting

¿Dónde puedo encontrar información sobre la cantidad de ingenieros de software empleados a lo largo del tiempo en todo el mundo?

En el mercado laboral de la ingeniería de software, ¿qué piensan los empleadores sobre los certificados profesionales de las mejores universidades?

¿Cuándo se debe documentar?

¿Es más gratificante ser ingeniero de software o científico de datos?

¿Cuáles son los mejores métodos de depuración de software?

¿Qué software es necesario para aprender ingeniería de software desde básico?

¿Cuál es el mejor lenguaje de programación para usar al construir una red social, PHP o Ruby? ¿Por qué?

¿Por qué patrocina Microsoft Apache Software Foundation (desarrollador de OpenOffice)?

Educación K-12: ¿Debería la programación de computadoras tener prioridad sobre las matemáticas en el plan de estudios de la escuela secundaria?

¿Se pueden aplicar los principios de desarrollo basados ​​en pruebas para construir una arquitectura de software?

En la compañía de software, ¿es necesario escribir un documento de diseño para cada componente que escriba?

¿Qué tipo de algoritmo usa YouTube o Quora para funciones como 'Videos relacionados' o 'Preguntas relacionadas'?

¿Qué es un buen software de construcción de itinerarios?

¿Por qué el software se llama software?

Si soy el CEO de una empresa de tecnología, ¿por qué debería considerar contratar a un personal de control de calidad? Parece que este rol podría estar cubierto por un gerente de producto y una ingeniería que divida el rol de un personal tradicional de control de calidad.