Z tego wpisu dowiesz się:
- czy perfekcjonizm w programowaniu jest zaletą?
- kim jest „wystarczająco dobry programista”?
- co może pomóc w przezwyciężeniu perfekcjonizmu?
Korzystanie z produktów stworzonych przez perfekcjonistów to czysta przyjemność. Dążenie do doskonałości jest warunkiem osiągania znakomitych rezultatów. I oczywiście nie ma w tym nic złego. Pod warunkiem, że wiemy, kiedy przestać. Czy perfekcjonizm jest rzeczywiście niezbędny do tego, aby być dobrym programistą?
W pogoni za ideałem
Jego mniej lub bardziej skrajną odmianę można spotkać niemal w każdym zespole IT. Programista – perfekcjonista. Nigdy nie chodzi na skróty. Zamiast czarowania i pustych słów woli rzetelną pracę. Ma obsesję na punkcie szczegółów. Do gotowego, wydawałoby się projektu, powraca w nieskończoność, poprawiając każdy jego fragment. Nieważne, że zajmuje mu to trzy razy więcej czasu niż pozostałym członkom teamu. Oczywiście nie zapomina również o dokumentacji. Stworzony przez perfekcjonistę kod nie tylko jest dobry, ale wręcz zachwyca. To sprawia, że Pan Doskonały nie należy do najbardziej lubianych współpracowników. Tym bardziej, że jest wyjątkowo krytyczny również dla cudzej pracy. Szefowie z kolei go uwielbiają. O ile nieustanne poprawki nie powodują przekraczania deadline’ów.
Wystarczająco dobry, czyli jaki?
Czy jednak nieustanne oczekiwanie od siebie spełniania najwyższych standardów i stawianie sobie niebotycznych poprzeczek, rzeczywiście jest zaletą? Czy perfekcjonizm to cecha, którą naprawdę warto chwalić się na rozmowie kwalifikacyjnej? Nie sposób zaprzeczyć temu, że perfekcjonizm przede wszystkim utrudnia życie. Co więcej, powoduje nie tylko szybszą utratę motywacji i zainteresowania zadaniem, ale również jest równią pochyłą prowadzącą do wypalenia zawodowego. Może zatem warto być po prostu wystarczająco dobrym. Tylko co to oznacza? Aby chronić się przed pułapką perfekcjonizmu, warto pamiętać, że nie musimy napisać najbardziej wydajnego kodu, jaki kiedykolwiek stworzono. Jeśli nie mamy przekonującego argumentu, aby myśleć że nasz kod nie jest dobry, kolejna poprawka prawdopodobnie nie wpłynie znacząco na jego jakość. Zwykle nie ma również potrzeby dokumentowania każdego, najmniejszego kroku zrobionego podczas programowania. Zanim zatem kolejny raz ulegniemy pokusie wprowadzenia „niezbędnej” poprawki, warto zapytać siebie:
- Czy zmiana ta rzeczywiście będzie miała znaczenie? Czy warto jej poświęcić czas i uwagę?
- Czy sprawi, że produkt będzie bardziej wartościowy dla użytkowników końcowych?
- Czy jest istotna z punktu widzenia naszych współpracowników lub szefa?
Oczywiście, nie chodzi o to, aby dostarczać kod złej jakości, zadanie sobie tych pytań uświadamia nam jednak, że zawsze mamy wybór, jak daleko posuniemy się w swoim dążeniu do doskonałości.
Perfekcjonizm, choć uważany za zaletę, bywa prawdziwym przekleństwem. Zwłaszcza w swojej skrajnej formie, kiedy długie godziny spędzone na poszukiwaniu idealnych rozwiązań sprawiają, że ukończenie jakiegokolwiek projektu stoi pod znakiem zapytania. Na szczęście można nauczyć się mówienia „stop” niekończącym się poprawkom. W końcu lepszy jest „tylko” dobry kod niż żaden.