Programowanie to świetna zabawa – przynajmniej tak się mówi na początku. Prawda jest taka, że często nauka (zwłaszcza ta samodzielna) przypomina błądzenie po labiryncie ze zawiązanymi oczami. Właśnie o tym chciałbym dzisiaj pogadać: o nadinterpretacji i nauce rzeczy kompletnie zbędnych, które sprawiają, że można utknąć w kodzie na dobre.
Piszemy więcej, niż nam kazano
Znasz to uczucie? Dostajesz proste zadanie – coś, co można zakodować w najprostszy możliwy sposób. Wtedy Twój mózg wpada na genialny (czyt. szalony) pomysł: „Hej, a może by tak zrobić z tego coś naprawdę skomplikowanego?” I tak oto, zamiast napisać funkcję, która zwraca liczbę 42, nagle zaczynasz budować system do obliczania trajektorii lotu rakiety. To trochę jakbyś korzystał z GPS-a, żeby trafić do własnej kuchni.
W świecie programistów to tzw. overengineering. To sytuacja, w której rozwiązujesz prosty problem w sposób nieproporcjonalnie skomplikowany, dodając zbędne warstwy, funkcje i inne “bajery”, które nie są potrzebne do osiągnięcia celu. Podczas nauki wpadam w tę pułapkę na każdym kroku.
Efekt? Często kod tak skomplikowany, że sam nie wiem, jak go odczytać.
Dlaczego tak komplikujemy sobie życie?
Taki sposób myślenia często wynika z chęci bycia „idealnym” programistą, który od razu chce stosować wszystkie zaawansowane techniki i narzędzia. Problem polega na tym, że na początku nauki taka nadgorliwość może przynieść więcej szkody niż pożytku. Zamiast prostego, czytelnego kodu, tworzysz coś zbyt skomplikowanego, co nie tylko trudniej zrozumieć, ale i utrzymać w przyszłości. Warto pamiętać, że najprostsze rozwiązania są często tymi najlepszymi, zwłaszcza na wczesnym etapie nauki.
Nauka rzeczy niepotrzebnych, czyli jak stracić 10 godzin życia
Kolejny problem to nauka zagadnień, które na Twoim aktualnym etapie zaawansowania są po prostu zbędne. Wiele osób mówi: „Ucz się sam, wszystko, czego potrzebujesz, jest w internecie.” Niby racja, ale bez doświadczenia trudno jest ocenić, co naprawdę jest istotne, a co można odłożyć na później. Wiedzy do przyswojenia jest mnóstwo, a Ty możesz utknąć na czytaniu o czymś, co w najbliższym czasie w ogóle ci się nie przyda. Ale oczywiście myślisz, że to akurat ważne...
I co się dzieje? Po kilku godzinach spędzonych na przeglądaniu dokumentacji nagle zdajesz sobie sprawę, że to chyba jeszcze nie ten moment i mogłeś ten czas lepiej spożytkować. No ale niestety, Ty w tym czasie zgłębiałeś szczegóły obsługi promu kosmicznego, mimo że jeszcze nigdy nie byłeś w powietrzu.
Dlaczego wsparcie jest takie ważne?
W tym momencie wchodzi mentor, cały na biało, i mówi: „Człowieku, po co Ty się tym teraz zajmujesz? Skup się na podstawach!”.
Ja tak dostaję po tyłku raz za razem. Ale wiesz co? To naprawdę działa. Wszyscy mówią, że najlepiej uczyć się samemu, ale czasem nie ma nic lepszego niż ktoś, kto wskaże ci właściwą drogę i pomoże uniknąć ślepych uliczek.