Wielu z was codziennie przyswaja dziesiątki "punktów wiedzy", które w mniejszym lub większym stopniu pomagają rozwijać się w programowaniu. Wśród tak ogromnej sterty książek, artykułów, screencastów, kursów czy filmów macie zapewne kilka takich, które zostaną z wami do końca kariery. Mogą to być materiały, które w prosty sposób wyjaśniły wam niezrozumiałe do tej pory pojęcia, pokazały wam nową perspektywę albo po prostu pozwoliły wam poznać coś całkowicie nowego. W dwóch słowach - zrobiły różnicę.

W dzisiejszym poście dzielę się z wami pięcioma materiałami z mojej prywatnej listy "must watch" (a konkretnie pięcioma prezentacjami), które znacząco wpłynęły na rozwój moich umiejętności związanych z web developmentem. Dla każdego, kto obraca się w świecie tworzenia rozwiązania dla internetu są to pozycje niemal obowiązkowe.

Oglądajcie, a następnie koniecznie dzielcie się waszą listą w komentarzach!

1. Robert Martin - Architecture the Lost Years

Konferencja Ruby Midwest i wszystko co znajdziecie na jej temat na YouTube to czyste złoto, ale ta konkretna prezentacja to jedno z tych wystąpień, które na długo po obejrzeniu zapadło mi w pamięci.

Na studiach, przez cztery intensywne semestry uczyłem się jak powinna wyglądać aplikacja webowa oparta o ASP.NET MVC. Następnie przyszedł Uncle Bob i powiedział mi, że uczą mnie bzdur. Pokazał też jak wg niego powinna wyglądać architektura aplikacji webowych oraz co słowo "architektura" właściwie oznacza.

Najważniejsze co wyciągnąłem z tej prezentacji to nie fakt, że istnieje pewne idealne podejście do pisania aplikacji webowych, ale to, że przy projektowaniu rozwiązań należy po prostu myśleć, a nie bezmyślnie powielać przeczytane praktyki i dobre porady. Niby nic, a zmienia wszystko. Zaaplikowane odpowiednio wcześnie zadziała jak mocna dźwignia kariery.

2. Tom Occhino, Jordan Walke - Introduction to React.js

Tak tak, prezentacja którą tutaj polecam to jedno z pierwszych zarejestrowanych nagrań na temat znanego i lubianego Reacta. Bez Suspense'a, bez hooków, bez Context API. Surowy, ES5-tkowy React.

Wymieniam to wystąpienie na mojej liście bo pamiętam jak dużo zamieszania wywołała wtedy chociażby koncepcja JSX'a - niby nic nowego, ale dla kogoś wychowanego na klasycznym podejściu "js - logika, html - template" był to naprawdę twardy orzech do zgryzienia. Uważam też, że bez zapoznania się z historią tego właśnie narzędzia bardzo trudno o pełne zrozumienie tego jak obecnie wygląda front-end budowany w tej właśnie technologii.

Dla każdego fana znanego już równania UI=f(state) to pozycja obowiązkowa!

3. Philip Roberts - What the heck is the event loop anyway?

Podobno JavaScript jest wszędzie i wszyscy musimy go znać. Ale właściwie... w jaki sposób to działa? Jak radzą sobie z nim przeglądarki? No i czym jest ten cały event loop?!

Prezentacja którą tutaj wymieniam to znakomity przykład tego, jak skomplikowane początkowo koncepty mogą być przedstawiane w przejrzysty i całkiem prosty do zrozumienia sposób.

Polecam każdemu kto ma do czynienia z rozwiązaniami client-side, niezależnie od frameworka w którym je tworzy.

4. Jakub Kubryński - Utrzymywalne mikroserwisy - naga prawda

Przystępna prezentacja którą miałem okazję obejrzeć na żywo i którą polecam każdemu kto pracuje w środowisku mikroserwisów.

Po początkowym boomie na taki właśnie sposób rozwijania architektury rozwiązań webowych programiści muszą zmierzyć się z gorzką prawdą - świat nie jest tak idealny jak obiecywano nam na początku, a poziom trudności wzrasta z każdą godziną utrzymywania i debugowania mikroserwisowego rozwiązania.

Jakub Kubryński w swojej prezentacji pokazuje jak pracować z mikroserwisami, zwraca uwagę na najczęstsze problemy oraz pokazuje, jak pragmatycznie podejść do całego mikroserwisowego świata. Polecam każdemu - szczególnie tym, którzy wciąż jeszcze są na etapie monolitu, którego "koniecznie" trzeba się pozbyć ;)

5. Greg Young - Stop Over-Engenering

Mógłbym powiedzieć, że istotą tego wpisu jest pozycja numer pięć. O ile wszystko to co znajdziesz poprzednich punktach to pozycje stricte techniczne, to ta prezentacja Grega Younga sprawi, że będziesz lepszym programistą i kropka. Programistą, który rozumie na czym ta praca tak naprawdę polega, podchodzi do pracy pragmatycznie i wie, kiedy odpuścić.

W środku m.in. historia prostej z pozoru aplikacji do procesowania faktur.

Potencjał na wzorce projektowe ...

...pomyśleli jedni.

Potencjał do niepisania kodu...

...pomyślał Greg Young.

Po kilku latach pracy widzę jak bardzo uniwersalne jest to wszystko o czym opowiada autor, a "humans as a service" prawdopodobnie nigdy nie wypadnie już z mojej głowy. Koniecznie do obejrzenia - niezależnie od tego czym zajmujecie się na codzień.

Podrzuć coś od siebie!

Mam nadzieję, że prezentowana tutaj lista okaże się dla ciebie wartościowa i pomoże ci odkryć wiele nieznanych jeszcze perspektyw na świat web developmentu.

Jak widzisz nie ma tutaj prezentacji związanych z jednym konkretnym frameworkiem (nawet w prezentacji o React.js nie chodzi o samą bibliotekę), a wszystko co obejrzysz to treści bardziej uniwersalne. Jeśli zmagasz się z natłokiem wiedzy i nie wiesz na co tak naprawdę poświęcić czas, to takie "technologicznie-agnostyczne" podejście do nauki będzie dla ciebie najlepszym rozwiązaniem. Szukając wzorców i praktyk na lata, a nie na kolejne trzy miesiące, budujesz szerokie kompetencje i uniezależniasz się od sukcesu jednego narzędzia, które aktualnie jest na topie.

Jeśli jesteś jednym z tych, którzy takie prezentacje (lub inne zasoby!) chomikują w notatkach to koniecznie podziel się tym co masz - za komentarz nie będę wdzięczny jedynie ja, ale też wszyscy, którzy dzięki tobie nauczą się czegoś nowego.