2017-04-21 15:18:48 +0000 2017-04-21 15:18:48 +0000
324
324

Jak poradzić sobie z problemem "pozostałych 30 minut"?

Jako programista często dochodzę do tego punktu, w którym pod koniec dnia kończę duże zadanie i mam jeszcze około 30 minut.

Problem polega na tym, że 30 minut to za mało czasu na zakodowanie czegokolwiek, a jeśli zacznę kodować już na samym początku zadania wiem, że będę miał trudności z kontynuowaniem go następnego dnia, tracąc przy tym kontekst i będę musiał ponownie przeczytać kod, co doprowadzi mnie do utraty czasu.

Ale żeby skupić się na problemie zawodowym, nie chcę tracić tyle czasu na pracę, a przebywanie tam bezczynnie przez 30 minut po prostu wydaje mi się absurdalne.

Jak poradzić sobie z problemem “30 minut do końca”?

EDIT : Aby wyjaśnić, dlaczego nie jest to duplikat, problem nie polega na tym, że “co robić, gdy systemy nie działają? ” lub “co robić, gdy nie mam nic do roboty? ”, ale na tym, że “co robić, gdy przyjedziesz pod koniec dnia i nie masz czasu na rozpoczęcie nowego zadania?”

Respostas (15)

456
456
456
2017-04-21 15:47:33 +0000

Jest mnóstwo opcji:

  • Sprawdź (odpowiednie) blogi/news/journale i przeczytaj co się dzieje w Twojej dziedzinie
  • Udokumentowanie tego co zrobiłeś w ciągu dnia
  • Zaplanowanie tego co musisz zrobić następnego dnia/tygodnia/miesiąca
  • Wróć do swojej poczty i w końcu naprawdę zdobądź informacje, które przegapiłeś przeskakując przez nią wcześniej
  • Sprawdź czy wykonałeś wszystkie “zadania organizacyjne”, a jeśli nie, zrób to. (Wyślij ten raport na swoje biurko do tego, kto powinien go przeczytać, rozpocznij tworzenie kopii zapasowej). …)
  • Wyczyść swoją białą tablicę/biurko/pulpit z wszystkiego, co się tam nagromadziło, ale straciło znaczenie trzy tygodnie temu
  • Zrobiłeś to wszystko? Jeszcze 30 minut? Wróć do kroku 1! (I, jesteś magikiem.)
328
328
328
2017-04-21 16:25:11 +0000

Oprócz zaplanowania dnia, posprzątania i po prostu wcześniejszego wyjazdu (aby nadrobić zaległości w innych godzinach), pozwól mi zasugerować coś, co prawdopodobnie wydaje się bardzo kontrowersyjne:

Spróbuj uniknąć zatrzymania się w “naturalnym punkcie zatrzymania”

Martwisz się, że jeśli dostaniesz pół godziny na zadanie kodowania, trudno będzie załadować kontekst, gdy wrócisz do niego następnego dnia. Ale moje doświadczenie jest dokładnie odwrotne. Powiedzmy, że masz zamiar napisać prostą funkcję. Wiesz, że będzie trochę inicjalizacji, pętla do przetwarzania wszystkich X w Y, i trochę czyszczenia. Dosłownie dodam plik do mojego projektu, zadeklaruję funkcję, dodam trzy komentarze (może pisząc dla lub podczas konstruowania wokół jednego z nich), a następnie – pójdę do domu.

Rano, kiedy wejdziesz, nie musisz pamiętać, co robiłeś lub sprawdzać swoich notatek – wszystko jest w porządku dla ciebie. Po co wracać do domu z pustą teczką, lub pustą kartką papieru, czekając na ciebie rano? Zamiast tego, przynajmniej napisz tytuł lub temat. Przynajmniej napisz nazwę funkcji. Jeśli masz napisać dokument, utwórz folder, utwórz pusty dokument o odpowiedniej nazwie i umieść tytuł dokumentu na górze pierwszej strony. Zastosuj arkusz stylów.

Rozpocznij pracę. Następnie wyjdź. Możesz być BARDZO mile zaskoczony - o wiele łatwiej jest zacząć, jeśli nie zatrzymałeś się w naturalnym punkcie zatrzymania. Start z tych punktów jest super łatwy.

W rzeczywistości jest to tak proste, że czasami używam jakiegoś wariantu tego, aby oszukać siebie w pracy nad czymś, nad czym nie chcę pracować. Po prostu robię część “startową” - robię nowy projekt, pusty folder lub cokolwiek innego. Robię plik nazywany zarysem i wklejam do niego zarys z poczty elektronicznej. Pobieranie specyfikacji lub notatek prasowych. Znalezienie linku do tego filmu, który muszę obejrzeć. Nic z tego nie liczy się jako praca nad tym, nad czym nie chcę pracować, tylko nad tym, co pozwoli mi naprawdę nad tym pracować, więc wykonuję te zadania bez oporów. A kiedy już je wykonam, okazuje się, że mój opór spada i jestem w stanie wykonać zadanie samodzielnie.

Spróbuj.

32
32
32
2017-04-21 15:23:24 +0000

Byłbym bardziej niż szczęśliwy, gdybyś wrócił do domu i nadrobił te 30 minut innego dnia. Jak mówisz, będziesz o wiele bardziej produktywny wykonując to, niż będziesz próbował zrobić 30 minut pracy, tracąc swój kontekst z dnia na dzień i próbując zrestartować się rano.

Ale ja i tak nigdy nie jestem lepszym kandydatem do pracy “9 do 5”. Twój pracodawca może być ~~ bardziej regresywny~~ w tej sprawie.

18
18
18
2017-04-21 15:30:11 +0000

Praktyka planowania i zapisywania tego. Nie można zakodować czegoś innego, ale zazwyczaj jest pewne planowanie, aby zakodować, że idzie dalej i jeśli zapiszesz go w tych 30 minut można przeczytać go w pierwszej kolejności następnego dnia i rozpocząć kodowanie. Jeśli przejdziesz przez jeden plan, po prostu zrób inny, tak abyś był przygotowany do nurkowania na kilku pozycjach, a nie tylko na jednym.

Poziom notatek na ten temat będzie zależał od Ciebie jako osoby i tego, co pomoże Ci najlepiej zapamiętać, ale celem jest zaplanowanie i wyartykułowanie w taki sposób, aby uruchomić pamięć o planowaniu i umieścić Cię z powrotem tam, gdzie byłeś wczoraj bez zbytniej straty myśli. Widziałem to robione w drucianej ramce komentarze do kodu, na papierze, notatki, edytory tekstu, zdjęcia na białej tablicy, itd… Znajdź to, co jest dla ciebie najlepsze.

12
12
12
2017-04-21 15:27:31 +0000

Jak poradzić sobie z problemem “30 minut do końca”?

Zdarza mi się to raz na jakiś czas, proponuję wykorzystać ten czas na swoją korzyść.

Używam tych niespodziewanych prezentów czasowych do badań nad nowymi technologiami, lub analizy mojego następnego zadania, lub odpowiadam/przeglądam pytania dotyczące przepełnienia stosu. Dużo się uczę tylko przeglądając nowe pytania i odpowiedzi.

Nie tylko siedź i udawaj, że jesteś zajęty. Dobrze wykorzystajcie ten czas!

11
11
11
2017-04-21 16:34:40 +0000

Jako deweloper nigdy nie skończysz.

Nawet jeśli nie możesz dodać nowej funkcjonalności do swojego kodu w pozostałym czasie, możesz (i powinieneś) refactor to:

  • ulepszanie nazw,
  • zmniejszanie duplikacji kodu,
  • dzielenie długich metod/funkcji/procedur na krótsze
  • przenoszenie metod/funkcji/procedur do nowych plików w celu zastosowania zasady SRP i/lub same poziomy abstrakcji.

i inne tego typu rzeczy.

Każde z tych zadań zajmuje kilka sekund dzięki wykorzystaniu możliwości automatycznego refaktoringu IDE. A Twój test jednostkowy zagwarantuje, że nie zmieniłeś zachowania aplikacji, tak jak jest ono obecnie realizowane.

A w mało prawdopodobnym przypadku złamałeś coś: sprawdź ostatni stan roboczy z Twojego SCM…

10
10
10
2017-04-21 19:13:39 +0000

Prowadzę “listę zamiatania” zadań, które przychodzą mi do głowy w trakcie pracy nad czymś innym - zadań, które są na tyle długie, że nie chcę od razu dygresować do pracy nad nimi (lub z jakiegoś innego powodu nie chcę zajmować się nimi od razu - jak na przykład “chcę, żeby to zobowiązanie zawierało tylko jedną logiczną zmianę”), ale na tyle krótkie, że nie zasługują na wszystkie koszty ogólne związane z normalnymi projektami. Za każdym razem, gdy napotykam na takie zadanie, zapisuję je na liście z dużą pomocą szczegółów - gdzie iść, co robić, kto może skorzystać i jak długo oczekuję, że to zajmie. Większość rzeczy na niej zawartych jest zbyt małych, aby uzyskać “oficjalne” zasoby, refaktory, które należy zrobić, testy jednostkowe, które należy napisać, itp., ale rzeczy, o które proszą mnie koledzy, gdy jestem w środku czegoś innego, również idą na tej samej liście (stąd “kto może skorzystać”).

Gdy mam resztki czasu, idę na tę listę i po prostu zaczynam wyciągać przypadkowe rzeczy. Każda pozycja jest niezależna i wysoce przewidywalna pod względem ilości czasu, jaki zajmuje, co czyni ją idealną do wciśnięcia, gdy mam 15 minut przed spotkaniem, 5 minut po ustawieniu się na rozmowę konferencyjną, itp. Ponadto, kiedy ktoś spóźnia się na spotkanie, nic nie czyni go szczęśliwszym, niż “Hej, myślałem o tobie, więc wcisnąłem się w tę cechę, o którą prosiłeś mnie pół roku temu, czyż to nie urocze?”. (I nic nie czyni mnie szczęśliwszym, niż nie siedzenie tam, myślenie, “Spotkania, nigdy nie zaczynaj na czas…”)

5
5
5
2017-04-21 22:13:25 +0000

Jak poradzić sobie z problemem “pozostałych 30 minut” ?

Zawsze poświęcałem ostatnie 30 minut każdego dnia na:

  • Sprzątanie pozostałych e-maili
  • Sprawdzanie i aktualizacja kalendarza
  • Przygotowywanie się do następnego dnia
  • Pakowanie wszystkiego, co potrzebne, aby zabrać ze sobą do domu (szczególnie, jeśli planowałem pracę w domu)

Są to rzeczy, które możesz rozważyć, jeśli często znajdziesz się z 30 nieplanowanymi minutami do stracenia na koniec dnia.

A gdybym faktycznie nie miał jeszcze żadnych wartościowych zajęć, po prostu bym odszedł.

2
2
2
2017-04-22 15:18:00 +0000

Rób niektóre z zadań, na które “nie ma czasu” dla

Istnieje wiele zadań, na które organizacja może uwierzyć, że “nie ma czasu”, ale które mogą stworzyć dług techniczny, jeśli pozostanie - testowanie czasami należy do tej kategorii.

Przekonywanie kierownictwa, że musi wydawać pieniądze na zadania, które pozwalają zaoszczędzić pieniądze w nieokreślonym czasie w przyszłości jest często trudne. Tym razem, jeśli oni narzekają, możesz zaznaczyć, że miałeś wolne 30 minut pod koniec dnia, i zaznaczyć, że znalazłeś X liczbę błędów.

Zbyt często programiści są zmuszani do szybszego kończenia spraw i nie ma wystarczającego nadzoru nad jakością.

Sprawdź, czy coś, co napisałeś ostatnio jest zrobione według specyfikacji - to zdarzyło mi się wczoraj. Ponownie przeczytałem część specyfikacji i zdałem sobie sprawę, że to nie było w porządku - spędziłem około 20 minut naprawiając to.

2
2
2
2017-04-21 15:30:53 +0000

Jeśli pracujesz co godzinę, wykorzystaj ten czas, aby wykonać kilka zajętych prac, takich jak dodawanie komentarzy i ogólne sprzątanie. Zazwyczaj używam też tych ostatnich około 30 minut, aby wysyłać maile, pisać raporty i wypełniać dzienniki pracy.

Jeśli nic innego, wybierz się na rejs “Stack Overflow” i wyglądaj na zajętego.

1
1
1
2017-04-22 16:11:07 +0000

Każde oprogramowanie o (niezbyt dużej) złożoności może być zawsze zrobione trochę lepiej.

Zrób swój kod trochę lepiej.

1
1
1
2017-04-21 15:33:01 +0000

Osobiście zdarza mi się to przez ostatnie 15-20 minut dnia.

Co mi pomaga, to planowanie następnego dnia (lub tygodnia) poprzez wymyślenie kilku elementów akcji, itp.

1
1
1
2017-04-21 21:48:27 +0000

Należy rozważyć podział czasu pracy na bloki, które są na tyle duże, że pozwalają na swobodną pracę w każdym bloku, ale nie są zbyt duże. Możesz pomyśleć, że arbitralnie duże bloki, które trwają tak długo, jak to konieczne do wykonania jakiegoś zadania, działają dla Ciebie dobrze, ale koncentracja cierpi po kilku godzinach nieprzerwanej pracy. Jeśli wyegzekwujesz przerwę po, powiedzmy 2,5 godziny, to możesz wypluć 9 godzinny dzień pracy (8 godzin pracy plus 1 godzinna przerwa) w 3 takich blokach z 20 minutowymi przerwami na kawę/lunch pomiędzy blokami i dodatkową 50 minutową przerwą na ćwiczenia.

Wtedy wyeliminujesz ten “problem z ostatnim półgodzinnym czasem pracy”, będzie tylko ostatni 2,5 godzinny blok, który będzie czuł się zupełnie inaczej niż Twoje obecne ostatnie godziny pracy. Jeśli jakieś zadanie zostanie ukończone w ciągu ostatniego bloku, będziesz miał dużo więcej energii na kontynuowanie innych zadań lub planowanie na następny dzień. Zaczynasz ten blok z większą ilością energii i na początku bloku prawdopodobnie będziesz wiedział, że skończysz z wyprzedzeniem, co sprawia, że jesteś bardziej skłonny myśleć pozytywnie o wykonaniu innej pracy po zakończeniu projektu.

Fakt, że nie jesteś teraz skłonny do tego, jest artefaktem “pracy do końca zadania”, która odprowadza energię mentalną; jeśli organizujesz swoją pracę jako długi maraton, to nie jest zaskoczeniem, że na końcu zadania czujesz się jak biegacz maratonu na mecie.

0
0
0
2017-04-22 08:03:48 +0000

Moja praca ma różne rodzaje pracy. Praca, która musi być wykonana dzisiaj. Praca, która musi być wykonana w tym tygodniu. Praca, która musi być wykonana w ciągu następnego półrocza.

Praca, która musi być wykonana w ciągu następnego półrocza składa się głównie z małych zadań menadżerskich z niewielką ilością “pracy umysłowej”. Są to rzeczy, które wykonuję w wolnym czasie pomiędzy większymi zadaniami. Są one miłymi wypełniaczami, które pozwalają mózgowi zrelaksować się pod koniec dnia pracy.

0
0
0
2017-04-22 15:22:12 +0000

Zastanów się. Chyba, że naprawdę masz rację na końcu pakietu pracy i “pozostało ci tylko jedno zadanie”, przejdź do innego zadania, które zabierze cię do końca dnia przed wejściem w sytuację “pozostało ci tylko 30 minut”.

Właściwie nie rozumiem dlaczego “30 minut to za mało czasu na zakodowanie czegokolwiek” - jeśli nie rozbijasz (lub nie możesz) swojej pracy na mniejsze kawałki, to nie brzmi to zbyt wydajnie, aby robić postępy. W rzeczywistości gdybyś użył techniki zarządzania czasem jak Pomodoro rozbijałbyś wszystkie swoje prace na 30-minutowe kawałki.