Co certyfikaty faktycznie zmieniły w moim podejściu do kodowania
Patrząc na swoją drogę od białej kartki do pierwszego wdrożonego CMS-a, mogę jasno stwierdzić, że certyfikaty nie były punktem startowym, tylko etapem zjednoczenia mniejszych elementów w jedną całość.
Rozwijając umiejętności i zdobywając doświadczenie często czytałam dokumentację, porady użytkowników (głównie na stackoverflow), konsultowałam się z innymi specjalistami. Trudno mi było jednak potwierdzić całą zdobytą wiedzę, zdecydowałam się skupić swój czas na kursach zakończonych certyfikatami z dziedzin w których najczęściej pracuję. Mój wybór padł na freeCodeCamp, między innymi dlatego, że od samego początku widziałam jaki był zakres kursu, co obejmował i co przydawało mi się do zadań egzaminacyjnych.
Nie startowałam z pozycji o zerowej wiedzy: znałam niektóre zależności, miałam jakieś podejście do wykorzystywania znaczników (patrz: Zmiany znaczenia znaczników), miałam pewne doświadczenie w zarządzaniu stronami (opartymi na CMSach), nie gonił mnie czas ani kolejność wykonywania działań. Znałam już pojęcie struktury strony, widziałam sens semantyki, wciąż myślałam o użytkowniku i możliwościach wykorzystania różnych bibliotek w pracy nad projektami. Kursy freeCodeCamp nie były dla mnie początkiem nauki, tylko momentem, w którym rozrzucone doświadczenia zaczęły układać się w logiczny system. I dodatkowo – zdobywałam certyfikat, papierek, który mogłam sobie wydrukować i dopisać do osiągnięć.
Na tę platformę z kursami trafiłam na takim etapie życia, kiedy czas na rozwój mogłam poświęcać nieregularnie, ale z drugiej strony – mogłam temu poświęcić pełne skupienie. Niektóre kursy szły mi w zawrotnym tempie (zwłaszcza, że miałam wiedzę i praktykę na żywo), niektóre pozwoliły mi uporządkować zdobytą z dokumentacji wiedzę i spojrzeć na nią szerzej – od strony praktycznych przykładów, inne wprowadzały nowe standardy i wymagały doczytania dokumentacji.
HTML potraktowałam w końcu jako strukturę oddzieloną od warstwy wizualnej, CSS jako kolejną – pełnoprawną warstwę, a nie tylko plasterek łatający dziury w wyglądzie – z możliwością rozbudowywania o logikę i kolejne biblioteki, a Javascript wciąż odpowiadał za całą magię strony – tylko tym razem poznałam część receptur. Ogromnym plusem była dla mnie możliwość pracy we wcześniej przygotowanych scenariuszach (nie musiałam gasić pożaru i szukać rozwiązania dla swoich problemów), na gotowym polu do zabawy (nie bałam się niczego spalić).
Standardem było dla mnie – przed rozpoczęciem kursu – zapoznać się przynajmniej pobieżnie z dokumentacją. To nie tak, że nie ufałam wiadomościom zawartym w ćwiczeniach, ja po prostu lubię mieć wszystko wyjaśnione dokładnie i jeśli czegoś nie rozumiem to i tak potem cofam się do źródła. Niektóre rzeczy były dla mnie zbyt mało oczywiste, inne po prostu za bardzo praktyczne – jeśli mam zadanie, które sprowadza się głównie do wyłuskania z tekstu kilku wyrazów i wpisaniu ich w odpowiedniej kolejności, żeby zadziałało – to mało się na tym uczę. Już lepiej rozumiem, jeśli pozwoli mi się napisać całą np. funkcję i kombinować co zrobiłam nie tak, a co jest zbędne.
Na dłużej pozostał ze mną sposób myślenia, rozdzielanie problemów na mniejsze części, nawyk sprawdzania i testowania, ufanie całemu procesowi oraz praca przy scenariuszach. Czasami aż prosiło się napisać kod w inny sposób, ale wymagania zadania były inaczej sprecyzowane. Czasami tam też wracam dla radia, idealna muzyka pod pisanie kodu.
FreeCodeCamp był i jest dla mnie narzędziem, nie źródłem jedynej objawionej wiedzy. Kursy stały się punktem zbiorczym, pomogły mi zrozumieć jaką wiedzę już posiadałam, jakiej mi brakowało i jak mogę jej nadać strukturę. Ten etap ukształtował moje podejście do pracy — tak technicznie, jak i organizacyjnie. Zdobywanie certyfikatów, było jednym ze przystanków na drodze do zdobycia i uporządkowania wiedzy, nie jej początkiem. To był moment, w którym doświadczenie zaczęło spotykać się z teorią — i tak już zostało.
Kursy zakończone certyfikatem
Poniżej przedstawiam krótkie podsumowanie kursów i certyfikatów, jakie uzyskałam na platformie freeCodeCamp. Wyjaśniam cel i zakres kursu oraz wyliczam nazwy zadań egzaminacyjnych.
Responsive Web Design
Responsive Web Design (RWD) to takie projektowanie strony internetowej, które umożliwia wyświetlanie w przeglądarkach na ekranach różnych urządzeń (w tym tabletów i smartfonów) – często jest tłumaczone jako „projektowanie responsywne”.
W ramach kursu Responsive Web Design na platformie edukacyjnej freecodecamp.org dostępne były nieobowiązkowe lekcje, w trakcie których uporządkowałam i rozwinęłam swoją wiedzę z zakresu projektowania stron tak, aby wyświetlały się na różnych ekranach w sposób przyjazny dla użytkownika. Kurs zrealizowałam w marcu 2019 roku.
Otrzymanie certyfikatu wymagało znajomości języków HTML i CSS oraz wykonania pięciu zadań egzaminacyjnych, które musiały spełniać scenariusze przez freecodecamp.org.
Powinny być dostępne pod poniższymi linkami:
- Build a Tribute Page
- Strona-hołd dla Irène Joliot-Curie Build a Survey Form
- Formularz z ankietą Build a Product Landing Page
- Strona promująca produkt Build a Technical Documentation Page
- Strona z dokumentacją techniczną
- Build a Personal Portfolio Webpage – Strona z portfolio
Certyfikat natomiast znajduje się tutaj.
JavaScript Algorithms and Data Structures
Kurs obejmował podstawy tworzenia skryptów w Javascripcie oraz ich wykorzystanie w praktyce. Nieobowiązkowe lekcje wprowadzały ustandaryzowaną specyfikację dla Javascript (ES6) oraz podstawy tego języka, wykorzystywały wyrażenia regularne, algorytmy i projektowanie obiektowe. Dzięki temu kursowi przede wszystkim uporządkowałam swoją wiedzę i rozwinęłam praktyczne umiejętności pisania skryptów. Kurs zrealizowałam od marca do maja 2019 roku.
Otrzymanie certyfikatu wymagało znajomości języka Javascript oraz wykonania pięciu zadań egzaminacyjnych:
- Palindrome Checker – skryptu do sprawdzania, czy testowane wyrażenia są palindromami
- Roman Numeral Converter – skryptu konwertującego liczby arabskie na rzymskie
- Caesars Cipher – skryptu szyfrującego w szyfrze Cezara
- Telephone Number Validator – walidator numerów telefonicznych (to zadanie egzaminacyjne było dla mnie najtrudniejsze, również w nowej wersji V8, ponieważ część testowa sprawdzała logikę, jaka nie była ujęta w treści zadania – sprawy oczywiste dla użytkowników telefonów w USA)
- Cash Register – skryptu do wydawania reszty z kasy
Certyfikat można obejrzeć tutaj.
W 2025 roku otrzymałam również certyfikat poświadczający przejście podobnego kursu, skupiającego się na nowszej wersji (V8) i jej właściwościach. Można go zobaczyć tutaj.
Front End Libraries
Ten kurs na platformie edukacyjnej freecodecamp.org obejmował wprowadzenie bibliotek frontend do języków CSS oraz JavaScript. Lekcje związane z językiem CSS skupiały się na preprocesorze tego języka – Sass oraz na bibliotece (frameworku) Bootstrap. Jest on jest m.in. wykorzystywany do projektowania RWD – stron dostosowanych do wyświetlania na ekranach o różnych wymiarach. Natomiast lekcje związane z językiem JavaScript wykorzystywały biblioteki React, Redux oraz ich kombinacje.
Otrzymanie certyfikatu standardowo nie wymagało ukończenia lekcji, lecz wykonania pięciu zadań egzaminacyjnych:
- Build a Random Quote Machine – maszyny do losowania cytatów
- Build a Markdown Previewer – podgląd do języka
- Markdown Build a Drum Machine – maszyny do grania na perkusji
- Build a JavaScript Calculator – kalkulatora
- Build a Pomodoro Clock – zegara typu Pomodoro
Certyfikat uzyskałam w sierpniu 2019 roku i jest dostępny tutaj.