Zadziwiająco łatwo wpadamy w samozachwyty, gdy uda się nam coś pięknego wypracować. Gdy znajdujemy rozwiązanie skomplikowanego problemu, gdy tworzymy dobrze działający system. W życiu wielu programistów to właśnie drugi projekt okazywał się wielkim fiaskiem. Dlaczego?
Odpowiedź jest tyle prosta, co i przykra. Po pierwszym wielkim sukcesie, upojeni swoim geniuszem… przestajemy uważać. Lekceważymy wszystkich naszych wrogów: i tymczasowe rozwiązania, i pominięcie standardów kodowania, i brak dokumentacji. Wyda się nam, że już wszystko możemy, zaciągamy dług za długiem i bankrutujemy, gdy dochodzi do prób wejścia live z aplikacją (czyli uruchomienia jej już).
Inną odsłoną zbytniej pewności siebie jest problem jednego młotka – gdy już raz udało nam się wypracować rozwiązanie, stosujemy je gdzie się da bez namysłu. To fajnie, że umiemy używać młotka, ale żadni z nach fachowcy, jeśli nie potrafimy dobrać narzędzia do problemu i posłużyć się czasem czymś innym niż dzika moc zawieszona na trzonku. Nie, młotek zdecydowanie nie jest najlepszym rozwiązaniem. A nawet nie zawsze najprostszym.
Programowanie wymaga pokory. Wymaga ciągłego poszukiwania, pochylania się, kwestionowania własnych rozwiązań. Czasem, po wielu dniach czy tygodniach zastanawiania się, odnajdujemy rozwiązanie tak proste, że aż wstyd przyznać się, że tak łatwo było to coś zrobić. Czy na pewno wstyd? Łatwiej nie znaczy gorzej, popatrzcie: