Karpieniec

Po sytuacji z Nemo nikt nie zapuszczał się więcej na nieznane tereny. Stał się on idealnym pretekstem, aby zabraniać młodym pływania, gdzie tylko im się podoba, a w szczególności zbliżania się do powierzchni jeziora.

Karpieńce – bo to o nich mowa – to niewielkie rybki zamieszkujące małe, płytkie jezioro w rezerwacie Cuatro Ciénegas na północy Meksyku. Żyły już tam setki lat i nie zamierzały opuszczać tego miejsca. Wszędzie dobrze, ale w domu najlepiej – w domu, czyli pod kamieniem, takim zwykłym. Chyba że w domu nie jest do końca bezpiecznie…

Do powierzchni jeziora jest kilkanaście metrów, więc na jego dnie karpieńce czuły się bezpiecznie. Od czasu do czasu, gdy spoglądały w górę, widziały cień przelatującej czapli. Wiedziały doskonale, że nie jest to ptak, z którym mogłyby się zaprzyjaźnić. Do takich nigdy nie należą te, które próbują cię zjeść i dzień w dzień na ciebie polują, dzień w dzień liczą na to, że z jakiegoś powodu podpłyniesz do powierzchni, chociaż na chwilkę, by mogły wzbić się w powietrze i zanurkować błyskawicznie, nie dając ci tym samym żadnych szans na ucieczkę. Pierzaste fiuty.

Isaac, młodziutki karpieniec, jak co dzień o tej porze, zmierzał w stronę stołówki. Mieszkał w północno-wschodniej części jeziora, a pyszniutkie algi znajdowały się kilkaset metrów na południe. Troszkę musiał popływać, ale dobrze mu to robiło, szczególnie podczas powrotu – trochę ruchu zawsze pomagało pęcherzykom powietrza znaleźć ujście. Podczas tej krótkiej trasy mijał swych różnorodnych i kolorowych sąsiadów: brązowo złote ameki, białe molinezje, srebrne błyszczki tęczowe czy fioletowe niszczuki plamiste. Wiele innych gatunków zamieszkiwało dno jeziora, ale tylko te mniej więcej kojarzył. I to raczej z opowieści. Nie wiedział, czy naprawdę tak się nazywają. Może Jasper go wkręcał.

Gdy dotarł na miejsce, uczta trwała już w najlepsze. Setki karpieńców mieniących się w promieniach słońca, posilających się zielonym paliwem, źródłem ich życia. Południe – najlepszy czas na posiłek. Słońce jest wtedy wysoko i jezioro na dnie jest znakomicie oświetlone. Żadna alga nie uchowa się wtedy przed czujnym okiem karpieńców. Znalazł przyjaciół i podpłynął do nich uradowany.

– Cześć Isaac! Co tak późno? Jeszcze cię ciśnie po poprzedniej uczcie? Ha! Sporo wczoraj zjedliśmy tego skarbu! Jezioro dla ptactwa musiała wyglądać jak jacuzzi. Ha!
– Do mnie mówisz? Jesteś tego pewien Jasper? Do mnie mówisz?
– Dobrze, już dobrze Isaac, nie denerwuj się tak od razu. Zawsze bierzesz wszystko na poważnie, przecież to zwykłe żarty są.
– To był twój ostatni żart na mój temat. Rozumiemy się?
– Isaac, nie przesa…
– Rozumiemy się? – zapytał ponownie przerywając mu, po czym wysunął zza płetwy kawałek sznurka. Jasper zrozumiał i przytaknął głową przestraszony.

Jasper to zwykły konował. Nigdy nie odpuszczał okazji to publicznego wyśmiania Isaaca. Ten cierpliwie to znosił, ale do czasu. Pewnego razu nie wytrzymał i postanowił się odpłacić pięknym za nadobne. Związał mu sznurkiem płetwy i torturował tygodniami. Jasper od tego czasu wiedział, że gdy Isaac się nie śmieje, to trzeba się wycofać.

Przystąpili do posiłku. Jedzonko pyszniutkie jak zawsze, natomiast… strzelało w buzi nieco bardziej niż zwykle. Znacznie bardziej. Niepokoiło go to. Zjadł tyle co zawsze. Był głodny.

Po uczcie udał się z powrotem do domu. Czas na sjestę. Z reguły przed drzemką już pierwsze algi zostawały strawione, a strzelające bąbelki szczęśliwie próbowały wydostać się… tyłem. Tak, Isaac czekał na puszczenie bąka, który z jakiegoś powodu nie nadchodził. Zawsze puszczał już teraz, takiego kontrolnego, przed samą drzemką. Odczekał jeszcze chwilę, lecz gdy nadal nic się nie działo, zasnął.

Obudził go koszmar. Pływające czaple, bez pierza, z płetwami i oskrzelami, z ostrymi zębami, polujące pod wodą na karpieńce, smutek i zniszczenie, śmierć. Oddychał szybko. Wszystko wyglądało jak przed kilkoma godzinami. To tylko zły sen.

Czuł się dziwnie. Kręciło mu się w głowie. Resztę dnia spędził w okolicach domu, jakoś nieswojo. Miał złe przeczucia. Obserwował inne karpieńce, one też nie zachowywały się naturalnie, coś im dolegało. Czyżby algi z jakiegoś powodu tym razem im zaszkodziły? Dlaczego? Smakowały tak samo.

Zmierzającego kolejnego dnia na ucztę Isaaca spotkało kilka nietypowych sytuacji. Nie wiedzieć czemu, zderzył się kilkukrotnie z innymi karpieńcami – pokłócił się i nawet pobił z jednym z nich. Gdy biją się karpieńce, przegrany musi usługiwać wygranemu przez cały dzień. Isaac w porę zauważył pustą butelkę, lekko przysłoniętą żwirem i piaskiem, dobył jej, roztrzaskał o kamień trzymając za szyjkę, po czym ciął raz i drugi swojego przeciwnika. Ten szybko się poddał. Isaac z charakteru był spokojną, introwertyczną rybką, ale nie warto było mu wchodzić w drogę, a już na pewno złym pomysłem było przekraczanie jego strefy komfortu. Wpadał wtedy w szał. Tak więc Isaac płynął teraz za swym przeciwnikiem, w aerodynamicznym, wodnym tunelu, gdzie w ogóle się nie męczył. Zauważył, że Degory – bo tak nazywał się pobity karpieniec – również zbacza nieco z kursu, nie płynie prosto przed siebie. W pewnym momencie o mało co obaj nie wpadli na stół ze zdrową żywnością na targowisku nieopodal glonowiska. Coś było nie tak i to nie tylko z nim.

Ta uczta była inna niż wszystkie poprzednie. Cisza. Każda rybka zajmowała się sobą, zastanawiając się, co jej dolega, dlaczego traci kontrolę nad tak podstawową czynnością jak pływanie.

– Jasper, wszystko w porządku? – zapytał Isaac.
– Tak, tak! Ym… Chociaż nie do końca. Coś mi dolega, mam nabrzmiały brzuch i od wczoraj, wiesz… nie mogę… wiesz…

Isaac zupełnie nie zwrócił na to uwagi! Zapomniał kompletnie o tym, że wczoraj nie puścił bąka. Dzisiaj również nie, przynajmniej sobie o tym nie przypominał. Dotknął swojego brzucha i z przerażeniem stwierdził, że również jest nabrzmiały.

– Jasper, tak w ogóle, to dlaczego my, karpieńce, zawsze po posiłku, czy nawet przed posiłkiem, powinniśmy wiesz… puścić bąka?
– W sumie, to nie wiem, ale tak uczono naszych dziadków, naszych ojców i nas. Bąk zawsze musi być. W przeciwnym razie, czeka nas katastrofa.
– Nie pamiętam, co to za katastrofa. Czy ty również masz problemy z pływaniem?
– Tak! Wpadłem dzisiaj kilka razy na inne ryby! To pewnie przez ten brzuch i brak bąka. Nie wiem, jak go wymusić, to się dzieje samo. Przynajmniej działo się do wczoraj, a dzisiaj nic, nie potrafię.

Usłyszeli krzyk i obrócili się w tamtym kierunku. Jeden z karpieńców płynął w stronę powierzchni.

– Wariat! Co o on wyprawia?! – krzyknął Jasper. – Czaple go zauważą!

Krzyki się wzmagały. Kilkoro karpieńców podpłynęło, by pomóc, ściągnąć śmiałka z powrotem w dół. Złapali za płetwy i ogon i w pośpiechu ciągnęli go w bezpieczną przestrzeń. Tak! Uda im się! Szybko przemieszczali się coraz bliżej dna. Została im jeszcze całkiem spora odległość, ale czaple nie zdążą już na nich zapolować. Nawet jeżeli coś zauważyły, jakiś cień, nie zdążyłyby podlecieć na tyle szybko. Całe szczęście…

Zwolnili. Utracili siły? Śmiałek się szarpie? O co chodzi? Już tak niewiele im zostało. Czemu on prze w górę? Czemu chce zginąć? Ale co to? Odłączyli się. Nie trzymają już płetw ani ogona. Cała grupka płynie w górę. Nie widział dokładnie, ale tak jakby walczyli, tak jakby nie chcieli tam płynąć, przeciwstawiali się, ale coś ich unosiło. Krzątali się na wszystkie strony, próbowali ciągnąć w dół, ale nie potrafili.

Krzyki się wzmagały – już nie jeden, a troje karpieńców zmierzało w stronę zagłady. I kolejny! I jeszcze jeden! Powoli, coraz większe grupy zamieniały się w posiłek dla czapli.

– Isaac! – wołał Jasper, ale ten niczego nie słyszał, był zszokowany. – Isaac! Isaac rusz się! Złap się czegoś, póki jeszcze możesz!

Oprzytomniał, ale było już za późno. Znajdował się nad algami, powyżej czegokolwiek, czego mógłby się złapać, nie było już dla niego ratunku. Obserwował, jak Jasper woła do niego. Nie rozumiał słów, docierała do niego jedynie rozpacz, którą wyczuć można było w tonie jego głosu. Nie wiedział nawet, czy to głos Jaspera, czy innych karpieńców. Spoglądał na unoszące się ryby, jak przez mgłę, a pierwsze z nich, grupa trojga nieszczęśników już podpływała do powierzchni. To tylko kwestia czasu. Sekundy dzieliły ich od tragedii. W wodzie unosiły się pęcherzyki powietrza, koncert pękających bąbelków. Bąbelki? Jak to…

Nagle Isaac poczuł szarpnięcie. Oprzytomniał. To był Jasper! Złapał go za ogon i próbował sprowadzić z powrotem na dno. W jaki sposób odzyskał kontrolę? Dlaczego się nie unosił?

– Puść bąka! Szybko! To jedyna deska ratunku! Jeżeli zaraz tego nie zrobisz, zginiesz!

Ależ oczywiście! Bąk! To było to! Tylko…

– Jak? Jasper, jak to zrobić? Nigdy nie wymuszałem bąka!
– Isaac, dasz radę. Postaraj się. Ściśnij brzuch płetwami, pomogę ci!

Razem ściskali brzuch Isaaca. Inne karpieńce poszły w ich ślad. Niektórym się udało i puszczały bąka, inne znikały z powierzchni z rozpaczliwym krzykiem. Nie wszyscy byli w stanie się uratować. Nie wszyscy byli w stanie oszukać przeznaczenie. Isaac pogodził się już ze swoim losem.

– Jasper. To koniec. Ratuj siebie. Jesteśmy zbyt blisko powierzchni. Uciekaj. Mnie nie da się już ocalić.
– Nie! Isaac… nie. Wiele nas różniło, ale nie pozwolę ci zginąć.

Znajdowali się niecały metr od zasięgu wzroku czapli. Z tej odległości można było dostrzec przebijające tafle wody ostre, żółte dzioby, znikające ryby i krew, dużo krwi. Jaspera przeraził ten widok. Zszokowany puścił ogon Isaaca, a ten wystrzelił do góry jak z procy. Minęła krótka chwila, po której poczuł przeraźliwy ból i… wiatr. Tak, myślał, że to był wiatr. Nigdy wcześniej go nie czuł, znał go jedynie z opowieści, w które Jasper oczywiście mógł go wkręcać. Nie miało to teraz żadnego znaczenia. Jeszcze chwilę temu, gdyby tylko puścił bąka, żyłby nadal. Żyłyby inne karpieńce. Musieli puszczać bąki po posiłkach, by przeżyć. Teraz to rozumiał.

Całe stado czapli, latających i zanurzających swe dzioby w jeziorze, podrzucających sobie znajome ryby, jego przyjaciół, krzyki, krew. To ostatni obraz, jaki dany było zobaczyć Isaacowi.


Świat zwierząt jest fascynujący. To jak wyglądają, to jak się zachowują, dlaczego to robią, co chcą osiągnąć. Czasami wydaje nam się to absurdalne, czasami problemy, z którymi muszą się zmagać, na pierwszy rzut oka wydają nam się śmieszne, nie występujące w świecie ludzi. “Głupie zwierzątka” – myślimy sobie wtedy. Warto sięgnąć dalej, udać się na zaplecze naszego umysłu, stanąć przed barem o nazwie “Pierwsze dno – oczywistość”, oprzeć się łokciem o brudny blat i poprosić barmana: “Psst. Psssst! Słuchaj, czy mógłbyś mnie zabrać na zaplecze? Wiem, że macie stamtąd przejście do drugiego baru. Zabierz mnie tam proszę.”. Barman nieco skonsternowany na początku, ale zaraz później zadowolony i dumny z klienta, odwraca się i zmierza ku drzwiom. Otwiera je i wchodzi do środka, przystaje, odwraca się do nas i daje nam znać skinięciem głowy, żebyśmy poszli za nim. Wchodzimy, przechodzimy przez pokój pełen ludzi idąc wprost na kolorowe drzwi, całe w piórach, pachnące tysiącami zapachów. Barman łapie za gumową klamkę, która wydaje z siebie piszczący dźwięk. W pomieszczeniu świeci neonowy baner: “Drugie dno – nieoczywistość”.

Historia o karpieńcach jest prawdziwa. Te rybki istnieją naprawdę, mieszkają w Meksyku i giną, jeżeli nie puszczą bąka. Taka jest ich przykra rzeczywistość.

Jeżeli już jesteśmy przy barze numer dwa, przy barze z drugim dnem, to zastanówmy się, czego możemy się nauczyć z tej historii. Czy jest jakaś analogia pomiędzy światem IT, a karpieńcami? Ano jest.

Karpieńce systematycznie musiały puszczać bąki, ponieważ w przeciwnym razie mogły zginąć. Dzień czy kilka dni, w trakcie których ta systematyczność zostaje zaburzona i koniec, po nich, ginęły. Może nie wszystkie, ale znacznie trudniej było im puścić bąka, gdy ich brzuszki były już nabrzmiałe. Potrzebowały wtedy pomocy. Pojawiał się stres, zniechęcenie i strach.

A w świecie IT? W programowaniu? Czy mamy taką czynność, którą powinniśmy wykonywać systematycznie, a przez przerwanie której możemy zginąć? Czy jest taka czynność, która niepraktykowana przez jakiś czas, powoduje nabrzmiały brzuszek w projekcie, przez co zmierza on w stronę powierzchni, w stronę niebezpieczeństwa? Jest taka czynność. Refaktoryzacja.

Programiści, wzorem karpieńców, powinni często i systematycznie puszczać refaktoryzacyjne bąki i pozbywać się tym samym nieprzyjemnych zapachów z projektu.

Refaktoryzacja refaktoryzacji nierówna. Tak, jest to temat złożony. Rozwinę go w jednym z kolejnych wpisów, obiecuję. Ten wpis ma nam jedynie przypomnieć, abyśmy byli w niej systematyczni. Abyśmy rozmawiali o jakości kodu z naszym zespołem. Abyśmy umawiali się na sesje mob programmingowe, gdzie wspólnie rozwiązywalibyśmy problemy naszego projektu. Nie ma, że się nie da. Nie ma, że proces nam nie pozwala. Proces można zmienić. Zmienimy go, gdy nam zależy, bo gdy nam zależy, to reszta jest tylko kwestią czasu.

Mam zamiar dzisiaj w pracy puścić refaktoryzacyjnego bąka. I jutro też. I pojutrze. I za tydzień też. I za miesiąc.

A ty?