Zauważyłem w sobie zachowanie, które nazywam „syndromem punktu zatrzymania”… oznacza to, że nie mogę przestać pracować, dopóki nie osiągnę „punktu zatrzymania” (lub wyczerpuję się). Innymi słowy, jeśli jestem w strefie i pracuję nad ukończeniem funkcji, nie przestanę, dopóki jej nie ukończę. Jeśli to błąd, nad którym pracuję, ten efekt jest jeszcze bardziej wyraźny ... Nie przestanę, dopóki nie zostanie naprawiony, a przynajmniej zrozumiany. Chociaż pracuję z laptopa i mam VPN i mogę łatwo wrócić do domu i odebrać pracę później tego wieczoru, fakt ten nie pomaga mi odejść z pracy ... to tak, jakbym się obawiał, że umrę, zanim znajdę błąd .
Bardzo trudno mi to wytłumaczyć członkom rodziny, którzy nie mogą zrozumieć, dlaczego nigdy nie wracam z pracy w tym samym czasie, a czasem wracam do domu o 23:00. Nawet menadżerowie byli tym zaskoczeni i zauważyłem, że większość moich kolegów nie ma problemów z pracą o tych samych godzinach każdego dnia.
Czy ktoś jeszcze ma ten problem? Czy powinienem się tym martwić i / lub spróbować to zmienić? Jeśli tak to jak?
Odpowiedzi:
Przytrafia mi się cały czas. Będziesz w strefie kodowania i zauważysz zegar ... czas wracać do domu, ale wtedy mówisz sobie: „cóż, jak tylko skończę X”. Następnie następną rzeczą, która się dzieje, jest ... „cóż, jak tylko ukończę X + Y”.
Aby temu przeciwdziałać, umieściłem w kodzie notatkę „ROZPOCZNIJ TUTAJ” i zostawiam post-it nad tym, nad czym pracowałem i jakimkolwiek kluczem, który był ważny, aby to zrobić.
Najważniejsze jest to, że programista we mnie UWIELBIA, kiedy to się dzieje, ale ważne jest, aby to zrównoważyć i nie pozwolić mu wymknąć się spod kontroli, szczególnie jeśli masz rodzinę.
źródło
Myślę, że jest to normalne zachowanie, tak samo tutaj, a najlepszym sposobem na poradzenie sobie z tym NIE jest rozpoczęcie nowego punktu pracy, jeśli nie wygląda na to, że można go ukończyć do czasu planowanego wyjazdu. Z pewnością masz wystarczająco dużo pracy, aby wypełnić te 50 minut, prawda?
źródło
Rzeczywiście to rozumiem. Mogę mieć obsesję na punkcie problemu przez całą noc, dopóki nie muszę się poddać, wyczerpany i sfrustrowany. Mgła Mózgu .
Zabawne jest to, że zwykle udaje mi się rozwiązać problem natychmiast po powrocie do pracy rano. Myślę, że to dlatego, że mój mózg działa znacznie lepiej po dobrym śnie.
Nauczyłem się z tego wszystkiego, że nie ma sensu pracować przez całą noc, ponieważ mózg jest wielokrotnie skuteczniejszy, gdy jest dobrze wypoczęty i energetyzowany. Przynajmniej dla mnie, ale podejrzewam, że dla wszystkich jest tak samo.
Zobacz także zrównoważone tempo i marsz śmierci .
źródło
programowanie, zwłaszcza debugowanie, zużywa dużo pamięci krótkotrwałej. zatrzymanie się przed zakończeniem czyszczenia pamięci podręcznej i marnowanie czasu na powrót do miejsca, w którym byłeś.
jest to więc naturalne, skuteczne i nie jest czymś, z kim można „walczyć” - choć należy to zaplanować.
jedną rzeczą, która pomaga, jest robienie notatek podczas pracy, a kiedy przestaniesz, zanotuj następną rzecz do zrobienia
źródło
Dziwię się, że o tym jeszcze nie wspomniano.
Jeśli musisz się zatrzymać, zatrzymaj zimnego indyka w linii środkowej, w środku czegoś łatwego i oczywistego. Twoje IDE prawdopodobnie umieści wszędzie czerwone i żółte linie, mówiąc, że wystąpił błąd, jest w porządku. Może zamieść krótki / * komentarz * / na temat przedmiotu, nad którym pracowałeś przed tym wierszem.
Zapisz swoją pracę i wyjdź.
Kiedy wrócisz następnego dnia, będziesz w stylu: „och, racja, byłem w środku X z powodu Y” i nie powinno być zbyt trudno wrócić do tego, nad czym pracowałeś.
Ostatnią rzeczą, nad którą pracowałem (drobna aplikacja hobbystyczna do użytku osobistego), zrobiłbym to, gdy zauważyłem upływające godziny, kiedy polowałem na błędy. Gdy będzie za późno, pomyślałem: „pieprzyć to” i zapisać i wyjść, błędy kompilacji będą przeklęte. Potem, gdy go ponownie otworzę, pomyślałem: „błędy? Wtf?! 1 /”, które zamieniłyby się w „och tak, próbowałem przetestować, dlaczego ta metoda zgłasza wyjątek”.
Był zaskakująco wydajny i od tej pory planuję używać tej techniki.
źródło
Jest to zdecydowanie bardzo wydajny sposób pracy, jeśli twoje życie kręci się wokół pracy.
Przeszedłem czas, kiedy miałem ten sam problem. Pracowałem cały czas i nie przestawałem, aż doszedłem do punktu, w którym wszystko było związane i mogłem usiąść następnym razem z całkowicie czystą tabliczką. Niestety, jeśli nie jest kontrolowany, może skrócić czas z rodziną, przyjaciółmi i innymi hobby.
Oto kilka wskazówek, które pomogły mi skoncentrować swój nawyk na czymś łatwiejszym do opanowania:
źródło
Kiedyś miałem małą aplikację, która uruchamiałaby ponownie komputer na zegarze. Ustawiłem to na czas, gdy miałem to zrobić. Uruchomienie komputera zajęło 5 minut, co wystarczyło do zakłócenia przepływu pracy, aby przekonać mnie do powrotu do domu. Połączyłem to z upewnieniem się, że moje życie poza pracą było tak pełne czynności, że trudno mi się zatrzymać, i chętnie zaczynam, tak jak moje życie zawodowe. Znalezienie takich działań wymagało trochę wysiłku, ale było warto.
źródło
Myślę, że czasami zdarza się to wszystkim programistom. Myślę, że jest to spowodowane strachem. Obawiaj się, że następnego dnia całkowicie zapomnisz, co robisz teraz. Następnie musiałbyś spędzić dużo czasu na przeglądaniu rzeczy, które już przeszedłeś, aby dowiedzieć się, co zostawiłeś na wpół zrobione. To jest bardzo nieefektywne. Z mojego doświadczenia wynika, że większość programistów nienawidzi nieefektywności.
Aby temu przeciwdziałać, zanotuj, gdzie jesteś i co robisz na następny dzień, a następnie przekupić się czymś, co nie jest w pracy, aby się poruszać.
źródło
Charakter programowania polega na pracy w dłuższym cyklu czasowym w porównaniu z tym, co robi większość innych ludzi.
Warstwa cegieł może nałożyć kolejną cegłę w ciągu minuty i może zatrzymać się w dowolnym momencie +/- jedną minutę i rozpocząć od miejsca, w którym praca została przerwana. Proste kroki, krótki cykl czasowy. W sprzedaży detalicznej jest to minuta lub dwie na klienta. Masażysta pracuje w cyklu czasowym trwającym godzinę lub dwie, a wszystko, co zostało zrobione rano, jest niezależne od umówionych spotkań popołudniowych. Klient może biegać z czasem lub pojawiać się wcześnie, ale uzasadnione jest oczekiwanie, że zostanie to zrobione w określonym czasie lub zajmie 10 lub 20 minut.
Latanie samolotem solo na całym świecie, aby ustanowić nowy rekord świata - to nie koniec i rozpoczęcie działalności. Lądowanie co godzinę lub dwie na przekąskę lub igraszki na plaży czyni to przedsięwzięcie znacznie mniej imponującym. Minimalny przyrost czasu to cała podróż, niezależnie od liczby dni.
Deweloperzy oprogramowania często rozpoczynają zadanie, gromadzą pamięć podręczną faktów i szczegółów, znajdują błąd lub sprawdzają, jak dodać nową funkcję i zachowują tę pamięć podręczną, dopóki nie skończą z kodowaniem. Nie możesz zatrzymać się na czas. Naturalny przyrost czasu, którego nie można zerwać bez strat, jest prawdopodobnie gdzieś od godziny do dziesięciu, YMMV, i istnieje kilka mniejszych słabszych punktów zatrzymania po drodze, w których tolerowana byłaby jakaś utrata pamięci podręcznej, a także duża punkty zatrzymania, w których zadanie jest naprawdę wykonane.
Oczywiście, nasze ciała męczą i trzeba tylko przestać, zanim wyrządzą więcej szkody niż pożytku. Może się przydać stare powiedzenie „śmierć jest sposobem natury, który każe ci zwalniać”.
źródło
Tak, ja też to mam. Cóż, w miarę jak się starzeję, jest mniej wyraźny.
Zauważyłem też, że pod koniec dnia i kiedy jestem zmęczony, popełniam więcej błędów. Po powrocie do pracy następnego dnia rozwiązanie staje się oczywiste i muszę przepisać mnóstwo kodu. Jednak zajmuje to ułamek czasu, tak jak poprzedniego dnia.
źródło
Miałem ten problem, dopóki nie dostałem psów (dwóch). Muszę być w domu do pewnego czasu lub posprzątać mocz, może nie być tym, czego szukasz, ale działa to jako silna motywacja. Zgadzam się również, że prawie zawsze uważam rozwiązanie za oczywiste rano.
źródło
Jeśli masz rodzinę, jest to oczywiste.
Jeśli wyjdę z pracy o 17:00, kod będzie dokładnie taki, jak go zostawiłem, kiedy jutro wrócę.
Jeśli wyjdę z pracy o 22:00, mój syn będzie już w łóżku, kiedy wrócę do domu, i nie przytulę go, ani nie będę widział, jak popisuje się rzeczami, których nauczył się tego dnia. A moja żona będzie zepsuta, ponieważ musiała pracować cały dzień bez pomocy.
Ale jeśli jesteś singlem i nie interesujesz się zbytnio „sceną społeczną”, zwariuj!
Pamiętaj jednak, że praca wykonywana o 21:00 będzie prawdopodobnie niższej jakości niż praca wykonywana o 9 rano. Nie lekceważ korzyści płynących z bycia wypoczętym i spokojnego umysłu.
źródło
Musisz to kontrolować. Wydaje mi się, że obecnie nie jesteś w stanie podzielić swojej pracy na łatwe do zarządzania części lub nie jesteś w stanie oszacować, ile czasu to zajmie. Więc pracujesz, aż to się skończy. Być może jesteś zbyt konkurencyjny lub boisz się, że Twoja praca nie zostanie wykonana na czas.
To błędne koło i na dłuższą metę nie pomoże. Może to prowadzić do wyczerpania, wypalenia zawodowego ...
Ćwicz więc dzielenie pracy na mniejsze, wykonalne zadania. Spróbuj oszacować, ile czasu zajmie każde zadanie. Żadne zadanie nie powinno trwać dłużej niż kilka godzin. Daj sobie dużo czasu, aby zrobić to dobrze. Daj sobie czas na przerwy. Daj sobie czas na zabawę, naukę, docenianie i doświadczanie innych aspektów życia zamiast programowania.
źródło
Mam punkt zatrzymania - około 1:30. Mogę wtedy nie zasnąć, ale nie ma mowy, żebym wykonał jakąkolwiek pracę. I nie będę nic wart następnego dnia, chyba że będę spał.
Nauczyłem się więc przestać pracować po 11 i iść spać. W ten sposób jestem świeży następnego dnia i mogę spokojnie pracować przez cały tydzień.
źródło
Myślę, że to natura programisty. Czasami konieczne może być wcześniejsze odejście przed rozpoczęciem pracy nad nowym problemem. Przy całym tym dodatkowym czasie nie musisz się czuć winny. Musisz więc uważać, aby nie myśleć o tym za dużo. Przygotuj się na rozwiązanie tego następnego dnia rano.
źródło
To wspaniałe, że lubisz swoją pracę. Ale to również bardzo smutne, że tak wielu ludzi żyje tutaj wokół pracy.
źródło
Nie, nie jesteś sam. Mam ten sam problem. Być może zechcesz sprawdzić odpowiedzi w podobnym pytaniu, które zadałem jakiś czas temu: Co zrobić, gdy programowanie stanie się problemem?
źródło
To naturalne, ale myślę, że należy z tym walczyć. Zazwyczaj przekraczam granice czasu, w którym generuję kod wysokiej jakości, i kończę rano dużo czasu na naprawianiu rzeczy, które wyglądały dobrze, gdy byłem zbyt zmęczony, aby myśleć prosto.
Zwykle potrafię powiedzieć, kiedy robię się irracjonalny, ale pomaga mieć kogoś, kto cię uderzy, jeśli nie posłuchasz znaków ostrzegawczych.
źródło
Tak, robię to cały czas.
Co ciekawe, najlepsi menedżerowie, z którymi pracowałem, byli zawsze gotowi powiedzieć mi, żebym poszedł do domu, kiedy to przesadziłem.
źródło