¿Cuáles son los errores más grandes que ha cometido en su carrera de desarrollo de software?

Los errores más grandes que he cometido, en ningún orden en particular:

  • Yendo ‘oscuro’. Tener miedo de las conversaciones incómodas acerca de no cumplir con una fecha límite, de volver a escribir el código cuando no se aceptó, o de no pedir ayuda porque “tuve que resolver esto” para demostrar mi valía.
  • Gente. Simplemente no ser lo suficientemente amigable / de apoyo. Pensar que los jefes “lo tenían para mí”, sin darse cuenta de las posiciones difíciles en las que estaban.
  • A la deriva. Aceptar trabajos porque estaban allí, no necesariamente en la dirección correcta
  • Demasiados movimientos laterales, permaneciendo demasiado tiempo. Pago estancado durante 15 años.
  • Creer en el conocimiento técnico es el camino a la cima.
  • Escribir código de mierda ilegible al principio y no darme cuenta de por qué me mordería más tarde

La mayoría de mis errores se han centrado en los aspectos de las personas y las habilidades sociales. Técnicamente, siempre he podido ser el lado correcto del promedio, lo suficiente para hacer las cosas.

El mayor error que cometí es aceptar el código de otra persona y pensar que podría guardarlo. Hay una serie de proyectos que están bien, pero cuando un proyecto está claramente en peligro, aceptar de buena gana el código de otra persona que no funciona no es una buena opción. Cuando he aceptado el código solo pensando que podría solucionar los problemas, he tenido la mayoría de los problemas. El tiempo debe programarse al comienzo de un cambio importante para ver si el código se puede recuperar o no.

Fue el momento en que las computadoras Intel 386/486 se usaron para el desarrollo de software y cada computadora costaría alrededor de 60 a 80 mil rupias en la India. Pentium todavía no estaba allí. Así que la gente solía ser muy cuidadosa trabajando en estas PC.

Acababa de salir de la universidad y comencé a trabajar en el desarrollo de hardware en una empresa basada en productos. Entonces estábamos diseñando tarjetas para agregar PC. Las placas base de PC se utilizan para admitir los buses ISA, EISA y PCI donde se utilizan las tarjetas adicionales. Estas tarjetas eran como una tarjeta gráfica, una tarjeta IDE para admitir unidades de disco duro y de disquete, tarjetas de E / S seriales, etc. Estaba trabajando en una tarjeta IDE. El proceso de desarrollo fue como: diseño de circuitos, captura esquemática, fabricación de PCB, montaje de componentes, luego programación PAL (lógica de matriz programable), e inserte la tarjeta en la ranura de la PC para la prueba. Así que este fue el proceso completo. Solíamos ejecutar algunos códigos de ensamblaje para probar diferentes funcionalidades.

Conseguí el PCB para mi tarjeta, pero como era PCB de desarrollo, la capa de serigrafía no estaba allí. La capa de serigrafía está marcada en PCB para identificar las diferentes partes y números de pin. Me referí al diagrama de diseño de PCB y monté todos los componentes. También programé el dispositivo PAL y lo monté en el PCB. ¡Ahora tuve que probar la tarjeta insertándola en la placa base de la PC y luego la encendí!

Como ya he mencionado, entonces las PC eran muy caras y tenía mucho miedo de poner mi tarjeta en la ranura de la PC. Teníamos un laboratorio donde se guardaban estas PC y la gente estaba trabajando en ese laboratorio. Fui a una de las PC, abrí la caja, inserté la tarjeta que había diseñado y quería probar. Mi corazón latía muy fuerte cuando estaba a punto de encender la PC. Finalmente con todo el coraje encendí la PC. Dhhhhmmm … un gran sonido vino con humo … Todos los que trabajaban en el laboratorio realmente se asustaron y comenzaron a mirarme. Estaba temblando, ni idea de lo que ha pasado. Inmediatamente apagué la PC. Retiré la tarjeta y encontré que, el chip PAL fue destruido. Por suerte la PC cara resultó ilesa. Revisé la PC para ver si funcionaba correctamente. Dios me salvó! Luego saqué el chip PAL de la tarjeta y comprobé lo que estaba mal. Había montado el chip al revés, ya que no había marcas en el PCB para indicar los números de pin. El montaje inverso del chip había causado esta gran explosión ..

La gente estaba convencida de que no había ocurrido ningún daño importante y que era el problema lo que causó el menor problema. Al estar más fresco estaba exento de cualquier consecuencia.

Trabajando en el desarrollo de sistemas embebidos, he visto varios blasts de este tipo, y estos son muy comunes cuando desarrollas tu propio hardware. Las personas que, sin saberlo, usan fuentes de alimentación incorrectas, cables incorrectos, no montan la propiedad de los chips, conexiones sueltas, soldaduras secas, etc., generalmente causan estas explosiones.

Este fue uno de los incidentes que aún recuerdo en mi mente.

Me gustaría armar algunos incidentes compartidos por mis amigos de diferentes compañías,

  1. Mi amigo trabajó en algún módulo de cifrado de contraseña DB y funcionó bien en control de calidad y no esperaba problemas en la producción. Durante la implementación hubo un problema con el entorno de producción y no funcionó. Lamentablemente no lo notó y solicitó un reinicio del servidor web un par de veces. La base de datos de Prod se bloqueó y tuvo un impacto comercial durante una hora.

2. Un chico que es un desarrollador de Java se volvió loco. Una vez que hubo una migración de datos de back-end y le pidieron al equipo que la probara y diera su aprobación. De alguna manera cometió un error, copió la antigua URL y le pidió a su qa, analistas de negocios y otros tipos que lo probaran. Personas de diferentes lugares lo probaron durante tres días y confirmaron que todo está bien. Desafortunadamente, se dio cuenta después de tres días, lo que demostró que el esfuerzo de tres días de todo el equipo es un desperdicio y que deben volver a probarlo con la nueva url de back-end.

3. Uno de mis compañeros del equipo de amigos realizó una consulta de actualización en lugar de un control de calidad por error. Tuvo varias sesiones de usar Ctrl + Tab por muchos de sus gerentes.

4. Para ver un problema de producción, uno de los amigos de mi compañero de equipo consiguió una contraseña de DB temporal, la copió con un espacio y pulsó la CONECTIVIDAD DE PRUEBA varias veces. Prod DB se cerró y tuvo un impacto

Yo era casi un nuevo carpintero. Pocos meses en el trabajo y estaba trabajando con Hadoop.

Mi gerente me advirtió que usara el comando remove (rm) en hdfs con prudencia.

Oh, lo usé tan sabiamente que borré toda la base de datos.

Afortunadamente, mi gerente lo restauró a través de una copia de seguridad; Pero no antes de tener una sesión para mí.

Alguna vez se convirtió en un código mono en primer lugar. No es un trabajo creativo, y cometerás muchos errores y errores debido a la naturaleza de la cosa. Es un monstruo.