Als Entwickler komme ich oft an den Punkt, an dem ich am Ende des Tages eine große Aufgabe abschließe und noch ungefähr 30 Minuten vor mir habe.
Das Problem ist, dass 30 Minuten nicht genug Zeit für mich sind, um etwas zu programmieren, und wenn ich ganz am Anfang einer Aufgabe beginne, weiß ich, dass ich Schwierigkeiten haben werde, sie am nächsten Tag fortzusetzen, während ich den Kontext verliere und erneut lesen muss den Code, der dazu führen wird, dass ich Zeit verliere.
Aber um mich auf das berufliche Problem zu konzentrieren, ich möchte nicht so lange bei der Arbeit faulenzen und 30 Minuten lang nichts tun, scheint einfach absurd.
Wie gehe ich mit dem Problem „30 Minuten verbleibend“ um?
BEARBEITEN: Um zu erklären, warum es kein Duplikat ist, geht es nicht darum, "was zu tun ist, wenn die Systeme bei der Arbeit ausfallen? " oder " was tun, wenn ich nichts zu tun habe? ", sondern "was tun, wenn Sie in der Nähe ankommen bis zum Ende des Tages und haben keine Zeit, eine neue Aufgabe zu beginnen?"
Es gibt viele Möglichkeiten:
Lassen Sie mich nicht nur Ihren Tag planen, Dinge aufräumen und einfach früh aufbrechen (um das späte Bleiben zu anderen Zeiten auszugleichen), sondern etwas vorschlagen, das wahrscheinlich sehr kontraintuitiv erscheint:
Versuchen Sie zu vermeiden, an einem "natürlichen Haltepunkt" anzuhalten
Sie befürchten, dass es Ihnen nach einer halben Stunde Programmierarbeit schwer fallen wird, am nächsten Tag wieder Kontext zu laden. Aber meine Erfahrung ist genau das Gegenteil. Angenommen, Sie schreiben eine einfache Funktion. Sie wissen, dass es einige Initialisierungen, eine Schleife zur Verarbeitung aller X in Y und einige Aufräumarbeiten geben wird. Ich werde die Datei buchstäblich zu meinem Projekt hinzufügen, die Funktion deklarieren, drei Kommentare hinzufügen (vielleicht das For- oder While-Konstrukt um einen von ihnen schreiben) und dann - nach Hause gehen.
Am Morgen, wenn Sie einsteigen, müssen Sie sich nicht daran erinnern, was Sie getan haben, oder Ihre Notizen konsultieren – es ist alles für Sie da. Warum morgens mit einer leeren Akte oder einem leeren Blatt Papier nach Hause gehen? Schreiben Sie stattdessen zumindest einen Titel oder eine Betreffzeile. Schreiben Sie zumindest den Namen der Funktion. Wenn Sie ein Dokument schreiben sollen, erstellen Sie den Ordner, erstellen Sie ein leeres Dokument mit dem richtigen Namen und setzen Sie den Titel des Dokuments oben auf die erste Seite. Wenden Sie ein Stylesheet an.
Loslegen. Dann gehe. Sie werden SEHR angenehm überrascht sein – es ist viel einfacher anzufangen, wenn Sie nicht an einem natürlichen Haltepunkt anhalten. Das Starten von diesen Punkten ist super einfach.
Tatsächlich ist es so einfach, dass ich manchmal eine Variante davon verwende, um mich dazu zu bringen, an etwas zu arbeiten, an dem ich nicht arbeiten möchte. Ich mache nur den "Erste Schritte"-Teil - das Erstellen des neuen Projekts oder leeren Ordners oder was auch immer. Erstellen Sie eine Datei namens Gliederung und fügen Sie die Gliederung aus der E-Mail ein. Herunterladen der Spezifikation oder Versionshinweise. Ich finde den Link zu diesem Video, das ich mir ansehen muss. Nichts davon zählt wirklich als Arbeit an dem, woran ich nicht arbeiten möchte, es sind nur die ersten Schritte, die es mir ermöglichen würden, tatsächlich daran zu arbeiten, also mache ich diese Aufgaben ohne Widerstand. Und dann finde ich, wenn ich sie erledigt habe, dass mein Widerstand nachlässt und ich in der Lage bin, die Aufgabe selbst zu erledigen.
Versuch es.
Ich würde mich sehr freuen, wenn du nach Hause gehst und die 30 Minuten an einem anderen Tag nachholst. Wie Sie sagen, werden Sie damit viel produktiver sein, als zu versuchen, 30 Minuten Arbeit zu erledigen, Ihren Kontext über Nacht zu verlieren und zu versuchen, am Morgen neu zu starten.
Aber ich bin sowieso nie ein Verfechter des „9 to 5“-Jobs. Ihr Arbeitgeber kann diesbezüglich strenger regressiv sein.
Üben Sie die Planung und das Aufschreiben. Sie können nichts anderes codieren, aber es gibt normalerweise einige Planungen zum Codieren, die weitergehen, und wenn Sie es in diesen 30 Minuten aufschreiben, können Sie es am nächsten Tag als erstes lesen und mit dem Codieren beginnen. Wenn Sie einen Plan durchziehen, machen Sie einfach einen anderen, damit Sie bereit sind, sich mit ein paar Dingen zu beschäftigen, anstatt nur mit einem.
Die Anzahl der Notizen dazu hängt von Ihnen als Person ab und davon, was Ihnen am besten hilft, sich zu erinnern, aber das Ziel ist es, so zu planen und zu artikulieren, dass die Erinnerung an die Planung wachgerüttelt wird und Sie direkt dorthin zurückversetzt, wo Sie gestern ohne waren zu viel gedankenverlust. Ich habe gesehen, wie dies in Wireframe-Code-Kommentaren, auf Papier, Haftnotizen, Texteditoren, Whiteboard-Bildern usw. gemacht wurde. Finden Sie heraus, was für Sie am besten funktioniert.
Wie gehe ich mit dem Problem „30 Minuten verbleibend“ um?
Das passiert mir hin und wieder, ich schlage vor, Sie nutzen die Zeit zu Ihrem Vorteil.
Ich nutze diese unerwarteten Zeitgeschenke für die Erforschung neuer Technologien oder die Analyse meiner nächsten Aufgabe, oder ich beantworte/überprüfe Fragen zu Stack Overflow. Ich lerne viel, indem ich neue Fragen und Antworten durchgehe.
Sitzen Sie nicht einfach nur da und tun Sie so, als wären Sie beschäftigt. Nutzen Sie die Zeit gut!
Ich führe eine „Durchsuchungsliste“ von Aufgaben, die mir einfallen, während ich an etwas anderem arbeite – Aufgaben, die gerade lang genug sind, dass ich mich nicht gleich mit deren Bearbeitung beschäftigen möchte (oder die ich nicht möchte aus einem anderen Grund sofort angegangen werden müssen - wie "Ich möchte, dass dieser Commit nur eine logische Änderung enthält"), aber kurz genug, dass sie nicht den ganzen Overhead verdienen, der mit normalen Projekten verbunden ist. Wann immer ich auf eine Aufgabe wie diese stoße, kritzele ich sie mit einer großen Portion Detail auf die Liste – wohin ich gehen soll, was zu tun ist, wer davon profitieren könnte und wie lange ich davon aussehe, dass es dauern wird. Die meisten Dinge darauf sind Eckfälle, die zu unbedeutend sind, um "offizielle" Ressourcen zu erhalten, Refactorings, die durchgeführt werden sollten, Unit-Tests, die geschrieben werden sollten usw., aber Dinge, die mich meine Kollegen fragen, während ich mittendrin bin etwas anderes kommt ebenfalls auf dieselbe Liste (daher das "Wer könnte davon profitieren").
Wenn ich etwas Zeit übrig habe, gehe ich zur Liste und fange einfach an, zufällige Dinge zu ziehen. Jedes Element ist in sich abgeschlossen und in Bezug auf die benötigte Zeit sehr vorhersehbar, was es perfekt macht, wenn ich 15 Minuten vor einem Meeting, 5 Minuten nach dem Einrichten einer Telefonkonferenz usw. Zeit habe. Plus, wenn jemand zu spät zu einem Treffen kommt, macht sie nichts glücklicher als "Hey, ich habe an dich gedacht, also habe ich das Feature reingequetscht, um das du mich vor sechs Monaten gebeten hast, ist es nicht schön?" (Und nichts macht mich glücklicher, als nicht da zu sitzen und zu denken: „*&@$ Besprechungen beginnen nie pünktlich …“)
Als Entwickler ist man nie fertig.
Auch wenn Sie Ihrem Code in der verbleibenden Zeit keine neuen Funktionen hinzufügen können, können (und sollten) Sie ihn umgestalten :
und ähnliches Zeug.
Jede dieser Aufgaben dauert einige Sekunden, wenn Sie die automatisierten Refactoring-Funktionen Ihrer IDEs verwenden. Und Ihr Unittest garantiert, dass Sie das Anwendungsverhalten so, wie es derzeit implementiert ist, nicht geändert haben.
Und für den unwahrscheinlichen Fall, dass Sie etwas kaputt gemacht haben: Überprüfen Sie den letzten funktionierenden Zustand von Ihrem SCM ...
Wie gehe ich mit dem Problem „30 Minuten verbleibend“ um?
Die letzten 30 Minuten eines jeden Tages widme ich immer folgenden Dingen:
Dies sind Dinge, die Sie in Betracht ziehen könnten, wenn Sie am Ende des Tages oft 30 ungeplante Minuten übrig haben.
Und wenn ich tatsächlich keine sinnvollen Aktivitäten mehr hätte, würde ich einfach gehen.
Wenn Sie stündlich arbeiten, nutzen Sie die Zeit, um einige arbeitsintensive Arbeiten wie das Hinzufügen von Kommentaren und das allgemeine Aufräumen zu erledigen. Normalerweise nutze ich diese letzten 30 Minuten auch, um E-Mails zu senden, Berichte zu schreiben und Arbeitsprotokolle auszufüllen.
Wenn nichts anderes, fahren Sie mit Stack Overflow und sehen Sie beschäftigt aus.
Es gibt viele Aufgaben, für die ein Unternehmen glauben könnte, dass es "keine Zeit" gibt, die aber technische Schulden verursachen können, wenn sie nicht erledigt werden - Testen fällt manchmal in diese Kategorie.
Es ist oft schwierig, das Management davon zu überzeugen, dass es Geld für Aufgaben ausgeben muss, die zu einem unbestimmten Zeitpunkt in der Zukunft Geld sparen. Wenn sie sich dieses Mal beschweren, können Sie darauf hinweisen, dass Sie am Ende des Tages 30 Minuten Zeit hatten, und darauf hinweisen, dass Sie X Fehler gefunden haben.
Zu oft werden Entwickler unter Druck gesetzt, Dinge schneller fertigzustellen, und es gibt eine unzureichende Qualitätsaufsicht.
Überprüfen Sie, ob etwas, das Sie kürzlich geschrieben haben, den Spezifikationen entspricht - Das ist mir gestern passiert. Ich habe einen Teil der Spezifikation für etwas erneut gelesen und festgestellt, dass es nicht ganz richtig war - ich habe ungefähr 20 Minuten damit verbracht, das zu beheben.
Mir persönlich passiert das in den letzten 15-20 Minuten des Tages.
Was mir hilft, ist die Planung des nächsten Tages (oder der nächsten Woche), indem ich mir ein paar Aktionspunkte ausdenke usw.
Sie sollten erwägen, Ihre Arbeitszeit in Blöcke aufzuteilen, die groß genug sind, um innerhalb der einzelnen Blöcke frei arbeiten zu können, die aber nicht zu groß sind. Sie denken vielleicht, dass beliebig große Blöcke, die so lange halten, wie nötig, um eine Aufgabe zu erledigen, gut für Sie funktionieren, aber die Konzentration leidet nach ein paar Stunden ununterbrochener Arbeit. Wenn Sie eine Pause nach beispielsweise 2,5 Stunden erzwingen, können Sie einen 9-Stunden-Arbeitstag (8 Stunden Arbeit plus 1 Stunde Pause) in 3 solcher Blöcke mit 20-minütigen Kaffee- / Mittagspausen zwischen den Blöcken und zusätzlichen 50-Minuten-Übungspause aufteilen.
Sie werden dann dieses „Problem der letzten halben Stunde“ beseitigen, es wird immer nur einen letzten 2,5-Stunden-Block geben, der sich völlig anders anfühlen wird als Ihre aktuellen letzten Stunden bei der Arbeit. Wenn eine Aufgabe im letzten Block erledigt wird, haben Sie viel mehr Energie, um mit anderen Aufgaben fortzufahren oder für den nächsten Tag zu planen. Sie haben diesen Block mit mehr Energie begonnen und zu Beginn des Blocks werden Sie wahrscheinlich wissen, dass Sie vorzeitig fertig werden, was Sie eher dazu bringt, positiv darüber nachzudenken, nach Abschluss des Projekts andere Aufgaben zu erledigen .
Die Tatsache, dass Sie jetzt nicht geneigt sind, dies zu tun, ist ein Artefakt des „Arbeitens bis zum Ende einer Aufgabe“, das mentale Energie entzieht; Wenn Sie Ihre Arbeit als lange Marathons organisieren, ist es kein Wunder, dass Sie sich am Ende einer Aufgabe wie ein Marathonläufer im Ziel fühlen.
Jede Software über einer (nicht sehr hohen) Komplexität kann immer ein bisschen besser gemacht werden.
Machen Sie Ihren Code ein bisschen besser.
Mein Job hat verschiedene Arten von Arbeit. Arbeiten, die heute erledigt werden müssen. Arbeiten, die diese Woche erledigt werden müssen. Arbeiten, die innerhalb des nächsten halben Jahres erledigt werden müssen.
Die Arbeit, die im nächsten halben Jahr erledigt werden muss, besteht hauptsächlich aus kleinen Hilfsaufgaben mit wenig „Denkarbeit“. Das sind die Dinge, die ich in der Freizeit zwischen größeren Aufgaben mache. Sie sind nette Füllstoffe, damit sich Ihr Gehirn am Ende des Arbeitstages entspannen kann.
Denken Sie voraus. Wenn Sie nicht wirklich am Ende eines Arbeitspakets stehen und "nur noch eine Sache zu erledigen haben", wechseln Sie zu einer anderen Aufgabe, die Sie bis zum Ende des Tages bringen wird, bevor Sie in die "nur noch 30 Minuten verbleiben" kommen Lage.
Eigentlich verstehe ich nicht wirklich, warum "30 Minuten nicht genug Zeit für mich sind, um etwas zu programmieren" - wenn Sie Ihre Arbeit nicht in kleinere Stücke zerlegen (oder können), klingt es nicht sehr effiziente Art, Fortschritte zu machen. Wenn Sie eine Zeitmanagementtechnik wie Pomodoro verwenden , würden Sie Ihre gesamte Arbeit in 30-Minuten-Stücke aufteilen.
Soweit ich weiß, bleiben diese 30 Minuten nach all den Büro-/Verwaltungsaufgaben übrig.
Meiner Erfahrung nach nutze ich diese Zeit, um meine Gedankengänge und zukünftigen Funktionen, die ich plane, festzuhalten. möglichst anschaulich
Lilienthal
usr
Pavel
Paul D. Waite
Benutzer8036
Bootscoder
Benutzer207421
Mond
Mars
marxin
Andrea Lazzarotto
Fernseher1