Así que esta pregunta es un poco antigua, pero creo que sigue siendo relevante hoy en día. Tal vez incluso más.
La respuesta corta es que depende de ti.
El apocalipsis de la subcontratación que la gente temía nunca ocurrió realmente. La gente se dio cuenta de que "obtienes lo que pagas" se aplica incluso a la mano de obra subcontratada, y después de que un número suficiente de proyectos se incendiara, las grandes empresas comenzaron a contratar desarrolladores en el país de nuevo.
Los ingenieros de software fuertes han estado en alta demanda ahora durante al menos dos décadas, y en base a los datos que he visto recientemente, es probable que siga siendo el caso. Es posible que incluso sea más difícil encontrar ingenieros fuertes; los ingenieros realmente buenos ya cobran paquetes de compensación de más de 500.000 dólares. He oído rumores de paquetes de más de un millón de dólares. Incluso los ingenieros desconocidos pero fuertes ganan más de 200.000 dólares en las empresas tecnológicas.
Pero hay una trampa. No todo el mundo puede convertirse en un ingeniero fuerte. No todo es cuestión de esfuerzo, ni de voluntad de aprender. Sí, hay que trabajar. Sí, hay que aprender constantemente. Pero la habilidad es el factor decisivo.
Hay una aptitud básica que se tiene o no se tiene. Viene en grados; si careces de ella por completo probablemente podrás notarlo, en el sentido de que, no importa cuánto aprendas, nunca parece tener sentido.
En el medio, puedes eventualmente trabajar lo suficiente para aprender un dominio hasta el punto en que puedas ser empleable, al menos por un tiempo. Pero aprender un nuevo dominio no es fácil, y será común que te quedes atascado o que tardes mucho tiempo.
Y sólo hacia el extremo superior podrás conseguir los mejores trabajos. Porque se ha corrido la voz: Los programadores pueden ganar mucho dinero. Y la ingeniería de software no está sujeta a la automatización como muchos otros trabajos. Así que en el extremo menos talentoso del espectro de la programación, la competencia por los pocos puestos de trabajo que contratan desarrolladores mediocres es extrema. Como 100 curriculums por cada puesto abierto.
Acabo de leer una respuesta que decía que cada año su empresa filtraba 2000 curriculums, entrevistando quizás a un centenar, y luego enviando una única oferta. Para un puesto de nivel medio.
¿Es la programación una buena opción profesional? Es difícil de superar si se tiene la habilidad. Y es difícil tener éxito si no lo tienes. Merece la pena intentarlo para ver si te ha tocado la lotería genética, pero intentar ser programador cuando no es una buena opción puede llevarte a una vida de frustración y fracaso.
Aprende a programar. Si te pasas seis meses y sigue sin parecerte natural, quizá debas considerar otros caminos profesionales.
Si tiene sentido, ¡bienvenido al club! Creo que disfrutarás aquí, y la paga es buena.