Świadome upraszczanie życia

6 min. czytania1227 słów

Po co właściwie robimy sobie pod górkę?

Często wybieramy trudniejsze rozwiązania nie dlatego, że są lepsze, tylko dlatego, że wydają się bardziej wartościowe, dają poczucie kontroli albo są wytwarzane przez społeczność, z którą się identyfikujemy.

Łatwiejsze nie znaczy gorsze

Nie znaczy gorsze, a nawet często jest lepsze.

Prostsze rozwiązania są szerzej znane, łatwiejsze do zrozumienia i szybsze do wdrożenia. Złożone rozwiązania mogą być imponujące, ale często są trudniejsze do utrzymania i bardziej podatne na błędy.

Na przykład Next.js do dashboardu to overkill, wystarczy prosty serwer Express i frontend React. Nie potrzebujesz Nexta, jeśli nie potrzebujesz SEO, BFF, SSR.

Iluzja kontroli i strach przed uproszczeniem

Ręczne robienie wszystkiego daje poczucie kontroli, ale często jest to iluzoryczne. Automatyzacja i uproszczenie tworzą przewidywalne, powtarzalne procesy, które są bardziej niezawodne i mniej podatne na błędy.

Przykład z życia: skrypty środowiskowe, które automatyzują konfigurację, są często postrzegane jako “magia”, ale w rzeczywistości są po prostu narzędziami, które oszczędzają czas i redukują błędy.

Bare minimum zależy od bańki

To, co jest standardem w jednej grupie, w innej może być armatą na muchy. Problem zaczyna się, gdy traktujesz normy środowiska jako obiektywną prawdę.

Przykładowo, środowisko redditowych Linuxiarzy: Bardzo zmodyfikowany system, mnóstwo narzędzi, Arch, tmux, nvim, i3, custom prompt. Dla nich to minimum, ale dla większości ludzi to już przesada.

Zastanów się, czy wybierasz narzędzia dla efektu, czy dla efektywności. Używasz nvim + tmux, bo w poprzedniej firmie usłyszałeś, że tak robią “prawdziwi devowie”, mimo że szybciej pracowałbyś w VS Code. Wybór nie wynika z efektywności, tylko z tego, jak chcesz być postrzegany.

Te narzędzia nie są złe same w sobie, ale złe jest bezkrytyczne kopiowanie rozwiązań, które są skomplikowane i niepotrzebne dla Twojego przypadku.

Pułapka czasu i bezpieczeństwa

Upraszczanie to nie tylko kwestia wygody, ale też oszczędności czasu i redukcji ryzyka. Im bardziej skomplikowane rozwiązanie, tym więcej czasu spędzasz na jego konfiguracji, utrzymaniu i rozwiązywaniu problemów. To czas, który mógłbyś poświęcić na rozwijanie umiejętności, budowanie projektów czy odpoczynek.

1. Prawo Parkinsona

„Praca rozszerza się tak, aby wypełnić czas dostępny na jej wykonanie.”

Im więcej czasu poświęcasz na skomplikowane rozwiązania, tym więcej czasu one zajmują, nawet jeśli nie są bardziej efektywne.

Przykład: Zamiast postawić prosty backend w Expressie w jeden dzień, rozbijasz projekt na mikroserwisy, konfigurujesz Docker, CI/CD i monitoring, mimo że projekt tego nie wymaga.

2. Prawo Murphy’ego

„Jeśli coś może pójść źle, pójdzie źle.”

Im bardziej skomplikowane rozwiązanie, tym większe ryzyko, że coś pójdzie nie tak. Prostsze rozwiązania są mniej podatne na błędy i łatwiejsze do naprawienia.

Przykład: Projekt oparty o mało popularne narzędzia bez dokumentacji. Kiedy coś przestaje działać, spędzasz godziny na debugowaniu, bo nikt wcześniej nie miał tego problemu.

3. Bus Factor

Bus Factor to wskaźnik, który mierzy, ile osób musi “odejść”, aby projekt przestał być funkcjonalny.

Im większy Bus Factor, tym jesteśmy bezpieczniejsi.

  • Bus Factor 1: Tylko jedna osoba zna kluczowe aspekty projektu. Jeśli ta osoba odejdzie, projekt może się załamać.
  • Bus Factor 2-3: Kilka osób zna kluczowe aspekty, ale nadal istnieje ryzyko, że odejście jednej z nich spowoduje problemy.
  • Bus Factor 4+: Więcej osób zna kluczowe aspekty, co zwiększa bezpieczeństwo projektu.

Przykład: Jeden developer stworzył customowy system builda i deploya. Działa świetnie, dopóki ta osoba jest w projekcie. Kiedy znika, nikt nie wie, jak to utrzymać.

Pozytywna neutralność

Zamiast automatycznie angażować się emocjonalnie w każdą sytuację, relację czy konflikt, spróbuj przyjąć postawę obserwatora. Nie zakładaj od razu złej intencji, ale też nie przypisuj komuś nadmiernego znaczenia bez powodu.

Reaguj świadomie, a nie impulsywnie. Nie musisz wybierać strony, jeśli sytuacja tego nie wymaga. Możesz wyrażać własne zdanie bez wchodzenia w obozy i bez budowania niepotrzebnych napięć. Dystans nie oznacza obojętności, tylko kontrolę nad własną reakcją.

Znaj swoje priorytety

Twoja uwaga i czas są ograniczone zasobami, dlatego warto nimi zarządzać jak kapitałem. Nie każda sprawa wymaga reakcji, a nie każda okazja zasługuje na zaangażowanie.

Zanim zareagujesz, zapytaj siebie, czy dana rzecz realnie przybliża Cię do Twoich celów. Skupienie przynosi efekty, a rozproszenie je spowalnia. Wybieraj świadomie to, co ma znaczenie, zamiast odpowiadać na każdy bodziec.

Twarde stawianie „NIE” bez tłumaczeń

Masz prawo odmawiać bez konieczności uzasadniania swojej decyzji. Krótka, spokojna odmowa jest wystarczająca i nie wymaga dodatkowych wyjaśnień.

Nie musisz wchodzić w zobowiązania, które nie są zgodne z Twoimi celami lub wartościami. Nie przejmuj odpowiedzialności za oczekiwania innych ludzi. Każda decyzja należy do Ciebie i nie wymaga aprobaty z zewnątrz.

Niepalenie mostów i mobilność zamiast lojalności

Nawet jeśli decydujesz się odejść z relacji, projektu czy środowiska, warto robić to w sposób neutralny lub uprzejmy. Emocje są chwilowe, a sytuacje i ludzie mogą się jeszcze pojawić w przyszłości.

Zachowanie podstawowej kultury i spokoju kosztuje niewiele, a może przynieść długoterminowe korzyści. Relacje mają pamięć, dlatego nie warto zamykać sobie drzwi w sposób, którego później możesz żałować.

Nie przywiązuj się na siłę do miejsc, które przestają być dla Ciebie wartościowe. Jeśli pojawia się lepsza opcja, zmiana kierunku jest naturalnym krokiem, a nie porażką. To, co działało wcześniej, nie musi działać dziś. Twoja ścieżka nie jest statyczna i możesz ją korygować w zależności od tego, gdzie jesteś i dokąd zmierzasz. Decyzje podejmuj w oparciu o aktualne warunki, nie tylko o sentyment.

Działanie w ciszy

Nie musisz ogłaszać swoich planów, zanim staną się rzeczywistością. Skup się na wykonaniu, a nie na deklaracjach.

Mówienie o tym, co zamierzasz zrobić, często rozprasza i obniża motywację do działania. Ograniczenie zewnętrznych opinii pomaga utrzymać koncentrację i lepszą kontrolę nad procesem. Efekty obronią się same.

Uniwersalna prostota

Jeśli konfiguracja prostego projektu zajmuje nowej osobie 4 godziny, to nie jest to proste rozwiązanie. Prostota powinna być obiektywna. Jeśli Twój proces jest skomplikowany, uprość go dla innych poprzez:

  • Jasną dokumentację,
  • Skrypty one-click,
  • Gotowe obrazy Dockerowe (tam, gdzie to ma sens).

Wybieram to, co działa

Kiedyś myślałem, że muszę używać „edgy” narzędzi, by być traktowanym poważnie. Dziś stawiam na standardy:

  • Przeglądarka: Zamiast niszowych forków Firefoxa - Chrome. Popularność to nie wada; to ekosystem i wsparcie.
  • System: Zamiast dual-boota z Linuxem - Windows + WSL2. Mniej „cool”, ale o 100% mniej problemów z konfiguracją sprzętu. Używam Linuksa do serwerów, ale nie potrzebuję go na desktopie.
  • Zasada YAGNI (You Aren’t Gonna Need It): Nie dodawaj funkcji, dopóki nie są niezbędne.

Zastosowałem kiedyś Dockera do developmentu prostej apki w Node.js tylko dlatego, że wydawało się to „profesjonalne”. Efekt? Wolniejsze przeładowywanie kodu i problemy z uprawnieniami. Wystarczył Docker na produkcji, a lokalnie - zwykły npm run dev.

Morał: Wybieraj nudne, ale sprawdzone rozwiązania. To one działają, mają dokumentację i tysiące ludzi, którzy już rozwiązali Twoje problemy. “Ciekawe” rozwiązania często oznaczają, że będziesz rozwiązywał je sam.

Czy łatwiejsze rozwiązanie nie zemści się później?

Warto zastanowić się, czy łatwiejsze rozwiązanie nie będzie miało negatywnych konsekwencji w przyszłości. Czasami proste rozwiązania mogą być mniej skalowalne, mniej elastyczne lub mniej bezpieczne. Jednak często te obawy są przesadzone i wynikają z lęku przed zmianą lub z przywiązania do skomplikowanych rozwiązań.

Gdzie warto iść pod górkę

Są sytuacje, w których warto iść pod górkę, np. gdy uczysz się nowej technologii, gdy chcesz zrozumieć, jak coś działa od podstaw, lub gdy chcesz mieć pełną kontrolę nad swoim środowiskiem. Nawet w tych sytuacjach warto zachować zdrowy rozsądek i nie przesadzać z komplikowaniem rzeczy.

Podsumowanie

Na końcu dnia nie chodzi o to, żeby robić rzeczy najprościej.

Chodzi o to, żeby nie robić ich trudniej, niż to konieczne.