Zasoby, z których ja nauczyłem się (prawie) wszystkiego o front-endzie

Nie tak dawno temu, nie umiałem zupełnie nic. Nie miałem pojęcia na temat Internetu, front-endu czy programowania w ogóle. Dziś, umiem już nieco więcej. W tym nieco biograficznym artykule opisuję, skąd się nauczyłem prawie wszystkiego, co potrafię dzisiaj.

Delphi

Moja przygoda z programowaniem zaczęła się, gdy Programowanie w Delphi jeszcze nie miałem komputera. Jako dzieciak w wakacje 2002 wchłonąłem „Programowanie w Delphi” z serii Biblioteczka Komputer Świat. Bez dostępu do edytora, bez możliwości przetestowania czegokolwiek, przeczytałem każdy listing kodu, każdą linijkę, starając się jak najwięcej zrozumieć i zapamiętać. Tak to się zaczęło.

Ta historia brzmi jak niezła ściema, ale zaręczam, że jest prawdziwa. Byłem tam, widziałem na własne oczy. Tak rodzi się prawdziwa pasja.

Strefa WWW

Krótko po tym, w domu pojawił się komputer. A potem Komputer Świat, później Komputer Świat Ekspert, a w międzyczasie CD-Action. Ten ostatni magazyn, na dołączonej płycie CD, obok patcha do Colin McRae Rally 3, zawierał e-zin „Strefa WWW”. To było coś!

Poradniki, kursy, informacje z sieci. W czasach gdy płaciło się za każdą minutę spędzoną w Internecie, a najlepszą wyszukiwarką była ta na onet.pl, taki zbiór zredagowanych i bardzo wartościowych informacji był prawdziwym skarbem! Co miesiąc w kiosku, na wyciągnięcie ręki. Wystarczyło poprosić rodziców 🙂

To właśnie ze Strefy WWW nauczyłem się totalnych podstaw HTML-a, znaczników <font><marquee>. Niedługo potem stworzyłem swoją pierwszą stronę internetową. Znalazły się na niej kody do gier The Sims i GTA 2 oraz, oczywiście, księga gości! Ludzie pisali do mnie maile i różne, przemiłe komentarze w księdze gości. To było naprawdę niesamowite.

Blog

Zacząłem też prowadzić bloga. Później go skasowałem, czego trochę żałuję 😉 Opisywałem tam wszystko, czego się akurat uczyłem. Dzisiaj myślę, że to była świetna sprawa — bo jeśli napisałem cokolwiek źle to bardzo szybko dostawałem od ludzi z Internetu jakieś komentarze. To jeszcze przyśpieszało moją naukę.

Freelancing

Przewińmy kilka lat do przodu. Gdy tylko poznałem słowo „freelancer”, to od razu wiedziałem, że to jest coś, co mógłbym robić. Zacząłem tworzyć pierwsze strony www dla innych osób. Najpierw za darmo, później za przysłowiowe 100 czy 300zł. Nauka przez praktykę jest cenniejsza od godzin spędzonych nad kursami. Ta myśl jest prawdziwa, a może nawet jeszcze prawdziwsza, do dzisiaj.

Pierwsza praca

Wtedy postanowiłem poszukać pierwszej „prawdziwej” pracy. Zaaplikowałem do pewnej znanej polskiej firmy zajmującej się wykonywaniem stron internetowych. Współpracował z nimi mój znajomy, poszukiwali freelancerów, dobrze płacili. No i mnie nie chcieli. Moje umiejętności z CD-Action okazały się niewystarczające!

Część feedbacku, który dostałem po nieudanej rekrutacji.
Część feedbacku, który dostałem po nieudanej rekrutacji.

Jest jednak aspekt, za który jestem bardzo wdzięczny tej firmie. Osoba, która mnie rekrutowała (pozdrawiam 😉 ) po mojej prośbie zostawiła mi bogaty feedback:

  • pisałem kiepski CSS (wiele zagnieżdżonych selektorów na wielu poziomach)
  • używałem ID do stylowania
  • wklejałem JS bezpośrednio w kodzie strony
  • nie używałem sprite’ów
  • kod był nieczytelny i niejasny

To chyba była najcenniejsza lekcja, jaką kiedykolwiek dostałem. Patrząc z perspektywy czasu, nie mogłem wymarzyć sobie tego lepiej.

Co dalej?

Jeszcze tego samego wieczora otworzyłem wszystkie możliwe zasoby, jakie udało mi się znaleźć w internecie na te tematy.

Zacząłem od smashingmagazine.com, świetnego źródła wiedzy. Wchłaniałem też najciekawsze rzeczy z alistapart.com oraz absolutnie wszystkie wpisy z html5doctor.com.

Artykuły publikowane na tych stronach były czymś zupełnie innym niż to, z czym miałem do czynienia do tej pory! To był szok.
Ludzie pisali tam o Responsive Web Design, koncepcie, który wtedy w Polsce był praktycznie nieznany.
Pisali o semantyce — czyli o czymś, czym prawie nikt się wtedy nie przejmował.
O dostępności i problemach, których nie znałem, a które przecież są tak bardzo istotne.

Otwierałem jeden artykuł, czytałem, następnie otwierałem wszystkie linki z tego artykułu, czytałem… i tak dalej. To była jedna z tych nocy, kiedy czujesz, że sen może poczekać. Podobnie spędzałem kolejne dni i tygodnie.

Nie zrozum mnie źle, absolutnie nie popieram stylu życia „jestem dumny z 16h w pracy”. Ale dla własnej pasji jestem w stanie zrobić wszystko.

Konferencje

Niedługo później postanowiłem wyjechać na pierwszą konferencję w życiu. Był to Frontrow 2011 w Krakowie. W agendzie mnóstwo tematów, których nie rozumiałem, oraz gro prelegentów, których nie znałem.
Jake Archibald, Bruce Lawson, Christian Heilmann, Syd Lawrence, i wiele innych fantastycznych osób. Font-face, multimedia w HTML5, Adaptive Web Design, Responsive Web Design, Accessibility, WAI ARIA, nowoczesny, semantyczny kod.
Piękne idee — tutaj w całkowicie praktycznym zastosowaniu, ze strony profesjonalistów z całego świata. To było wow!

Wyjazd na tę pierwszą konferencję sprawił, że poczułem, że naprawdę rosnę. W dwa dni nauczyłem się tak wiele, a ponadto wróciłem do domu z garścią nowych tematów i zajawek do sprawdzenia.

Książki

Oczywiście, nadal czytałem sporo artykułów online. Ale pojawiały się i książki. Prawdopodobnie większość osób zgodzi się, że czytanie książek z zakresu IT po polsku jest bez sensu — zanim zostaną przetłumaczone, są dawno nieaktualne.

Jest jednak jedna pozycja, która zapadła mi w pamięć szczególnie pozytywnie. Myślę, że treści tam zawarte są nadal aktualne i pewnie będą aktualne już na zawsze — jeśli myślimy o koncepcjach, a nie konkretnych implementacjach. Jest to książka od Filament Group autorstwa Todd Parker, Patty Toland, Scott Jehl i Maggie Costello Wachs pod tytułem „Tworzenie stron metodą stopniowego ulepszania. Witryny dostępne dla każdego” (tytuł oryginalny to „designing with progressive enhancement / building the web that works for everyone„) Bez wątpienia była to lektura, która na zawsze zmieniła moje postrzeganie internetu, aplikacji internetowych, sposobu ich wytwarzania oraz potrzeb użytkowników.

Co było dalej?

Jakieś 3 miesiące później dostałem pierwszą stałą pracę dla zagranicznej firmy za bardzo dobrą (dla juniora) stawkę. Poznałem tam świetnych ludzi, pracowałem nad różnymi projektami, na różne sposoby… W pierwszej pracy w krótkim czasie nauczyłem się od kolegów i koleżanek więcej, niż wcześniej samemu przez kilka lat.

Moje porady

W miarę możliwości czytaj wszystko co Ci wpadnie w ręce. Szukaj różnych opinii na te same tematy. Wchłaniaj wiedzę cały czas, stale się rozwijaj. Taka branża. Możesz zacząć tutaj:

24 blogi, które musi śledzić każdy JavaScript developer

Rób swoje i nie bój się krytyki. Wrzucaj nawet proste projekty na GitHuba i proś innnych o code review (np. na #code-review na Discordzie). To bardzo przyśpieszy Twój rozwój.

Załóż blog. Opisuj tam to, czego się uczysz ze swojej perspektywy. Jeśli będziesz pisać głupoty to na pewno ktoś Ci zwróci na to uwagę — magia Internetu 😉 I dobrze! Szybciej poprawisz błędy i złe rozwiązania swoich problemów.

Szukaj projektów po godzinach, żeby wzbogacić swoje CV i portfolio. Im więcej, tym lepiej. Możesz też poszukać zleceń zdalnie np. na tych portalach.

Nie czekaj z poszukiwaniem pracy. Wiele osób niepotrzebnie zwleka myśląc, że ciągle potrafią za mało. Nieprawda. W pierwszej pracy nauczysz się mega dużo w ekspresowym tempie.

Aplikuj do wielu firm. Większa część Cię odrzuci i nie ma w tym absolutnie nic złego. Zawsze proś o jakiś feedback i wskazówki. Większość firm Ci ich nie da, ale może akurat trafisz na kogoś kto Ci mocno pomoże.

Jeździj na konferencje. To nie musi wcale dużo kosztować. Pokój w hostelu, bilet na autobus, meet.js Summit, WordCamp czy inne prawie darmowe spotkania. Poznasz ludzi, poznasz społeczność, poznasz firmy szukające pracowników, ale przede wszystkim wrócisz do domu z listą zagadnień do sprawdzenia.

Dobrym pomysłem może być też zapisanie się na szkolenie z jakiejś technologii, w której chcesz się specjalizować. Skondensowana wiedza i doświadczeni trenerzy = zaoszczędzone mnóstwo czasu. Poznaj Redux na naszym szkoleniu!

Sporo dobrych porad znajdziesz też we wpisie Karoliny Kreft na temat Bootcampów:

Jak nie zrobimy z Ciebie programisty w dwa miesiące

Podsumowanie

Nie musisz mnie słuchać. Większość osób nie ma takiego komfortu, że od dziecka wiedziało doskonale co chce robić w życiu. Ale myślę, że sporo powyższych porad sprawdzi się w przypadku każdego. Nie przestawaj się uczyć. Nie wstydź się pokazywać swoich prób innym. Nie poddawaj się 🙂

I koniecznie napisz mi w komentarzu, co Ty o tym myślisz. A jakie są Twoje porady dla tych, którzy dopiero zaczynają?