jQuery rządzi. Nie, Angular rządzi. Nie, React rządzi.

jQuery rządzi. Nie, Angular rządzi. Nie, React rządzi.

Jak spośród otaczających nas gigabajtów informacji wybierać najbardziej wartościowe porady i dobre praktyki? Opierać się na trendach? Chwilowej modzie? Brać to, co jest “na fali”? A może lepiej podejść do takiego problemu na zimno?

Wiem, że nic nie wiem

Do nauki programowania trzeba podchodzić z pokorą – ktoś mądry nazwał kiedyś takie podejście “wiem, że nic nie wiem”. Albo inaczej – coś tam wiem, ale sprawdzę, czy nie można lepiej.

Być może właśnie zaczynasz nowy projekt i szukasz nowej, “dobrej” technologii. Albo prowadzisz swój zespół i chciałbyś się doszkolić w tematach “dobrych” metodologii. Możesz poprowadzić rozwój aplikacji w trzech różniących się od siebie kierunkach ale szukasz tego “dobrego”.

Z pozoru banał, prawda? Co jakiś czas w danym obszarze zmienia się najpopularniejszy framework, języki programowania zyskują i tracą na popularności, a kolejne kawałki “dobrego” kodu zalewają fora programistyczne. Każde dziecko wie, że Scrum jest najlepszy a jQuery jest be. Wszyscy wszystko wiedzą. Wydawałoby się, że “dobre” przepisy na życie programisty są z góry ustalone i zdefiniowane od A do Z – nic tylko słuchać kolejnych porad, skracać czas potrzebny na analizę do minimum i robić, robić, robić!

Na szczęście świat nie jest tak kolorowy i wciąż zostawia nam sporo miejsca na myślenie.

Kontekst jest najważniejszy

Zastanów się, jak wygląda miejsce wokół ciebie. Pokój w którym się znajdujesz, dom i miejscowość w której mieszkasz. Teraz zbierz kilka najważniejszych “dobrych praktyk” odnośnie życia w twojej okolicy i wyjedź do innego kraju. Najlepiej, jeśli będzie to zwrot o 180 stopni w porównaniu do miejsca w którym żyłeś do tej pory. Podejdź do losowej osoby na ulicy i staraj się ją przekonać do prawd które poznałeś u siebie.

Pierwsza bariera która przychodzi mi do głowy – język. Druga – kultura. Trzecia – otoczenie w którym żyjesz. Jest spora szansa, że dobre praktyki zebrane w twoim kraju nijak będą się mieć do życia po drugiej stronie kuli ziemskiej.

Z wyszukiwaniem dobrych praktyk i rozwiązań w programowaniu jest czasami tak jak w opisanym przeze mnie przykładzie.

Aplikacja webowa? Tylko framework X! X jest zły, weź Y! Albo najlepiej zrób mobilną i użyj Z! Tak nie rób, tak rób, a tak to nie wiadomo…

Porady dotyczące zastosowania danej technologii czy narzędzia znajdziesz na każdym kroku. Kontekst danego rozwiązania, czyli coś kluczowego z punktu widzenia projektu i sukcesu aplikacji, jest jednak często pomijany – a to ogromny błąd!

Nie wiesz do końca kto wypracował to rozwiązanie, co nim kierowało, jak zareagował na to jego zespół, czy w ogóle był jakiś zespół który musiał z tym żyć, jaki był efekt czasowy, jakie były problemy w utrzymaniu – widzisz kod który ma działać, widzisz “najlepszą” technologię, a to wszystko opatrzone nagłówkiem “dobre praktyki”.

Dobre praktyki często są dobre tylko i wyłącznie w danym kontekście – nie zapominaj o tym decydując się na zastosowanie zasłyszanego słowa-klucza takiego jak przykładowo Angular czy Scrum.

 

I kto to mówi?

Analiza kontekstu to oczywiście nie jedyny sposób na zweryfikowanie tego, czy proponowane rozwiązanie sprawdzi się u ciebie. Jedną z najszybszych metod weryfikacji danego pomysłu czy rozwiązania jest zwrócenie uwagi na postać autora który podpisuje się pod danym wpisem czy stroną.

Kim jest osoba która przedstawia swoją ideę – czy to znany w środowisku autor publikacji programistycznych? Jego książki cieszą się sporym powodzeniem? Prowadzi podcasty? Bloga? Fanpage o programowaniu?

W czasach portali społecznościowych wiarygodność danej osoby możesz łatwo zweryfikować sprawdzając liczbę osób obserwujących i śledzących ją. Każda dodatkowa działalność, np. kanał na YouTube, czy konto na Twitterze z wrzucanymi tweetami dot. programowania dodatkowo pomaga ocenić danego delikwenta. Opierając się na zweryfikowanych osobach masz sporą szansę na uniknięcie porażki.

Tips and tricks:

  • Staraj się unikać fragmentów kodu powrzucanych w losowe miejsca internetu przez autorów-anonimów – z metody Copy’ego/Paste’ya zazwyczaj nie wychodzi nic dobrego.
  • Pamiętaj też o wielokrotnie powtarzanej prawdzie dot. programistów – im ktoś jest bardziej doświadczony, tym prostsze i bardziej poukładane rozwiązania będzie ci proponował. Jeśli natomiast ktoś tylko z pozoru zna się na danej kwestii, to ciągle będzie cię namawiał na wyprawy “z armatami na muchy”.

 

Idź pod prąd

Co zatem robić aby z “dobrych praktyk” i “dobrych rad” faktycznie wyciągnąć te dobre fragmenty? Inspirować się. Podglądać, ale jednocześnie próbować oceniać. Weryfikować autorów. Testować, aby łatwiej porównywać jedne rozwiązania do drugich. Nie przejmować się chodzeniem pod prąd.

Na początku nie będzie to łatwe – nie masz przecież, wydawałoby się, niezbędnego doświadczenia. Przez długi czas jedynym kryterium będzie dla ciebie fakt, czy dzięki danej poradzie “coś zadziałało” – i na start to faktycznie wystarczy. Jednak z biegiem czasu okaże się, że to nie wszystko.

Najważniejsze jest wtedy wyrabianie w sobie nawyku krytycznego spojrzenia na podawane na tacy rozwiązania, co w przyszłości poskutkuje tym, że każdego “gotowca” będziesz weryfikował po kilka razy zanim zastosujesz go u siebie. Gwarantuję ci, że takie krytyczne podejście zwróci się kiedyś z nawiązką, oszczędzając czas, nerwy a być może i pieniądze firmy w której pracujesz.

Zamiast opierania się na trendach i chwilowej modzie oprzyj się więc na czymś, z czego wyciągniesz o wiele więcej – na myśleniu.