¿Cuáles son algunas verdades difíciles sobre los ingenieros de software?

Soy un miembro próximo en la gran masa de ingenieros de software. Te diré lo que piensan los relativamente jóvenes.

  1. No todos están en CSE / IT por su pasión por las computadoras. Hay una gran parte de la población de informática que cree que esta rama puede obtener salarios más altos con bastante facilidad cuando no es el caso. La mayoría de las personas están aquí para entrar en infosys o wipro y no tienen mucha pasión por el tema.
  2. Nadie entiende que la informática es un campo enorme. No importa cuán fácil sea comprender que hay tantas facetas de las computadoras que puede pasar toda la vida para dominar y es posible que aún no pueda hacerlo. El desarrollo de aplicaciones y sitios web no es lo único que podemos hacer. Cuando buceas un poco por debajo de la superficie, hay cosas como IOT, aprendizaje automático, aprendizaje profundo, desarrollo de IA y en qué no enfocarte.
  3. Sin foco en las habilidades. Todos están ocupados brillando allí con hojas de marcas. He leído respuestas muy acertadas sobre la importancia de hacer el bien en sus académicos, pero no lo llevará mucho más lejos si no desarrolla las habilidades técnicas y de comunicación dentro de usted. Su hoja de calificación será simplemente otra hoja de papel en la que alguien con mejores habilidades simplemente estampará para ocupar su lugar.
  4. Reclutamiento masivo y trabajos de oficina. Es bastante aterrador pensar que muchos de nosotros estaríamos ganando una exigua 3 lpa en Bangalore después de graduarnos haciendo trabajo de oficina o en el banco para esperar la terminación. Esa es la realidad a partir de hoy.
  5. Presión. En el momento en que obtienes CSE en una buena universidad, siempre habrá una “amenaza” sobre tus hombros que te recordará cómo tu familia espera que ganes 20lpa tan pronto como salgas de la universidad. El bombo que crean los medios sofoca a las personas que están dentro.
  6. Todos los demás empleados de la rama quieren ingresar al mundo de TI, pero los de CSE no pueden ingresar a sus trabajos. Sí, compites con todas y cada una de las sucursales cuando se trata de ubicaciones. Aunque lo contrario no es cierto.
  7. La cantidad es abundante, la calidad es pobre. Somos tratados como ‘simplemente otro ingeniero’ en la sociedad, mientras que un médico o una AC obtienen mucho más respeto. Por qué sucede esto se explica por sí mismo. Estamos en abundancia y la mayoría de nosotros tenemos 0 habilidades.

Como ingeniero de software desde hace 4 años, me siento elegible para responder esta fabulosa pregunta.

Hay muchos altibajos al hacer el trabajo de manera honesta, pero todos tienen que enfrentar estas amargas verdades una vez en la vida.

Hay muchos puntos, pero me gustaría concentrarme en estos puntos.

  1. Organización inadecuada del trabajo: cuando estás en el nivel junior, tienes que trabajar de acuerdo con el líder de tu equipo, aunque no eres adecuado para este trabajo, hay incluso mejores recursos disponibles en ese momento. ESTO SOLO PARA MOSTRARTE, ¡CUÁN INÚTIL ERES!
  2. La inteligencia no es para nada igual a la carga de trabajo: si alguien está haciendo un trabajo a mejor velocidad y calidad, eso no significa que la misma persona esté lista para más carga de trabajo y haciendo un trabajo sin sentido.
  3. La política siempre importa: si su relación es mejor con su alta gerencia, entonces sus posibilidades de supervivencia son increíbles. Mantener a tu superior y mostrar tu trabajo mejor que otros (aunque no estás trabajando en absoluto) es la mejor parte de la política. Todos se hacen como un CANGREJO …
  4. Horas laborales: SI. Tenemos horas de trabajo, en papel. Pero la compañía siempre espera que trabajemos horas extra. Como vivo en Mumbai, mi empleador anterior esperaba que todos sus empleados también trabajen en el tren. Solía ​​decir lo que obtendrás jugando o viendo películas en el tren. Piense en el trabajo, haga documentación en dispositivos móviles, explore ideas para viajar. Significa qué demonios, ni siquiera tenemos espacio para respirar en los trenes. Las horas de trabajo extra siempre esperan algo extra en el bolsillo.
  5. Por último, pero no menos importante, sus compañeros de equipo: quiero decir, los compañeros de equipo están allí para ayudarlo, dividir su trabajo, aumentar el conocimiento, pero siempre se descubrió que 1/10 de los empleados solo trabajan sinceramente, que siempre están ocupados con carga extra de trabajo. Otro 90% está allí solo porque está respirando.

Estas son mis experiencias. Puede variar de cada individuo, pero esto es cierto en casi cada organización.

  1. Todos quieren ser un ‘Desarrollador ‘ y no un ‘Probador’ antes de saber cuál es el papel real de ambos.
  2. Las oficinas elegantes , la infraestructura encantadora y las oportunidades engañosas en el sitio atraen a la mayoría de los jóvenes a la industria de TI.
  3. Personas que trabajan en gigantes de software como Infosys, TCS, Accenture, etc. a menudo se burlan de ellos incluso antes de conocer su designación allí.
  4. Las personas se agrupan en equipos al azar y a nadie le importan sus intereses o experiencia.
  5. Aquellos que no obtienen la promoción o la calificación de evaluación esperada se consideran una víctima de la política de la oficina.
  6. En las multinacionales, por lo general, el control remoto está con el equipo sentado fuera de la India y los ingenieros de software aquí en la India tienen que bailar (horas de trabajo, turnos, etc.)

Verdades duras
1) La vida se arrastra a través de la jerga de palabras técnicas (error, scrum, etc.).
2) La actividad física disminuye en gran medida.
3) Se espera que codifique y trabaje incluso cuando no lo desee.

No mencionaré verdades concretas en específico, pero me gustaría compartir mis experiencias en la industria del software.
Ingresos :
Si está trabajando en una multinacional como Microsoft, Google, Adobe, etc., o en algunas empresas nuevas bien financiadas o basadas en el comercio electrónico, ganará realmente bien, eso también a muy temprana edad. Su salario será mucho más alto que una persona en el sector público que tenga más de 20 años de experiencia. Si solo compara los salarios, el salario de los desarrolladores / gerentes senior en la compañía de software puede ser mayor que el salario del presidente o primer ministro de la India.

Vida:
Depende en gran medida de un individuo. Lo que realmente saca de eso. Si no te apasiona la tecnología, la codificación o no tienes algunos buenos pasatiempos, la vida se vuelve aburrida, algo sin dirección. Empiezas a cuestionar tu objetivo o destino real. Uno debe ser realmente muy paciente con cómo va su vida. Para la mayoría de las personas, habrá muy pocos momentos en los que realmente disfrutes trabajar. Es un trabajo que requiere que se siente frente al sistema de la computadora durante más de 8 horas. Eso afecta tu salud y estado físico.

Aprendizaje:
También depende del tipo de proyecto en el que esté trabajando realmente y el trabajo se adapta a sus intereses.

Por favor, lea por su propio bien 🙂

La verdad más difícil sobre los “ingenieros de software” es que no son “ingenieros” en un sentido profesional.

Algunos / pocos de ellos pueden ser. Pero el 90% más no lo son.

Es por eso que no recibimos respeto como otras profesiones de ingeniería, que directa o indirectamente se refleja como una situación profesional y personal insatisfactoria para la mayoría. El 90% más multitud tal vez “desarrolladores”.

Dejame explicar.

El término “ingeniería” / “ingeniero” se aplica cuando los artefactos que creamos y el proceso y las herramientas que utilizamos para crearlos se basan en hechos científicos establecidos, estandarizados, certificables, etc.

Las personas que escriben código para los núcleos del sistema operativo, los controladores, las pilas de protocolos y la mayoría del software en tiempo real entran en esta categoría. Personalmente, he escrito código C para algunos protocolos de la pila TCP / IP para sistemas integrados. Mis especificaciones provenían de RFC ratificadas, los productos finales que creé eran verificables independientemente por sistema externo, y no estaban sujetos a caprichos y fantasías llamados “clientes”.

¿Pero qué pasa con la corriente principal?

Pruebe su suerte al obtener su última interfaz de usuario web o aplicaciones de interfaz de usuario aprobadas, aceptadas y pagadas citando la ley de Fitt / Apple HIG / MS UIG en el cliente.

Lamentablemente, su propio gerente / organización lo obligará a crear software de calidad inferior.

¿Y qué sucede cuando comienzas a trabajar en algo que no sigue ningún principio establecido, estándares y herramientas?

Entonces estás cartografiando en un territorio desconocido. No puede estimar adecuadamente (o están muy lejos de la marca) lo que conducirá a retrasos en el cronograma, lo que empeora cuando el cliente idiota cambia de opinión y entra en el ciclo de “corrección de errores” / reelaboración posterior a la prueba.

Todo lo demás que la gente ha enumerado es secundario. Las malas condiciones de trabajo son la manifestación de una industria que trabaja ad-hoc, busca nuevas palabras clave cada año, sacrifica principios de ingeniería sólidos para complacer a los clientes sin escrúpulos y sin educación.

  1. Los ingenieros de software pasan el 30% de su tiempo navegando por el código.
  2. Son muy lentos para hacer una pregunta a los demás. Antes de eso, intentarán todo lo posible para eliminar ese error. ¡¡Yo!! ¡¡¡Desbordamiento de pila!!! Eres mi última esperanza … No me dejes así
  3. Capaz de convertir el café en un código. Sin un café, no estarán vivos.
  4. Sí, saben que su teclado está desordenado con pizzas nocturnas y café. No señalar eso.
  5. Están mal pagados.
  6. Son ingenieros por el amor de Dios. No significa que puedan instalar Windows en su escritorio / computadora portátil.
  7. Todavía no saben cómo funciona su código y por qué funciona.
  1. Los ingenieros de software siempre sienten que se les está pagando mal, mientras que la mayoría de las personas externas sienten que se les está pagando de más.
  2. La mayoría de los ingenieros de software en Bangalore pasan 3/4 de su día solo para su trabajo (incluidas las horas de trabajo y los viajes y la gestión del tráfico).
  3. Cuando se acerca la fecha límite y los errores a corregir son bastante grandes, tienen que funcionar como locos. Esto lleva a un horario agitado y una vida indeseable.
  4. Su trabajo depende en gran medida de las empresas de los Estados Unidos (no necesariamente siempre). La recesión que ocurre allí significa un impacto en su trabajo.
  5. Una cruda realidad es que millones de graduados hacen Ingeniería de CSE / TI con el objetivo de obtener un rol de Ingeniero de software / Desarrollador, pero una gran parte de la gente no está obteniendo trabajo en este dominio.
  6. A veces puede que no tengas un buen equipo para trabajar. Es posible que no obtenga personas útiles, pero aún así se espera que dé lo mejor de sí. Se espera que finalice su tarea independientemente de que haya entendido los requisitos correctamente.
  7. En general, las personas preferimos compañías basadas en productos, pero debido a una competencia muy dura en el mundo exterior, de alguna manera las personas aterrizan en una compañía basada en servicios y luego solo esperan el momento para cambiar a una mejor compañía / compañía de ensueño, lo que puede no ser fácil.
  8. Si han estado en el banco durante un largo período, comienzan a frustrarse y dudar de sus habilidades.
  9. El ingeniero / desarrollador de software no es un trabajo de 9–6 (¡Sí, en verdad!). Es un proceso de aprendizaje que adaptamos a lo largo de nuestra vida. Aprender nuevas habilidades / Trabajar en nuevas tecnologías se convierte en un hábito. Entonces, para hacer frente, necesitamos trabajar más.
  10. Sentarse frente al sistema durante todo el día y durante las horas de trabajo (hasta que se retiren del trabajo) los hace adictos a la televisión. Esto a su vez conduce a problemas de salud.

La expectativa es asesina.

El cliente espera que el producto se entregue en el tiempo estimado. Quiere que el equipo de ingeniería de software comprenda los requisitos correctamente. Quiere productos libres de errores. Y eso rara vez sucede.

El desarrollador espera obtener requisitos claros. Diseño de producto para ser crujiente. Quiere trabajar en la última tecnología. La estimación se da según la comprensión inicial. Entonces, la mayoría de las veces, la estimación es de heno. Y para entregar el producto a tiempo necesita trabajar horas extra y eso es odiado también algunas veces la calidad del código se ve comprometida.

Mientras mantiene proyectos. Hay menos o ninguna documentación. Se convierte en una pesadilla para el próximo desarrollador mantener el producto. La transferencia de conocimiento adecuada rara vez se da a los nuevos devoloper.

Asumiré que por “Ingeniero de software” imaginas a alguien que diseña pero también escribe código. Aquí hay dos “verdades duras” en mi experiencia:

1. Muchos no tienen un concepto de seguridad de la información y no diseñan para ello
2. Muchos no tienen idea de cómo solucionar un problema

Creo que estos provienen de personas que no se ramifican en otras áreas, como seguridad de la información, administración de sistemas, bases de datos, redes, etc. No digo que deba ser un experto, pero muchos ingenieros de software que he conocido ni siquiera tener el conocimiento básico de cualquier cosa fuera de su dominio.

  • Se les paga generosamente para hacer trabajo de rutina.
  • Pueden cambiar de trabajo muy rápido con un aumento del 30% o más.
  • Obtienen opciones de ‘ Trabajar desde casa ‘, lo cual es un sueño para otros sectores.
  • Consiguen oficinas ostentosas para trabajar.
  • Obtienen ‘ oportunidades en el sitio ‘, nuevamente es un sueño para otros sectores.
  • Tienen fiestas locas en el mejor de los hoteles / pub.
  • Reciben el respeto de todos en la oficina, no hay cultura de Sir / Mam y la gente no grita por nada.
  • Se ponen a trabajar en proyectos desafiantes / de lluvia de ideas , ¡está bien a veces!
  • Trabajan con jóvenes de mente abierta , problemas como el casteismo, el nepotismo no existe aquí.
  • Llegan a vivir en ciudades metropolitanas. Fiestas de comida, viajes en bicicleta, eventos musicales … ¿solo lo llamas? Los chicos de TI se encontrarán en todas partes.

Verdad dura -> después de todo esto son un grupo de crybabies en general.

1. Es muy posible, si no totalmente probable, que pases menos tiempo escribiendo código que en reuniones o haciendo otro trabajo de planificación e investigación “fuera de línea” para decidir qué código escribirás, más o menos en qué orden, qué general enfoque que tomará al escribirlo, y cuánto tiempo debería llevar razonablemente escribir ese código. En realidad, esto puede ser algo bueno cuando se hace bien, pero muchas personas descubren que no disfrutan de este aspecto de la ingeniería de software, y prefieren simplemente sentarse en el teclado y agitar un código nuevo sin una planificación adecuada.

2 personas. Esto es cierto para prácticamente cualquier trabajo, y no se limita a la ingeniería de software en ningún sentido, pero una gran sorpresa para muchos al ingresar al mundo profesional es que las personas son solo personas, e incluso en las mejores empresas, hay personas con hábitos molestos. , una gama de personalidades desde “francamente tóxico” hasta “genio carismático”, y generalmente se puede esperar que las cosas no siempre salgan bien a nivel interpersonal. Si tiene suerte, trabajará con personas excelentes y tendrá buenas experiencias, pero es inevitable que se encuentre con personas con las que no es muy divertido trabajar o para las que trabajar. Aprenda a ser flexible en la forma en que maneja las relaciones personales en el trabajo y no espere que todos se comporten siempre como adultos.

Algunos correos electrónicos típicos que solía recibir se enumeran a continuación.


El código que se entregó anoche no funciona en la máquina en el sitio. Por favor revísalo y regrésalo.

Yo (para mí): ¡Maldita sea! . Está trabajando en mi máquina. No sabe cómo ejecutarlo.

Yo (en la respuesta del correo electrónico): OK. Lo comprobaré y te lo haré saber.


Entregue esta funcionalidad para hoy EOD.

Yo (para mí): esto llevará unos malditos 3 días y él quiere que lo complete por EOD.

Yo (en la respuesta del correo electrónico): Claro. Hoy entregaré esto.


Agregue la funcionalidad XXX a la última versión y envíela hoy EOD.

Yo (para mí): ¡Oh! No. No encontré ningún código para hacer esto en google. ¿Cómo demonios se supone que debo hacer esto?

Yo (en la respuesta del correo electrónico): Claro. No hay problema.


Este contraste es la dura verdad de cualquier ingeniero de software.

  • La mayoría de los SE que querían ser un SE antes de graduarse, lamenta haberse convertido en uno después de unirse a una MNC y finalmente se quedan atrapados.
  • Aplican trabajos para roles que ni siquiera conocen el rol exacto del rol.
  • Después de conocer su papel, todo lo que hacen es asistir a reuniones en lugar de trabajar en relación con el suyo.
  • Una persona con la misma designación que usted y que hace el mismo trabajo que usted recibe más dinero porque ha cambiado de compañía.
  • Horario laboral extendido . Aunque 8 horas al día son horas de trabajo, su trabajo nunca se completó en 8 horas al día.
  • Los gerentes y directores están ganando millones de rupias y luego están pagando miles a los desarrolladores.
  • Incremento de una vez al año.
  • El crédito nunca va a los ingenieros de software a pesar de que hayan completado el proyecto según los requisitos.
  • En su mayoría, los ingenieros de software contratan empresas ubicadas en un centro de TI alejado del área de la ciudad.
  • Plazos incorrectos. El líder del equipo siempre tiene la urgencia de completar el trabajo a la perfección y presentar frente al cliente, pero si no están dando suficiente tiempo, ¿cómo pueden hacerlo los ingenieros perfectamente?
  • Asistencia obligatoria en la llamada del cliente en sus horarios preferidos.
  • Deja problemas. No están dispuestos a dar ninguna licencia.
  • Ofreciendo una cena para que los ingenieros trabajen hasta altas horas de la noche y no puedan encontrar ninguna razón para escapar del trabajo.

http://www.cruxwrux.com/

No es tan fácil entrar como algunas personas lo perciben. Lleva muchos años ser bueno, particularmente con el autoestudio, donde terminas con un aprendizaje más amplio en lugar de concentrarte más en un tipo de proyecto / es más fácil distraerse con otro proyecto y no saber en qué trabajar priorizar. Las personas que ingresan a los campos de arranque de código tienden a saber algo de código.

También sospecho que la mayoría de nosotros probablemente nunca se sentirá como un experto, ya que siempre hay mucho más que no sabe sobre servicios, escritura, API, seguridad, front-end, back-end, robótica móvil, bases de datos y análisis, diseño, control de versiones y standers a veces Matemáticas avanzadas que comprenden hardware, pruebas, dispositivos móviles, web, juegos, robótica, seguridad y muchos idiomas relevantes. Puede ser divertido aprender y trabajar en nuevas ideas y proyectos, pero también es definitivamente un trabajo arduo y cuando o si consigues un trabajo debes esperar largas horas, ya que los plazos pueden ser difíciles de especificar con precisión y los nuevos buscadores y cambios pueden agregar mucho tiempo un proyecto.

Los empleos en el mercado actual son de tal manera que la gente acaba de trazar sus líneas y no quiere salir de ella.

Difícil de adaptar de una tecnología a otra.

Up Skilling es un poco DIFÍCIL para las personas que han estado en el mercado durante varios años.

Idealmente, uno debe recordar que el TRABAJO como “Ingeniero de Software” no es permanente / seguro, cualquier cosa puede suceder en cualquier momento.