Nie zrobię dopóki nie zrozumiem

Jeżeli usiłuję pracować, ale co pięć minut opadają mi ręce, to znaczy że albo problem jest niewłaściwie postawiony albo próbuję go rozwiązać w niewłaściwy sposób.

Najbardziej deprymują mnie rzeczy powtarzalne. Jestem leniwy, to raz. Dwa, że nie potrafię zrobić tego samego dwukrotnie i się nie pomylić. Jeżeli jestem do czegoś zmotywowany, to najczęściej przez myśl, że przygotowany mechanizm będzie później wykonywał robotę za mnie.

Kolejna deprymująca rzecz to implementowanie czegoś, czego nie rozumiem, czegoś co nie posiada przejrzystej dla mnie struktury logicznej. Kiedy rozumiem zagadnienie, mogę wyprowadzić abstrakcje, uogólnić i zautomatyzować.

Jeżeli zadanie nie daje się przedstawić i rozwiązać w ten sposób, po prostu nie jestem w stanie go wykonać. Teoretycznie jest możliwe bezmyślne wykonanie wszystkich punktów po kolei… ale ja tego nie potrafię!

Dopiero koło północy zacząłem dostrzegać w moim zadaniu możliwe do uogólnienia, powtarzające się wzorce. Od razu zrobiłem zaczątek programu odzwierciedlającego strukturę którą dostrzegłem. Co za ulga!

  • Każde pojęcie będzie zdefiniowane jeden raz.
  • Jeżeli się pomylę, to pomylę się też tylko raz. Jeżeli błąd będzie dotyczył wszystkiego, poprawka tego błędu będzie również dotyczyć wszystkiego.
  • Jeżeli w którymś miejscu zadanie będzie wyłamywać się z ogólnego schematu, będę mógł się zastanowić czy to jest uzasadniony wyjątek, czy też może niekonsekwencja w specyfikacji, którą należy naprawić.

Gdyby szefostwo mi było wytłumaczyło, na czym polega istota zadania, zaoszczędziłbym cały dzień pracy. Widocznie pół godziny czasu szefa jest warte więcej niż mój cały dzień.