Przejdź do treści
TimeRetain
Otwórz aplikację

Czas pracy programisty: własny rejestr

Zaktualizowano 5 minut Autor: David z TimeRetain

Miękka scena z gliny 3D: laptop z abstrakcyjnym edytorem kodu, minutnik, rozgałęziony diagram przypominający git, kubek i roślina na jasnym biurku.

Śledzenie czasu programisty może być osobistym zapisem własnych godzin. Nie potrzebujesz wtyczki do edytora ani programu robiącego zrzuty ekranu.

Rejestr może wyjaśnić, dlaczego krótkie zadanie zajęło tydzień. Potrafi też nazwać pracę lepiej niż „różne rzeczy” i zsumować spotkania.

Do czego służy zapis

Osobisty rejestr czasu może odpowiedzieć na cztery praktyczne pytania:

  1. Co rzeczywiście było robione w tygodniu? Przy ocenie okresowej masz datowaną listę, nie „praca nad platformą”.
  2. Ile naprawdę kosztuje zadanie? Porównaj szacunki z godzinami, aby zobaczyć pominięte części.
  3. Na co minął tydzień? Oddzielaj funkcje, debugowanie, przeglądy, spotkania i nieplanowane zadania poboczne. Suma spotkań daje konkret do rozmowy o konkurujących priorytetach. Wlicz przygotowanie, jeśli chcesz znać ich cały nakład.
  4. Co fakturować? Przy bezpośrednich rozliczeniach klient potrzebuje godzin z rozpoznawalnymi opisami.

Zachowaj prosty rejestr: nad czym była praca, dla kogo i jak długo.

Użyj ręcznego zapisu czasu z kilkoma szczegółami dla programisty.

Minimalny wpis

Niech wpis będzie dość mały, aby rzeczywiście go napisać:

PolePo co je zachować
Projekt lub klientProdukt, repozytorium lub klient, do którego należy praca
Początek i koniecRzeczywiste granice, nie długość wpisana z pamięci
NotatkaRezultat z numerem zgłoszenia lub nazwą gałęzi, jeśli istnieje
Status rozliczeniaTylko przy fakturowaniu; pracownik może pominąć

„PROJ-142: usunięty warunek wyścigu w procesie zakupowym” ma sens przy ocenie lub fakturze. „Kodowanie” nie.

Gdy wpis może trafić do klienta lub kierownika, nazwij rezultat ich słowami: co naprawiono, dostarczono lub przejrzano. Walkę z webpackiem zachowaj prywatnie.

Nie potrzebujesz drzewa zadań odwzorowującego system zgłoszeń.

Grupuj pracę projektu lub klienta, a debugowanie, przeglądy i spotkania oznaczaj do porównania między projektami.

W zwykły dzień wystarczy sama notatka.

Dzień zrozumiały za miesiąc

Hipotetyczny dzień:

DataPoczątekKoniecProjektNotatkaRodzajRazem
12 sie09:1010:40ZakupyPROJ-142: usunięty warunek wyścigu w procesie zakupowymDebugowanie1 godz. 30 min
12 sie10:4011:20ZakupyPrzegląd PR #418 o ponawianiu płatnościPrzegląd40 min
12 sie11:3012:20PlatformaPlanowanie sprintuSpotkania50 min
12 sie13:1514:10ZakupyDokumentacja przepływu płatności, czas szacunkowyBadania55 min

Ostatni wiersz to szacunek z notatek i kalendarza programisty. Późniejszy commit pomaga ustalić zadanie, ale nie długość sesji.

Mierz sesje, nie aktywność edytora

Historia IDE pozostawia dwie luki.

Po pierwsze, otwarty edytor nie dowodzi pracy, a zamknięty nie dowodzi odpoczynku. Dokumentacja biblioteki, szkic modelu danych na papierze i patrzenie w sufit do zrozumienia błędu są częścią zadania. Zapis ograniczony do edytora może je pominąć.

Po drugie, może brakować projektu lub celu. Nazwa repozytorium lub tytuł okna mogą wskazać projekt. Wspólna strona dokumentacji niekoniecznie powie, który klient potrzebował badań.

Przy brakujących opisach interpretujesz historię później. Wtedy automatyczny zapis wymaga twojej oceny.

Historia w tle może być zabezpieczeniem do późniejszego sklasyfikowania. Używaj jej do uzupełniania luk w rejestrze sesji.

Jednostką niech będzie sesja pracy. Zacznij pomiar przy zadaniu. Zatrzymaj przy zmianie zadania, spotkania lub klienta, a na przerwy włącz pauzę. Krótka notatka obok granic da kontekst do przeglądu.

Rejestr odpowiada na twoje pytania. Możesz oddzielić go od monitorowania stosowanego przez pracodawcę. W notatkach zapisuj tylko to, co pracodawca lub klient pozwala zapisywać poza swoimi systemami.

Odtwarzaj pominięte sesje na świeżo

Commit lub pull request może przypomnieć zadanie. Kalendarz i wiadomości mogą pomóc uzupełnić resztę.

Oszacuj z tych wskazówek sesję i oznacz ją jako szacunkową. Dwa commity oddalone o godzinę nie dowodzą godziny pracy. Pomiędzy mogła być przerwa lub inne zadanie.

Badania i debugowanie mogą nie pozostawić commita. Uwzględnij je, gdy pamiętasz, zamiast utożsamiać pracę ze zmianą kodu.

Jeśli nie da się odzyskać użytecznego szacunku, pozostaw długość nieznaną. Następną sesję zapisuj na bieżąco.

Przeglądaj szacunki z rzeczywistymi godzinami

Jeśli zapisujesz cały czas zadania, rejestr pozwala porównać go z szacunkiem.

Zapisz szacunek w zgłoszeniu, zmierz zadanie i porównaj. W podobnych zadaniach szukaj:

  • Miejsca na pominiętą pracę. Jeśli podobne poprawki stale wymagają przeglądu i testowania poza szacunkiem, dodaj ten czas następnym razem. Daj więcej niepewności nieznanej pracy.
  • Miejsca przekroczenia. Porównaj kodowanie, debugowanie, integrację, konfigurację środowiska i przegląd. Gdy pojawia się wzorzec, szacuj części osobno.

To działa również przy stałej cenie. Po zakończeniu podziel wynagrodzenie przez wszystkie godziny, aby zobaczyć przychód godzinowy przed kosztami. Użyj godzin do podobnego planu. Następną cenę możesz sprawdzić wobec kosztów i celu dochodowego, zamiast powtarzać uzyskaną stawkę.

Zapisuj debugowanie i poprawki dla klientów

Pomiń tę część, jeśli nie pracujesz dla klientów. Debugowanie i poprawki mogą zniknąć w ogólnym wpisie programowania.

Debugowanie. Zapisz sesję i rezultat: „Znaleziony i poprawiony błąd podwójnego webhooka w płatnościach” jest zrozumiały dla klienta.

Oddzielaj testowanie, debugowanie i poprawki, gdy pomaga to przeglądać pracę. Rejestr może zawierać czas niefakturowany.

Jasno oznacz poprawki do oceny ich godzin. Podział na pracę płatną i niepłatną pomaga w organizacji.

Ślepe zaułki. Konflikt zależności może zająć cztery godziny mimo krótkiego opisu zadania. Zapisz rzeczywistą długość i przeszkodę.

Jeśli faktura używa mniejszej liczby, zostaw cztery godziny we własnym rejestrze. Zmiana źródła na „może dwie” traci informację.

Zachowaj też pracę bez klienta. Oferty, faktury i nauka frameworka niezamówiona przez klienta zajmują ten sam tydzień, z którego rozliczasz godziny. Pominięcie ich zaniża nakład potrzebny firmie.

Gdzie pomaga TimeRetain

Rejestr programisty zawiera systemy, późne wieczory, rzeczywiste spotkania i, przy fakturach, nazwy klientów oraz stawki. Nie musisz go wysyłać, aby go zachować.

TimeRetain to ręczny stoper do rejestru na urządzeniu. Zobaczysz czas przeglądów, spotkań i debugowania oraz rezultaty sesji. Nic nie obserwuje IDE.

Przy fakturowaniu używaj notatek do wyjaśniania dostarczonej pracy. Nierozliczane poprawki zachowaj prywatnie do oceny rzeczywistego nakładu projektu.

Główny rejestr pozostaje na urządzeniu. Opcjonalna synchronizacja przechowuje zaszyfrowaną kopię na serwerach TimeRetain.

TimeRetain

Zachowaj tydzień, który potrafisz wyjaśnić. Zmierz następną sesję w TimeRetain.

Zacznij od tygodnia

Nie buduj systemu. Przez tydzień zapisuj rzeczywiste sesje: projekt lub klient, początek, koniec i krótką notatkę ze zgłoszeniem. Użyj git i notatek do oszacowania pominiętych sesji, póki dzień jest świeży. Zostaw luki, których nie potrafisz uzasadnić.

Przeczytaj zapis. Porównaj sumę spotkań z wrażeniem z tygodnia. Zestaw jedno lub dwa zadania z szacunkiem. Jeśli rejestr pomaga oceniać pracę lub przygotować fakturę, a wysiłek jest wart efektu, kontynuuj.

Pytania i odpowiedzi

Jak programiści zapisują czas?

Można uruchamiać stoper przy początku sesji, zatrzymywać przy zmianie i krótko nazywać rezultat. Ten sam zapis zmieści się w zeszycie lub arkuszu. Czytanie dokumentacji i zastanawianie się nad błędem też należą do pracy.

Jak odtworzyć pominięte godziny?

Traktuj commity git, pull requesty, uruchomienia CI i kalendarz jako wskazówki, nie dowód granic sesji. Odtworzony czas może być za długi lub za krótki, bo luki mogą obejmować przerwy, inną pracę lub badania bez commitów. Oznacz go jako szacunkowy, a przy słabych dowodach pozostaw długość nieznaną.

Czy programista powinien używać automatycznego zapisu?

Historia samego IDE może pomijać pracę poza edytorem i może nie mieć nazw klientów lub projektów. Automatyczny zapis może pomóc odzyskać pominięte sesje. Wybierz metodę łatwiejszą do wyjaśnienia i poprawienia.

Jak freelancer zapisuje debugowanie?

Zapisuj całą sesję i nazwij rezultat, nawet jeśli później zafakturujesz mniej. Poprawki zachowaj w prywatnym rejestrze, aby ocenić ich czas.

Czy pomiar czasu poprawia szacunki programisty?

Porównanie rzeczywistych godzin z pierwotnym szacunkiem może pokazać pominięte elementy. Użyj wzorców podobnych zadań do kolejnych szacunków, uwzględniając nieznaną pracę i zmienność.