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

Pros:

  • Tus habilidades siempre son muy demandadas en cualquier parte del mundo
  • The Elite Few (relativamente): es difícil aprender a programar bien. La mayoría de los estudiantes de tercer año que lo intentan en la universidad terminan cambiando de especialización o graduándose con habilidades realmente insignificantes. A pesar de la popularidad de esta profesión, la mayoría tendrá dificultades para cruzar la puerta y ¡eso es genial para aquellos que lo hacen!
  • La oportunidad de ingresar al campo por medios poco ortodoxos es muy real. Yo mismo estudié y participé en un campamento de entrenamiento en lugar de la tradicional experiencia universitaria de 4 años. Hay diferencias, pero aún puede terminar en el otro extremo con las habilidades que las empresas desean emplear.
  • El pago suele ser bastante bueno, especialmente después de sus primeros años de experiencia.
  • Los trabajos ofrecen las mejores ventajas. Al menos aquí en Silicon Valley. Tiempo de vacaciones ilimitado, comidas / refrigerios gratis, happy hours, beneficios, salidas regulares de la compañía, emparejamiento de jubilación y más.
  • Elija su propio equilibrio trabajo / vida, trabaje más de 10 horas al día para un gran equipo, o trabaje 20 horas a la semana como profesional independiente (desde su hogar) y viva de manera más modesta.
  • Gran oportunidad para comenzar su propio inicio, ya que está a la vanguardia de las habilidades técnicas necesarias para construir nuevas ideas en productos viables.

Contras:

Pros

  1. Horario flexible
  2. Buen dinero
  3. Use jeans, una camiseta y sandalias todos los días por todo lo que nos importa. (Solo cámbiate la camisa por favor)
  4. El respeto
  5. No es necesaria una escuela de posgrado
  6. Los compañeros de trabajo son generalmente agudos, serviciales y indulgentes.
  7. Problemas variados e interesantes para resolver

Contras

  1. Las horas se alargan a veces
  2. Puede encontrar que el trabajo carece de cualquier tipo de relevancia social

Fui desarrollador de sistemas informáticos / administrador de bases de datos para una gran empresa de telecomunicaciones durante 25 años.

Pros:

  1. Buena paga y beneficios para la salud.
  2. Contribuciones del empleador a mi 401K.
  3. Opciones de alamcenaje.
  4. Pensión de jubilación.

Contras:

  1. Muchos de mis compañeros de trabajo harían cualquier cosa para ascender antes que yo.
  2. En llamada 24 x 7.
  3. Trabajé en aplicaciones comerciales, que en realidad no eran tan interesantes.

¿Por qué me quedé con él durante 25 años? Porque los profesionales superaron a los contras.

Y como Czeslaw Broniarek me dijo una vez: “No es necesario que realmente te guste tu trabajo; solo ve allí y haz tu trabajo. Luego, busca otras actividades fuera del trabajo que realmente disfrutes”.

La mayoría de las otras respuestas aquí han cubierto los pros / contras bastante bien. Sin embargo, me gustaría agregar estos inconvenientes:

  • Las habilidades para entrevistar para trabajos de desarrollo de software pueden ser muy diferentes a las de la experiencia laboral. Por ejemplo, como desarrollador web de back-end, en mis 10 años en este rol, nunca he tenido que implementar un algoritmo para equilibrar un árbol binario o para resolver un problema de programación dinámica. Sin embargo, muchas compañías de software (o compañías que contratan desarrolladores de software) prueban estas habilidades orientadas a la informática, especialmente con sitios como LeetCode y HackerRank. Ni siquiera te hablarán hasta que hayas pasado sus exámenes en línea muchas veces. Por lo tanto, además de mantenerse al día con la última tecnología whiz-bang, también debe mantener sus fundamentos de ciencias de la computación nítidos y poder implementar estructuras / algoritmos de datos en un formato de prueba cronometrado.
  • El ageismo existe en la industria. Personalmente, todavía no he experimentado el ageismo (que yo sepa), pero sí conozco a un desarrollador de software de unos 40 años que parece haber comenzado a recibir preguntas en entrevistas como: “¿Cómo te sientes al trabajar con compañeros más jóvenes? trabajadores?
  • No hay una ruta de éxito bien definida. No existe una fórmula mágica que diga que será un desarrollador exitoso si solo aprende tecnologías X / Y / Z. Puede experimentar el éxito a corto plazo al aprender las últimas tecnologías geniales, pero no hay una ruta bien definida para el éxito a largo plazo en la industria del software. Sin embargo, esto probablemente sea cierto para la mayoría de las industrias.
  • Los roles no están bien definidos. Las empresas a menudo no tienen roles bien definidos para los desarrolladores de software. Claro, pueden tener un requerimiento de trabajo que enumera un montón de tecnologías, pero una vez que lo contratan, puede convertirse fácilmente en un ‘recurso técnico’ para ser asignado a trabajar en cualquier tarea técnica, ya sea arreglar una impresora o implementar un algoritmo loco y complicado para mañana por la mañana Una vez trabajé en un lugar donde los desarrolladores mantenían importantes piezas de infraestructura durante un largo período de tiempo, básicamente con los sombreros de desarrollador de software, administrador de sistemas e ingeniero de confiabilidad del sitio. No hace falta decir que dejé esa compañía. Sin embargo, esta ‘estafa’ también puede funcionar a tu favor. Dado que su rol no siempre está bien definido, a veces puede segregarse en un rol que no necesariamente podría probar si la empresa solo le permitiera trabajar estrictamente como desarrollador de software.
  • Torre Tecnológica de Babel. La cantidad de software que existe ahora es alucinante, tanto de código abierto como de código cerrado. Navegar por todo el software y las bibliotecas de software existentes puede ser una tarea desalentadora. Por ejemplo, si tiene la tarea de investigar e implementar un sistema de monitoreo, podría considerar cientos de opciones diferentes, todas con sus propios precios y pros / contras. Puede encontrar la solución perfecta que no tiene 1 característica que requieren los chicos de Operaciones de seguridad, por lo que se descarta.

Pros:

  • Una gran cantidad de recursos para aprender cosas nuevas (o incluso lo básico): hay tutoriales gratuitos en línea para la mayoría de los idiomas, marcos y otras tecnologías
  • Puede ser desafiante y emocionalmente gratificante (es decir, en el sentido de lograr el bien en el mundo o resolver un problema difícil), si persigues eso, o si lo prefieres, aún puedes trabajar en reinvenciones aburridas y aburridas de la rueda
  • Generalmente financieramente gratificante
  • Es más fácil que en la mayoría de los campos encontrar trabajo remoto y / o flexible si lo desea
  • Fácil de hacer freelance si quieres
  • Llegan cosas nuevas todo el tiempo para que si te pierdes una “ola” pronto habrá otra para que puedas atrapar: frex, me perdí la ola de Java pero monté en el yate Ruby

Contras:

  • Como se ha señalado, pasa mucho tiempo pensando, por lo tanto probablemente sentado, lo que no es bueno para su salud. Por cierto, intente pensar mientras camina, mucho mejor para la salud, y a menudo me parece más efectivo
  • La mayoría de la gente asumirá que eres un geek socialmente incómodo que debería estar en la teoría del Big Bang
  • La mayoría de las personas malinterpretan enormemente lo que usted hace, y pueden pedirle que arregle sus impresoras o piratear la “base de datos de la policía” para arreglar una multa de estacionamiento
  • Incluso la mayoría de los reclutadores malinterpretan enormemente (o tal vez simplemente no les importa) lo que haces, y pueden pedirte que te entrevistes para un puesto como administrador junior de Sharepoint después de décadas de experiencia en programación que no es de MS
  • Si eres mujer (o al menos simpatiza con su difícil situación), todavía hay sexismo rampante: sí, en la mayoría de los campos, pero más en tecnología, ya que está dominado por hombres.

Pros: resuelve problemas interesantes para ganarse la vida; generalmente tienen horarios flexibles para acomodar pasatiempos y familiares; no necesitas malgastar tu juventud en la escuela de posgrado; puede ganar mucho dinero; y están en la profesión de servicio no personal que será reemplazada por computadoras.

Contras: ninguno si escribir no exacerba los problemas de salud y no disfrutas más de una profesión viable diferente (tal vez relacionada, como la gestión de ingeniería).

De acuerdo con muchos de los pros y contras hasta ahora, pero con algunos nuevos:

Pros:

a. El trabajo de TI se presta para trabajar de forma remota (¡yahoo!)

segundo. oportunidad de trabajar en cosas totalmente nuevas, dependiendo del tamaño de la empresa (una empresa más pequeña probablemente tendrá más variedad)

C. a veces la demanda de codificadores es lo suficientemente alta como para ignorar o minimizar las barreras lingüísticas, geográficas, políticas y sociales

Contras:

a. ¿Algún día quizás la mayoría del software será desarrollado por AI, por escritores automatizados?

No hay ventajas para ser un desarrollador de software. Si te conviertes en un desarrollador de software y no juegas correctamente el juego de acrónimos, y notas que no controlas los acrónimos que tu empleador te hace usar, te encontrarás sin trabajo y, debido a la discriminación, tendrás problemas para encontrar alguno. trabajo en absoluto con su experiencia en la cara en cada rechazo de trabajo. Las publicaciones que ves aquí son publicadas principalmente por personas que (al menos hasta ahora) han logrado evitar esto. Entonces no están tomando esto en consideración. En los niveles salariales actuales para los desarrolladores, que son minúsculos en comparación con lo que hace el CEO, cuyo trabajo nunca será arrojado a la cara, hay muchas maneras mucho más seguras de ganar el mismo dinero o mejor. Muchos. Por lo tanto, no tiene ningún sentido aprovechar la oportunidad. Cuando los desarrolladores ganan $ 1,000,000 / año, tal vez. Pero no ahora.

Hay cuatro grandes profesionales para ser un desarrollador de software:

  • Habilidades matemáticas mejoradas
  • Memoria mejorada

Um, y no recuerdo el último.

Si bien no soy desarrollador, hay una parte emocionante de este trabajo que siempre me interesa, tal vez debería aprender a codificar algún día. Es la capacidad de crear algo completamente nuevo, que eventualmente será interesante para millones de personas en todo el mundo.

Pero al mismo tiempo hay una parte que me impide seguir por ese camino. Corríjame si me equivoco, pero parece que el trabajo no incluye muchos contactos humanos.

More Interesting

¿Por qué no se puede automatizar el desarrollo de software para que esencialmente podamos 'pedir' a una computadora que nos cree una solución a nuestro problema / creación?

¿Existe algún sistema de calificación para desarrolladores de software?

¿Por qué los desarrolladores de software piensan que la ingeniería de garantía de calidad es una pérdida de tiempo?

Como desarrollador de software Java con 3 años de experiencia, ¿cuáles son todas las habilidades requeridas para un desarrollador de software?

Cómo convertirse en un desarrollador de software sin pasar por una licenciatura en informática

¿Qué apesta en el desarrollo de software?

¿Es un Chromebook bueno para los desarrolladores?

¿Unirse a Datamatic Global, Mumbai es una buena opción para los no principiantes?

Apunta una pistola a tu cabeza y tienes un mes para enseñarle a un nuevo programador a codificar. ¿Cómo lo harías? ¿Qué lenguaje de programación elegirías para él? ¿Qué proyectos le enseñarías a crear?

¿En qué campo debe un desarrollador de software conseguir trabajo?

Tengo mi aplicación ejecutándose en 10 tomcats separados y están accediendo a la misma base de datos. ¿Cómo puedo lograr la concurrencia en la modificación de filas, para que no haya dos servidores que puedan modificar la misma fila simultáneamente?

¿Qué buscan la mayoría de los programadores e ingenieros de software en su entorno de trabajo ideal?

¿Cómo describirías las matemáticas para ser un desarrollador de software? ¿Es complejo o podría hacerse en hojas de cálculo y / o fórmulas simples?

¿Qué hace a un buen programador OCaml?

¿Qué compañía de software proporciona el software de administración de contactos gratuito más robusto y fácil de usar?