Cuáles son las ventajas y desventajas de ser ingeniero de software?

Pros:

  • Libertad. Encontrar un trabajo en el que puedas trabajar desde tu casa no es terriblemente difícil una vez que llevas un tiempo en esta carrera. Con un poco de inteligencia y valor, puedes encontrar un nicho especializado y trabajar para ti mismo. Tengo algunas llamadas cada semana, pero no estoy atrapado en un edificio de oficinas corriendo de una reunión a otra.
  • Flexibilidad. Si eres un ingeniero medio decente con algunas buenas recomendaciones y ejemplos de trabajo sólidos, puedes ir prácticamente a cualquier sitio y encontrar un trabajo. Esto se triplica para las personas que trabajan en las pilas J2EE y .NET - tienen la ventaja de trabajar en un mercado de productos básicos.
  • Barrera de entrada baja. He leído todas esas historias de horror sobre las entrevistas de código y cómo sólo tienes que ir a Stanford, pero el hecho es que puedes obtener un título de ciencias de la computación de una universidad estatal y trabajar un par de prácticas y tienes una buena oportunidad en un montón de grandes puestos de trabajo. Cualquiera que se sienta desanimado por no trabajar en Silicon Valley obviamente nunca ha cavado una zanja para ganarse la vida. Recuerda que las únicas otras profesiones que tienen este tipo de potencial de ingresos requieren unos cuantos años más de costosos estudios y exámenes de certificación. Ese título ni siquiera es un requisito estricto; he trabajado con algunos programadores excelentes que no terminaron la escuela.

Contra:

  • Dinero. Desde el punto de vista del coste, el software es prácticamente todo trabajo. He visto muy pocos escenarios en los que se despidió a los trabajadores de bajo rendimiento, pero sí he visto muchas situaciones en las que se despidió a consultores y contratistas para reducir los costes. No hay nada más que recortar, a menos que quieras apagar el aire acondicionado y cancelar el servicio de café. Siempre eres el elefante rosa en la habitación.
  • Dinero. Prácticamente todo lo que hay que hacer para entrar en el mundo de la informática es ser contratado. Gracias al incansable trabajo de algunas mentes brillantes, la mayoría de los trabajos de sistemas pueden ser realizados de forma competente por personas que no están muy por encima de la inteligencia media normal y no hay nada malo en ello. Sin embargo, encontrarás personas que nunca fueron muy competentes o cuyo interés por esta línea de trabajo se desvaneció rápidamente. Pueden aceptar un recorte de sueldo y cambiar de campo o pueden acumular unos cuantos años de experiencia y pasar a un puesto directivo menos exigente desde el punto de vista técnico. Un día vas a trabajar para ese tipo. No entenderá ni la mitad de lo que dices, no le importaría si lo hiciera y la diferencia entre tú y él es que él puede dar un puñetazo hacia abajo.
  • Magia. Lo más probable es que acabes con un cliente que quiere que softwareices su negocio. Por lo general, las cosas se están saliendo de control con ellos. No se mueven lo suficientemente rápido. El dinero y las relaciones con los clientes se gestionan a través de un laberinto de hojas de cálculo. Una vez que te sientes con ellos y diseñes un plan para construir una infraestructura de aplicaciones que impulse su productividad, empezarás a darte cuenta de que sólo estarías acelerando una forma de trabajo pésima y descuidada. Lo que realmente quieren es que suavices las cosas. El problema de automatizar un mal proceso es que sólo hace que los accidentes ocurran más rápido. Pero a ellos no les importa. A tu jefe no le importa. Eres un mago, ¿no?
  • Respeto. La gente ve a los ingenieros de la misma manera que a los abogados. Asumen que eres inteligente pero prefieren no tratar contigo. Es decir, la mitad de las veces, todo lo que van a obtener por su dinero es una lista de razones realmente técnicas por las que no pueden hacer lo que les dé la gana. "Oh, vamos, Steve, ¿no puedes ejecutar ese proceso con permisos 777?" ¡No! Parecerás un idiota pero, oye, ese es tu trabajo. Y es una posición horrible en la que estar.