Każdy programista, raz na jakiś czas, ma idealny dzień. Budzisz się na 5 minut przed budzikiem, czując się świetnie. Śniadanie jest przygotowywane i na blacie, wraz ze świeżą kawą, więc możesz coś złapać i wyjść za drzwi. Podczas dojeżdżania do pracy uderzasz każdym zielonym światłem, a ruch wydaje się być szczególnie lekki. Biorąc pod uwagę dzień przed Tobą, jesteś w stanie w pełni zrozumieć projekt i konsekwencje zadania przed Tobą, które zostało dobrze zaplanowane z określonymi wymaganiami.
Wchodzisz do pracy i okazuje się, że nie masz żadnych ważnych wiadomości e-mail, nie czekasz na wiadomości głosowe, a twoi współpracownicy są poza domem lub na spotkaniach, na których nie musisz uczestniczyć. Odpalasz edytor i od razu znajdujesz się w strefie, możesz poczuć strukturę kodu i zobaczyć, jak struktury danych i algorytmy pasują do siebie w pięknej i spójnej całości. Myśli przepływają przez dłonie do klawiatury, wprowadzając idealnie ukształtowany kod, który jest elegancki, łatwy w utrzymaniu i nie zawiera błędu.
W ciągu dnia, w którym pracujesz bez zakłóceń, w biurze jest cicho i jesteś tak skoncentrowany, że nigdy nie masz ochoty tracić czasu na nadrobienie wiadomości, blogów itp. Gdy kompilujesz i uruchamiasz testy, okazuje się, że wszystko działa bez żadnych problemów, oczywiście, że wiedziałeś, że to zrobi, a pod koniec dnia popełniasz konflikty. Patrząc na zegar, gdy wychodzisz, zdajesz sobie sprawę, że poświęciłeś 12 godzin i poczułeś się jak krótka 20 minutowa sesja kodowania.
Tego dnia, tego idealnego dnia, zakładamy, że będziemy mieli za każdym razem, gdy będziemy musieli cokolwiek oszacować.