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

Wie höre ich auf, bei der Arbeit dumme Fehler zu machen?

Ich arbeite seit 3 Jahren als Software-Ingenieur in einer kleinen IT-Beratungsfirma. Ich versuche, ausgezeichnete Arbeit zu leisten, aber sehr unvorsichtige und dumme Fehler schleichen sich in meine Arbeit ein. Zum Beispiel, E-Mails an die falsche Person zu schicken, einen wichtigen Teil eines Berichts zu vergessen, den falschen Build auf einem Live-Server einzusetzen, wichtige Fehler im Code zu übersehen usw. Egal wie sehr ich versuche, Fehler zu vermeiden, ich mache sie trotzdem. Mein Manager bleibt wütend und sauer auf mich und sagt, dass er von einem erfahrenen Profi keine Dummheiten erwarten kann. Er hat mich gewarnt, dass er, wenn ich noch mehr Fehler mache, dem höheren Management vorschlagen wird, mich zu feuern/ersetzen.

Wie kann ich bei meiner Arbeit ausgezeichnet werden? Welche Werkzeuge/Methoden kann ich verwenden, um Fehler für immer zu eliminieren?

Antworten (8)

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

Drei Dinge werden Ihnen helfen, genauer zu sein:

  • verwenden Sie Checklisten und Verfahren (schreiben Sie Ihre eigenen) und befolgen Sie diese. Fügen Sie Schritte wie ‘Überprüfen Sie doppelt, welchen Server Sie anvisieren’ ein. Wenn die Folgen eines Fehlers sehr schwerwiegend sind, drucken Sie die Liste tatsächlich aus und haken Sie die Dinge mit einem Stift ab.
  • wenn Ihnen die Technik hilft, nehmen Sie sich einen Moment Zeit zum Überprüfen. Angenommen, Ihr E-Mail-Client füllt die An-Zeile aus, nachdem Sie den ersten Buchstaben eingegeben haben. Geben Sie nicht nur den Brief ein und klicken Sie auf Senden. Halten Sie inne und schauen Sie nach, was er ausgefüllt hat.
  • wenn Sie einen Fehler machen, fragen Sie sich, warum. Welchen Schritt haben Sie übersprungen? Was haben Sie nicht angeschaut? Warum sahen sich das Richtige und das Falsche so ähnlich? Wie könnte es einfacher sein, sicher zu sein, dass Sie es richtig machen? ** Aktualisieren Sie Ihr Verfahren mit dem, was Sie gerade gelernt haben.**

Im Laufe der Zeit werden Sie Gewohnheiten und Prozesse entwickeln, die sicherstellen, dass Sie die Dinge richtig machen. In der Tat ist das so ziemlich genau das, was Erfahrung ist.

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

Wie höre ich auf, bei der Arbeit dumme Fehler zu machen?

Sie haben ein Problem mit der Arbeitsqualität und brauchen ein System zur Fehlererkennung, um ein angemessenes Feedback zur Verbesserung/Entwicklung persönlicher Verfahren und Arbeitsgewohnheiten zu erhalten. Qualitätsverbesserung hat mit der Entwicklung von Mechanismen zur Entdeckung von Fehlern und deren Ursache zu tun, um dann einen Aktionsplan zu deren Korrektur zu entwickeln.

Schritt 1: Erkennen Sie, dass die Fehler nicht “dumm” sind - sie sind schwerwiegend. Möglicherweise verlieren Sie deshalb Ihren Job. Ich denke, ein großer Indikator für Ihr Problem ist, dass diese Dinge wie Dinge erscheinen, die leicht zu verhindern sind, und dennoch tun Sie sie immer noch. Wenn Sie sie jedoch nicht verhindern, haben Sie ein ernstes Problem.

Schritt 2: Verlangsamen. Allzu oft werden “Rockstar”-Programmierer und -Ingenieure als diejenigen angesehen, die sich schnell und wütend bewegen - nichts hält sie auf! Die Realität ist, dass sie nicht so sind. Es gibt Situationen, in denen das passiert, aber es gibt viele Situationen, in denen das nicht stimmt. Hören Sie auf, sich gehetzt zu fühlen, atmen Sie tief durch und verlangsamen Sie sich.

Schritt 3: Bevor Sie etwas “beenden”, halten Sie an und machen Sie eine Pause, dann kehren Sie zu ihm zurück und gehen Sie es noch einmal durch. Holen Sie sich einen Kaffee, lesen Sie eine E-Mail oder etwas anderes, das Sie nicht zu sehr ablenkt, um sich von der anstehenden Aufgabe abzulenken, damit Sie eine neue Perspektive haben, wenn Sie zu ihr zurückkehren. Vielleicht haben Sie das Gefühl, dass dies Ihre Produktivität verlangsamt oder verringert. Dieser Ansatz ermöglicht es Ihnen jedoch, Fehler frühzeitig zu bemerken, was wichtig ist, um produktiv zu sein. Bevor Sie also auf “Senden” klicken - lesen Sie eine weitere E-Mail oder überprüfen Sie den Status eines Servers oder so etwas. Hier geht es nicht nur darum, Code zu schreiben.

Schritt 4: Wenn Sie einen Fehler finden, beheben Sie ihn nicht einfach. Nehmen Sie sich einen Moment Zeit und versuchen Sie herauszufinden, warum der Fehler aufgetreten ist. Wohin eilen Sie? Fehler beim Kopieren/Einfügen? Verlassen Sie sich auf die Arbeit oder die Meinung eines anderen? Dies wird Ihnen helfen, sich der Fehlerursache zum Zeitpunkt des Auftretens besser bewusst zu werden. Später herauszufinden ist nicht sehr hilfreich, wie Sie wissen.

Schritt 5: Verfolgen Sie Ihren Fortschritt. Achten Sie auf den Nutzen Ihrer neuen Gewohnheiten und Praktiken. Behalten Sie ein Arbeitsblatt, um Fehler oder Probleme zu zählen, die Sie nach einer Pause gefunden haben. Notieren Sie auch, ob eine Entdeckung etwas verhindert hat, das Ihren Chef verärgert oder peinlich gewesen wäre. Dadurch entwickeln Sie Ihre Fähigkeit, die Akzeptanz Ihrer eigenen Arbeit selbst besser einzuschätzen und auch zu versuchen zu lernen, welche Gewohnheiten am effektivsten sind.

Schritt 6: Entwickeln Sie Verfahren und Checklisten (oder aktualisieren Sie bestehende), bei denen Sie sehen, dass sich aus Ihren obigen Beobachtungen Muster ergeben. Sie können nicht für alles Checklisten oder Verfahren entwickeln, also werden Sie nach einer Weile (oder sogar ziemlich schnell) Fehlermuster finden, bei denen Sie eine reproduzierbare Methode zur Vermeidung bestimmter Arten von Fehlern schaffen können. Dies ist nur für häufige Aufgaben nützlich, die komplex sind. Andernfalls werden Sie versucht sein, die Liste nicht zu überprüfen, sie nicht aktuell zu halten, oder Sie könnten mehr Listen und Verfahren erstellen, als Sie verwalten können, so dass sie veraltet und überholt sind - was möglicherweise zu mehr Fehlern führt.

Versuchen Sie verschiedene Ansätze, um herauszufinden, wo Ihre Fehler liegen, bevor sie zu Problemen werden. Während sich viele der Antworten hier auf die Entwicklung von Prozessen/Prozeduren/Checklisten (insbesondere im Bereich der Code-Entwicklung) konzentrieren, hat die Prämisse des “Qualitätsmanagements” oder der “Qualitätsverbesserung” mit der Fehlererkennung als Mittel zur Rückmeldung für die Prozessentwicklung und/oder -verbesserung zu tun. Man kann keinen “besseren” Prozess entwickeln, wenn man die Ursache der Fehler nicht kennt. Arbeiten Sie an der Entdeckung der Fehlerursache Höchstwahrscheinlich eilen Sie nur und “kontrollieren” Ihre Arbeit nicht doppelt. Dies sind einige Tipps, um ein langsameres Tempo produktiver zu machen.

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

Stellen Sie die Arbeit ein. Nur so kann man aufhören, Fehler zu machen.

Nein, im Ernst: Sie werden immer eine Reihe von Fehlern machen. Das gehört zum Menschsein (wovon ich sicher ausgehen kann). Jeder professionelle Entwickler wird ein Werk mit einer gewissen Anzahl von Fehlern produzieren, und das ist in Ordnung. Das ist der Grund dafür, dass wir Dinge wie testgetriebene Entwicklung, Unit Testing und Qualitätsabteilungen haben. Wenn Ihr Vorgesetzter beim ersten Durchgang eine fehlerfreie Software erwartet, dann haben Sie es nicht mit vernünftigen Erwartungen zu tun.

Davon abgesehen leben wir in einer Welt, in der wir nicht aufhören können zu arbeiten, nur weil Fehler passieren, also ergreifen wir Maßnahmen, um das Fehlerrisiko zu verringern. Ich arbeite in einem Fertigungsbetrieb, daher lautet das Schlagwort Poke-yoke (wörtlich japanisch für Fehlersicherung); es handelt sich dabei um einen automatisierten Prozess, der menschliche Fehler ausschließen soll. Das bedeutet Automatisierung. Ich empfehle definitiv den Übergang zu einem automatisierten Build-Prozess für den Einsatz von Software in der Produktion. Das erfordert die Beteiligung von mehr als nur einem einzelnen Entwickler, aber es lohnt sich, so weit wie möglich zu gehen.

Wo Sie nicht automatisieren können, nehmen Sie sich Zeit. Viele Fehler lassen sich vermeiden, wenn man sich Zeit nimmt, um sie zu überprüfen, bevor man eine Aktion ausführt. Nehmen Sie sich eine Minute Zeit, um Ihren Code durchzusehen, bevor Sie Änderungen committen. Verbringen Sie die zusätzliche Minute damit, E-Mails durchzusehen, bevor Sie die verhängnisvolle Schaltfläche Senden drücken.

Schliesslich scheuen Sie sich nicht, um Hilfe zu bitten. Als Entwickler ist eine meiner ersten Vorgehensweisen, wenn ich einen Fehler gefunden habe, einen vertrauenswürdigen Mitarbeiter zu bitten, einen Blick darauf zu werfen. Ein frisches Augenpaar kann alle Arten von Problemen sehen, die Sie unbewusst herausgefiltert haben. Und wenn Sie keinen vertrauenswürdigen Mitarbeiter haben, suchen Sie sich einen neuen Job; es klingt so, als wären Sie ein Junior-/Mittelstufen-Entwickler und bräuchten ein Unterstützungssystem, um als Entwickler zu wachsen. Andere Softwareentwickler zu haben, von denen Sie Ideen abprallen lassen können, ist kein optionaler Teil Ihrer Entwicklung als professioneller Softwareentwickler.

Kurz gesagt: Automatisieren Sie, wo es möglich ist, nehmen Sie sich Zeit, wenn es nicht möglich ist, und scheuen Sie sich nicht, um Hilfe zu bitten.

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

Nein, Sie werden Fehler nicht eliminieren. Aber die wichtigsten werden Sie vielleicht auffangen können. Es ist wichtig, sich bewusst zu sein, was man tut, und nach Möglichkeiten zu suchen, es sicherer zu machen.

Risikoreiche Unternehmungen identifizieren. Man kann nicht jede Sekunde des Tages auf der Hut sein - aber jeder macht den ganzen Tag lang winzige Fehler. Die meisten Fehler lassen sich mühelos beheben, also werden Sie besser darin, zu merken, wenn etwas auf eine Art und Weise schief gehen könnte, die sich nicht so leicht beheben lässt. Jede Kommunikation mit einem Kunden, jeder Einsatz an einem Standort, jede globale Änderung an einem Dokument, usw.

Frage was Sie tun. Verstehen Sie, was Sie tun, warum und wie Sie es tun? Kann dies sicherer gemacht werden? Sind Sie sicher, dass es besser ist, es zu tun, als es nicht zu tun?

Pause bevor Sie mit riskanten Unternehmungen fortfahren. Senden Sie keine E-Mail, ohne Empfänger, Betreff, Inhalt und Anhänge zu prüfen. Einer nach dem anderen. Lassen Sie sich Zeit. Wenn Sie einen Kostenvoranschlag für Kunde A an Kunde B senden, könnten Sie beide Kunden verlieren. Es ist besser, etwa eine Minute oder so damit zu verbringen, es durchzugehen. Lassen Sie sich nicht zur Eile verleiten, auch nicht im “Notfall”.

Haben Sie einen Wiederherstellungsplan. Wissen Sie im Voraus, was Sie tun werden, wenn etwas schief geht. Bereiten Sie sich so vor, dass Sie, falls Sie Ihren Fehler korrigieren müssen, dies schnell - aber ohne Eile - tun können. Wie werden Sie wissen, ob Sie etwas falsch gemacht haben? Gibt es eine Möglichkeit, es früher herauszufinden?

Dokument alles, was viele Schritte hat. Wenn Sie eine Dokumentation haben, folgen Sie ihr wie einer Checkliste, damit Sie erkennen können, ob sie gut genug ist oder ob sie veraltet, unvollständig oder fehlerhaft ist. Selbst wenn Sie es nur einmal machen - bevor Sie Ihren Bericht schreiben, schreiben Sie eine Liste mit allen Dingen, die hinein müssen.

Verfolgen Sie die To-Dos besonders, wenn Vergessen ein Problem ist. Alles, was Sie im Moment tun müssen und nicht tun, sollte dort hineingehen. Verfolgen Sie alle an einem Ort und gehen Sie zurück zu Ihrer Aufgabenliste. Verlassen Sie sich nicht darauf, dass Post-it-Notizen zusammengefaltet und in Ihrer Gesäßtasche verstaut sind.

Automatisieren wo immer möglich. Wenn Sie eine Liste mit fünf Dingen haben, die Sie eintippen müssen, können Sie dann ein Programm schreiben, das diese fünf Dinge tut, und dann haben Sie nur eine Sache, die Sie falsch machen können? Wenn Sie Software herstellen, können Sie dann automatische Tests durchführen, um festzustellen, wann Sie Fehler einführen? Streben Sie eine 100%ige Abdeckung an? Testen Sie mit dem Ziel, Ihren Code zu knacken? Haben Sie eine kontinuierliche Integration, so dass Sie sich keine Sorgen darüber machen müssen, dass Sie das Ausführen von Tests vergessen?

Eine zweite Meinung einholen, wenn Sie etwas Riskantes tun, das Sie nicht verifizieren können und von dem Sie sich nicht leicht erholen können. Es ist eine gängige Praxis bei Software, dass Code immer von jemand anderem getestet wird, bevor er akzeptiert wird.

Lernen. Jeder gemachte Fehler ist eine Gelegenheit, den Prozess zu überarbeiten.

Sorgen Sie sich um sich selbst. Nehmen Sie sich tagsüber Zeit, um Ihren Geist zu klären und ein paar Minuten der Stille oder Entspannung zu genießen. Vor der Arbeit, nach der Arbeit, in der Mittagspause usw. Schlafen Sie ausreichend. Essen Sie regelmäßig und gesund.

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

Sie werden natürlich nie perfekt sein, aber es gibt Möglichkeiten, die Genauigkeit zu verbessern. Am besten ist es meiner Meinung nach, zusätzliche Verfahren einzuführen, die nicht nur eine doppelte Kontrolle der eigenen Arbeit darstellen, denn Menschen sind natürlich anfällig für kleine Fehler. Es ist nicht sehr wahrscheinlich, dass man solche Dinge einfach durch “vorsichtiger sein” oder “doppelte Kontrolle” auffängt, also ist schon der Versuch, das zu versuchen, ein Scheitern. Einige konkrete Vorschläge:

  1. Tests der Einheit. Bei ordnungsgemäßen Unit-Tests führen Sie bei jeder Änderung am Code die Tests für alles durch, und das wird für Sie doppelt prüfen, ob Sie nicht versehentlich einen Fehler eingeführt haben.

  2. Besseres Bereitstellungsverfahren. Führen Sie die Bereitstellung zuerst auf einem Staging-Server durch, indem Sie genau die Befehle verwenden, die Sie auch für prod verwenden würden, und überprüfen Sie dort die korrekte Bereitstellung, bevor Sie zur Produktion übergehen.

  3. Abgesehen von Unit-Tests sollten Sie bei jeder Bereitstellung Zeit einplanen, damit Sie, wenn Sie glauben, dass Sie fertig sind, Ihren Build durchgehen und so viel wie möglich davon noch einmal selbst testen können. Testen Sie nicht nur die Bereiche, von denen Sie glauben, dass Sie sich geändert haben.

Wann immer Sie einen Fehler machen, versuchen Sie, sich Lösungen in dieser Richtung auszudenken, Vorkehrungen gegen natürliche menschliche Fehler zu treffen und diese Ideen Ihrem Chef vorzustellen.

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

Ich arbeite seit über 10 Jahren als Software-Ingenieur/Architekt, und ich kann mit Sicherheit sagen, dass Sie niemals alle Fehler beseitigen werden. Der beste Rat, den ich Ihnen geben kann, ist zu bestimmen, welche Aufgaben mit dem höchsten Risiko verbunden sind, und Schritte zu unternehmen, um dieses Risiko zu mindern.

  1. Meistens ist es keine große Sache, eine E-Mail an die falsche Person zu schicken. Ich kann Ihnen gar nicht sagen, wie oft ich schon eine E-Mail erhalten habe, die für einen der anderen Jennings bestimmt war, die hier arbeiten. Aber wenn Sie eine E-Mail versenden, die möglicherweise sensible Informationen enthält, sollten Sie sich immer Zeit nehmen, die Empfänger und den Inhalt doppelt zu überprüfen.
  2. Wenn Sie ein wichtiges Dokument schreiben, schreiben Sie eine Checkliste/eine Skizze, was darin enthalten sein muss, und überprüfen Sie den Inhalt vor dem Absenden doppelt.
  3. Verwenden Sie für die Bereitstellung von Builds immer einen automatisierten Prozess und stellen Sie diese nach Möglichkeit zuerst auf einem sekundären Server bereit. Mein Team stellt unsere Ruby-Dienste auf einem Sekundärserver bereit, testet sie und schaltet den Sekundärserver dann auf den Primärserver um. Wenn es zu diesem Zeitpunkt Probleme gibt, können wir jederzeit einfach auf den alten Server zurückschalten. Wenn beides nicht möglich ist, ist dies mit einem viel höheren Risiko verbunden, daher rate ich Ihnen, mehr Zeit und Aufmerksamkeit auf diese Aufgabe zu verwenden. Prüfen Sie bei jedem Schritt, der ein hohes Risiko birgt, alles doppelt und dreifach.
  4. Stellen Sie bei Fehlern im Code sicher, dass Sie gute Unit-/Integrationstests schreiben, die normale Arbeitsabläufe und Randfälle abdecken. Es ist eine gute Idee, sicherzustellen, dass das Projekt als Ganzes eine möglichst hohe Unit-Test-Abdeckung hat, um sicherzustellen, dass ein Unit-Test fehlschlägt, wenn Sie etwas ändern, das etwas anderes kaputt macht, und Sie den Fehler frühzeitig erkennen. Dies wird nicht alle Fehler auffangen, ist aber ein guter Anfang. Wenn der Code für Blackbox-Tests bereit ist, testen Sie nicht nur den Arbeitsablauf, den Ihr Code berührt, sondern analysieren Sie auch, welche anderen Teile des Projekts Ihr Code beeinflusst haben könnte, und testen Sie diese Arbeitsabläufe ebenfalls. Blackbox-Tests sollten auch sowohl normale als auch Randfälle abdecken.

Abgesehen davon würde ich einfach sagen, dass Sie mehr Zeit und Aufmerksamkeit auf Aufgaben mit höherem Risiko verwenden sollten, als Sie es normalerweise für alltägliche Aufgaben tun würden.

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

Wie gut sind die Prozesse, die Sie haben, dokumentiert? Wenn zum Beispiel ein falscher Build auf dem Live-Server eingesetzt wird, könnte es sich um einen großen Fehler handeln, der durch redundante Überprüfungen minimiert werden sollte, um sicherzustellen, dass Build X zum Server Y geht, während Software durchaus Fehler im Code haben kann, da die Dinge nicht so leicht abgefangen werden können. Ich wäre versucht, Lösungen zu schaffen und sie dem Chef vorzuschlagen, damit einige Fehler in Zukunft vermieden werden können. Seien Sie sich darüber im Klaren, was Sie vielleicht ein paar Mal überprüfen wollen und was vielleicht nicht so toll ist, um einen Haufen Überprüfungen durchzuführen.

Leider sind Sie ein Mensch, und deshalb werden Fehler werden passieren. Perfektion wird selten erreicht, da mehr als ein paar der so genannten Großen im Sport wie Michael Jordan den Siegestreffer im Spiel verpasst haben. Wenn Sie einige Therapien wünschen, dann sehen Sie sich die Kognitive Verhaltenstherapie, die Dialektale Verhaltenstherapie sowie die Akzeptanz- und Bindungstherapie an, mit denen Sie das negative Denkmuster bekämpfen können, das Sie hier haben, nämlich perfekt sein zu wollen. Fehler werden passieren, der Schlüssel dazu ist zu überlegen, wie Sie auf sie reagieren und wie gut Ihre emotionale Intelligenz ist, denn Selbstbewusstsein und Selbstmanagement könnten etwas anderes sein, das Sie studieren sollten, wenn Sie eine andere Idee haben wollen.


Für etwas dokumentiertes würde ich eine Aktualisierung der Dokumentation in Betracht ziehen und weitere Überprüfungen hinzufügen, die für die wichtigen Dinge nützlich sein könnten. In gewisser Weise ist das so ähnlich wie Leute, die vorschlagen würden, vor dem Korrekturlesen einer E-Mail, die Sie versenden wollen, eine Handvoll Sekunden zu warten, damit sie keine Tippfehler enthält, die in manchen Fällen ein nützlicher Tipp sein können.

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

In einigen Fällen sitze ich im gleichen Boot wie Sie, aber ich komme aus einem anderen Umfeld. Als wir in meinem alten Job Code live schrieben, hatten wir automatisierte Prozesse. Beim neuen Job können wir leider keine automatisierten Prozesse einführen. Daher vermisse ich hier und da winzige Details, die es nicht geben sollte. Mein Vorgesetzter ist zwar viel netter, aber enttäuscht darüber.

Auf jeden Fall habe ich mich verbessert, indem ich zunächst dafür gesorgt habe, dass ich Schritte auf einem Notizblock aufschreibe. Ich stelle sicher, dass ich die Liste der Dateien habe, die ich hochschieben möchte, und überprüfe sie vorher noch einmal. Ich habe auch eine mentale Prozedur dessen, was ich tun werde, bevor ich es tue. Das hilft. Tun Sie einfach so, als würden Sie es tun, bevor Sie es tun, um sicherzugehen, dass Sie nichts vergessen haben.

Ich möchte noch hinzufügen, dass Sie sich an Ihren Vorgesetzten wenden sollten. Eins-zu-eins und erklären Sie, wie Sie sich verbessern möchten, und umreißen Sie, wie Sie es tun möchten. Erklären Sie, dass Ihnen hier und da ein paar kleine Details fehlen und Sie sich verbessern möchten. Vielleicht könnte er Vorschläge machen, aber ich würde sagen, wenn er damit droht, Sie wegen kleiner Details zu entlassen, dann ist das etwas, was Sie sich überlegen und darauf vorbereiten müssen.