2015-12-17 18:27:44 +0000 2015-12-17 18:27:44 +0000
18
18

¿Cómo puedo dejar de cometer errores tontos en el trabajo?

He estado trabajando como ingeniero de software en una pequeña empresa consultora de IT durante 3 años. Trato de hacer un trabajo excelente, pero errores muy descuidados y tontos se meten en mi trabajo. Por ejemplo, enviar un correo electrónico a la persona equivocada, olvidar una parte importante del informe, desplegar la construcción incorrecta en el servidor activo, perder errores importantes en el código, etc. No importa cuánto trate de evitar los errores, los sigo cometiendo. Mi manager sigue enfadado y enojado conmigo y dice que no puede esperar estupideces de un profesional experimentado. Me ha advertido que si cometo más errores, sugerirá a la dirección superior que me despida/reemplace.

¿Cómo puedo llegar a ser excelente en mi trabajo? ¿Qué herramientas/métodos puedo usar para eliminar los errores para siempre?

Respuestas (8)

39
39
39
2015-12-17 19:01:15 +0000

Tres cosas te ayudarán a ser más preciso:

  • usa listas de comprobación y procedimientos (escribe los tuyos) y síguelos. Incluya pasos como “compruebe dos veces el servidor al que está apuntando”. Cuando las consecuencias de un error son altas, imprima la lista y marque las cosas con un bolígrafo sobre la marcha.
  • cuando la tecnología le ayude, tómese un momento para comprobarlo. Digamos que tu cliente de correo electrónico rellena la línea “Para” después de que escribes la primera letra. No sólo escribas la carta y hagas clic en Enviar. Detente y mira a ver lo que ha rellenado.
  • siempre que cometas un error, pregúntate a ti mismo por qué. ¿Qué paso te has saltado? ¿Qué es lo que no miró? ¿Por qué lo correcto y lo incorrecto se parecen tanto? ¿Cómo podría ser más fácil estar seguro de que lo estás haciendo bien? Actualiza tu procedimiento con lo que acabas de aprender.

Con el tiempo, desarrollarás hábitos y procesos que aseguren que haces las cosas correctamente. De hecho, eso es más o menos lo que es la experiencia.

13
13
13
2015-12-17 19:51:58 +0000

¿Cómo puedo dejar de cometer errores tontos en el trabajo?

Tienes un problema de calidad en el trabajo y necesitas un sistema para descubrir errores para crear una retroalimentación apropiada para mejorar/desarrollar procedimientos personales y hábitos de trabajo. La mejora de la calidad tiene que ver con el desarrollo de mecanismos para descubrir los errores y la causa de los mismos, y luego desarrollar un plan de acción para corregirlos.

Paso 1: Reconocer que los errores no son “tontos” - son graves. Puede perder su trabajo por ellos. Creo que un gran indicador de tu problema es que parecen cosas fáciles de prevenir, y aún así las sigues haciendo. Sin embargo, al no prevenirlas, tienes un serio problema.

Paso 2: Desacelerar. Muy a menudo los programadores e ingenieros “estrellas de rock” son vistos como los que se mueven rápido y furiosos - ¡nada los detiene! La realidad es que no son así. Hay situaciones en las que esto sucede, pero hay muchas situaciones en las que no es cierto. Deja de sentirte apresurado, toma un respiro y reduce la velocidad.

Paso 3: Antes de “terminar” algo, detente y toma un descanso, luego regresa a él y repasa. Toma un café, lee un correo electrónico, o algo que no te distraiga demasiado, para alejar tu mente de la tarea que tienes entre manos, así tendrás una nueva perspectiva cuando vuelvas a ella. Puede que sientas que esto te ralentizará o reducirá tu productividad. Sin embargo, este enfoque te permite notar los errores a tiempo, lo cual es importante para ser productivo. Así que antes de pulsar “enviar” - ve a leer otro correo electrónico o comprueba el estado de un servidor o algo así. Esto no se trata sólo de escribir código.

Paso 4: Cuando encuentres un error, no lo arregles simplemente. Tómate un momento para tratar de averiguar por qué se produjo el error. ¿A dónde vas con tanta prisa? ¿Copiar/pegar el error? ¿Confiar en el trabajo u opinión de alguien más? Esto te ayudará a ser más consciente de la causa de los errores en el momento en que ocurren. Descubrirlo más tarde no es muy útil, como ya sabes.

Paso 5: Sigue tu progreso. Presta atención a la utilidad de tus nuevos hábitos y prácticas. Mantén una hoja de cálculo para contar los errores o problemas que encontraste después de tomarte un descanso. Además, anote si un descubrimiento evitó algo que hubiera enojado a su jefe o que hubiera sido embarazoso. Esto desarrolla su capacidad para autoevaluar mejor la aceptabilidad de su propio trabajo y también para tratar de aprender qué hábitos son más efectivos.

Paso 6: Desarrolle procedimientos y listas de verificación (o actualice las existentes) donde vea que los patrones surgen de sus observaciones anteriores. No se pueden desarrollar listas de comprobación o procedimientos para todo, así que después de un tiempo (o incluso bastante rápido) se encontrarán patrones de errores en los que se puede crear un método reproducible para prevenir ciertos tipos de errores. Esto sólo es útil para tareas frecuentes que son complejas. De lo contrario, se verá tentado a no revisar la lista, a no mantenerla actualizada o a hacer más listas y procedimientos de los que pueda manejar, haciéndolos obsoletos y anticuados, lo que posiblemente conduzca a más errores.

Pruebe diferentes enfoques para descubrir dónde están sus errores antes de que se conviertan en problemas. Mientras que muchas de las respuestas aquí se centran en el desarrollo de procesos/procedimientos/listas de verificación (especialmente en torno al desarrollo de códigos), la premisa de “gestión de la calidad” o “mejora de la calidad” tiene que ver con la detección de errores como medio de retroalimentación para el desarrollo y/o mejora de procesos. No se puede desarrollar un “mejor” proceso si no se conoce la causa de los errores. Trabajar para descubrir la causa de los errores Lo más probable es que sólo te estés precipitando y no “comprobando dos veces” tu trabajo. Estos son algunos consejos para hacer que un ritmo más lento sea más productivo.

7
7
7
2015-12-17 22:05:45 +0000

Deja de trabajar. Es la única manera de dejar de cometer errores.

No, en serio: Siempre vas a cometer una serie de errores. Eso es parte de ser humano (lo cual siento que es seguro asumir que lo eres). Cualquier desarrollador profesional va a producir un trabajo con cierta cantidad de errores, y eso está bien. Esta es la razón por la que tenemos cosas como el desarrollo dirigido por pruebas, pruebas de unidad y departamentos de calidad. Si su gerente espera un software libre de errores a la primera, entonces no se trata de expectativas razonables.

Dicho esto, vivimos en un mundo en el que no podemos dejar de trabajar sólo porque ocurren errores, por lo que tomamos medidas para reducir el riesgo de error. Trabajo en un taller de manufactura, así que el eslogan es “Poke-yoke” (literalmente, en japonés significa “a prueba de errores”); que es un proceso automatizado diseñado para eliminar el error humano. Esto significa automatización. Yo definitivamente recomiendo pasar a un proceso de construcción automatizado para desplegar el software a la producción. Esto requerirá la participación de más de un solo desarrollador, pero vale la pena empujar tan lejos como se pueda.

Donde no puedas automatizar, tómate tu tiempo. Muchos errores pueden ser prevenidos tomando tiempo para revisar antes de cometer una acción. Tómate un minuto para revisar tu código antes de cometer cambios. Dedique el minuto extra para revisar los correos electrónicos antes de presionar ese fatídico botón de envío.

Finalmente, no tenga miedo de pedir ayuda. Como desarrollador, una de mis primeras acciones al encontrar un error es pedirle a un compañero de confianza que le eche un vistazo. Un par de ojos frescos pueden ver todo tipo de problemas que has filtrado inconscientemente. Y si no tienes un compañero de confianza, busca un nuevo trabajo; parece que eres un desarrollador de nivel medio/juvenil y necesitas un sistema de apoyo para crecer como desarrollador. Tener a otros desarrolladores de software para rebotar ideas no es una parte opcional de tu desarrollo como Desarrollador Profesional de Software.

En resumen: Automatiza cuando sea posible, tómate tu tiempo cuando no lo sea, y no tengas miedo de pedir ayuda.

2
2
2
2015-12-17 21:09:38 +0000

No, no eliminarás los errores. Pero podrías ser capaz de atrapar los más importantes. Es importante ser consciente de lo que estás haciendo y buscar formas de hacerlo de forma más segura.

Identifica los esfuerzos arriesgados. No puedes estar en guardia cada segundo del día, pero todo el mundo comete pequeños errores durante todo el día. La mayoría de los errores se pueden arreglar sin esfuerzo, así que mejora en notar cuando algo tiene el potencial de salir mal de una manera que no se puede arreglar tan fácilmente. Cualquier comunicación con un cliente, cualquier despliegue en un sitio, cualquier cambio global en un documento, etc.

Pregunta qué estás haciendo. ¿Entiendes lo que estás haciendo, por qué y cómo? ¿Se puede hacer esto de manera más segura? ¿Está seguro de que es mejor hacerlo que no hacerlo?

Pregunta antes de seguir adelante con esfuerzos arriesgados. No envíes un correo electrónico sin comprobar los destinatarios, el asunto, el contenido y los archivos adjuntos. Uno por uno. Tómese su tiempo. Enviar una cotización del cliente A al cliente B podría hacer que ambos clientes se pierdan. Es mejor pasar un minuto más o menos revisándolo. No te sientas tentado de apresurarte, incluso en una “emergencia”.

Tener un plan de recuperación. Sepa de antemano lo que hará si algo sale mal. Prepárese para que si necesita rectificar su error, pueda hacerlo rápidamente - pero sin apresurarse. ¿Cómo sabrás si hiciste algo mal? ¿Hay alguna manera de averiguarlo antes?

Documento cualquier cosa que tenga muchos pasos. Si tiene documentación, sígala como una lista de verificación para saber si es lo suficientemente buena o si está desactualizada, incompleta o defectuosa. Incluso si sólo lo haces una vez - antes de escribir tu informe, escribe una lista de todas las cosas que necesitan ir.

Sigue los pasos especialmente si el olvido es un problema. Cualquier cosa que necesites hacer y que no estés haciendo ahora mismo debería ir ahí. Rastrea todo en un solo lugar y sigue volviendo a tu lista de cosas por hacer. No confíes en las notas post-it dobladas y guardadas en tu bolsillo trasero.

Automatizar siempre que sea posible. Si tienes una lista de cinco cosas para escribir, ¿puedes escribir un programa para hacer esas cinco cosas y luego sólo tienes una cosa para equivocarte? Si estás haciendo software, ¿puedes hacer pruebas automatizadas para recoger cuando introduzcas errores? ¿Apunta a una cobertura del 100%? ¿Haces pruebas con el objetivo de romper tu código? ¿Tienes una integración continua para que no tengas que preocuparte por olvidarte de hacer pruebas?

Pide una segunda opinión si estás haciendo algo arriesgado que no puedes verificar y del que no puedes recuperarte fácilmente. Es una práctica común para el software que el código siempre sea probado por alguien más antes de ser aceptado.

Aprende. Cada error que se comete es una oportunidad para revisar el proceso.

Cuídate. Encuentra tiempo durante el día para despejar tu mente y tener unos minutos de silencio o relajación. Antes del trabajo, después del trabajo, en las pausas para el almuerzo, etc. Duerma lo suficiente. Coma regularmente y de forma saludable.

2
2
2
2015-12-17 19:14:00 +0000

Por supuesto que nunca serás perfecto, pero hay formas de mejorar la precisión. El mejor curso creo que es introducir procedimientos adicionales que no sean sólo la doble comprobación de su propio trabajo, ya que la gente es naturalmente propensa a cometer pequeños errores. No es muy probable que uno se dé cuenta de este tipo de cosas sólo por “ser más cuidadoso” o por “comprobar dos veces”, así que intentarlo es exponerse al fracaso. Algunas sugerencias específicas:

  1. Pruebas de la unidad. Con las pruebas unitarias adecuadas, cada vez que hagas un cambio en el código, ejecuta las pruebas en todo, y eso comprobará por ti si introdujiste un error inadvertidamente.

  2. Mejor procedimiento de despliegue. Despliegue primero en un servidor de montaje, usando los comandos exactos que usaría para prod, y verifique allí que el despliegue sea correcto, antes de pasar a producción.

  3. Salvo las pruebas de unidad, reserve tiempo en cada despliegue, una vez que crea que ha terminado, para repasar su construcción y probar todo lo que pueda usted mismo de nuevo. No te limites a probar las áreas que crees haber cambiado.

  4. Siempre que cometas un error, intenta pensar en soluciones en esta línea, para establecer salvaguardias contra el error humano natural, y presenta estas ideas a tu jefe.

1
1
1
2015-12-17 23:10:34 +0000

He trabajado como ingeniero/arquitecto de software durante más de 10 años, y puedo decir con certeza que nunca eliminarás todos los errores. El mejor consejo que puedo darle es determinar qué tareas son de mayor riesgo y tomar medidas para mitigar ese riesgo.

  1. La mayoría de las veces, enviar un correo electrónico a la persona equivocada no es gran cosa. No podría decirle cuántas veces he recibido un correo electrónico destinado a uno de los otros Jennings que trabajan aquí. Pero si envías un email que puede contener información sensible, siempre toma tiempo para comprobar los destinatarios y el contenido.
  2. Si estás escribiendo un documento importante, escribe una lista de verificación de lo que debe contener y comprueba el contenido antes de enviarlo. 3. Para desplegar las construcciones, siempre use un proceso automatizado e impleméntelo primero en un servidor secundario si es posible. Mi equipo despliega nuestros servicios de Ruby a un servidor secundario, prueba y luego cambia el servidor secundario al primario. Si hay algún problema en ese punto, siempre podemos volver al servidor antiguo. Si ninguna de estas cosas es posible, esto conlleva un riesgo mucho mayor, así que mi consejo es dedicar tiempo y atención extra a la tarea. Revisar doble y triplemente todo para cada paso que conlleve un alto nivel de riesgo.
  3. Para los errores en el código, asegúrate de que estás escribiendo buenas pruebas de unidad/integración que cubran los flujos de trabajo normales y los casos de borde. Es una buena idea asegurarse de que el proyecto en su conjunto tiene una cobertura de pruebas de unidad tan alta como sea posible para asegurar que si cambias algo que rompe algo más, una prueba de unidad fallará y atraparás el error temprano. Esto no atrapará todos los errores, pero es un buen comienzo. Una vez que el código esté listo para las pruebas de la caja negra, no sólo pruebes el flujo de trabajo que toca tu código, analiza qué otras partes del proyecto puede haber impactado tu código y prueba también esos flujos de trabajo. Las pruebas de la caja negra también deben cubrir tanto los casos normales como los casos de borde.

Fuera de esto, sólo diría que dediques más tiempo y atención a las tareas de mayor riesgo de lo que normalmente lo harías para las tareas del día a día.

0
0
0
2015-12-17 18:35:56 +0000

¿Qué tan bien documentados están los procesos que tiene? Por ejemplo, desplegar la compilación incorrecta en el servidor en vivo suena como que podría ser un error importante que debería ser minimizado teniendo chequeos redundantes para asegurar que la compilación X va al servidor Y mientras que el software puede tener errores en el código ya que las cosas pueden no ser capturadas tan fácilmente. Estaría tentado de crear soluciones y proponerlas al jefe para evitar algunos errores en el futuro. Ten en cuenta lo que puedes querer comprobar unas cuantas veces y lo que puede no ser tan bueno para hacer un montón de comprobaciones.

Desafortunadamente, eres humano y por lo tanto los errores ** sucederán. La perfección rara vez se alcanza ya que algunos de los llamados grandes del deporte fallaron el tiro ganador como Michael Jordan. Si quieres algunas terapias mira en la Terapia de Comportamiento Cognitivo, Terapia de Comportamiento Dialectal, así como la Terapia de Aceptación y Compromiso que se usaría para combatir el patrón de pensamiento negativo que tienes aquí de querer ser perfecto. Los errores ocurrirán, la clave es considerar cómo responder a ellos y cuán buena es su inteligencia emocional, ya que la autoconciencia y la autogestión podrían ser algo más a estudiar si quiere otra idea.


Para algo documentado, consideraría la actualización de la documentación y la adición de más comprobaciones que pueden ser útiles para las cosas importantes. En cierto modo, esto es similar a lo que sugieren las personas que sugieren esperar un puñado de segundos antes de corregir un correo electrónico que quieren enviar para que no tenga errores de escritura que pueden ser un consejo útil en algunos casos.

0
0
0
2015-12-17 19:20:28 +0000

En algunos casos estoy en el mismo barco que tú, pero soy de un origen diferente. Cuando presionamos código en vivo en mi antiguo trabajo, teníamos procesos automatizados en su lugar. En el nuevo trabajo, desafortunadamente no podemos poner un proceso automatizado. Como tal, extraño pequeños detalles aquí y allá que no deberían serlo. Mi jefe es mucho más amable al respecto, pero está decepcionado.

En cualquier caso, he mejorado asegurándome primero de escribir los pasos en un bloc de notas. Me aseguro de tener la lista de archivos que quiero subir, y la reviso dos veces antes de hacerlo. También tengo un procedimiento mental de lo que voy a hacer antes de hacerlo. Eso ayuda. Sólo finge que lo estás haciendo antes de hacerlo para asegurarte de que no olvidaste nada.

También me gustaría agregar que deberías hablar con tu gerente. Un cara a cara y explicarle que te gusta mejorar y resumir cómo te gustaría hacerlo. Explica que te faltan algunos pequeños detalles aquí y allá y que te gustaría mejorar. Tal vez él podría dar sugerencias, pero yo diría que si él está amenazando con despedirte por pequeños detalles, entonces eso es algo que tendrás que considerar y prepararte.