Uwaga! Trwają prace nad nową wersją serwisu. Mogą występować przejściowe problemy z jego funkcjonowaniem. Przepraszam za niedogodności!

🔴 OSTATNI DZIEŃ SPRZEDAŻY (do 23.01) 10-miesięczny kurs front endu 🔴

Ucz programowania, by rozwijać umiejętności techniczne i miękkie

Stań się wartościowym członkiem zespołu

Co komu po dobrym kodzie, gdy autor nie potrafi przedstawić jego działania lub opisać funkcjonalności w dokumentacji? Co komu po code review, jeśli nie wskazuje ono jasno, jakie poprawki wdrożyć? Dzisiaj w branży IT umiejętność komunikacji to rzecz obowiązkowa. Możesz ją trenować jeszcze przed znalezieniem pracy jako programista.

Spis treści

 Dlaczego akurat Ty masz uczyć programowania

 Ile musisz umieć, by uczyć innych

Więcej od nich. Jeśli jesteś już na etapie CSS-a, to pewnie wiesz co nieco o HTML-u. Jeśli uczysz się już obsługi formularza w JavaScripcie, to pewnie potrafisz wyjaśnić działanie selektorów w CSS-ie.

Nie bój się tego, że nie wiesz wszystkiego – nikt nie wie. Zawsze możesz doczytać i potem np. edytować wpis albo odezwać się do kogoś ze sprostowaniem. Wprost informuj też o swoim poziomie umiejętności – unikniesz w ten sposób nieporozumień.

Wystarczy, byś znał podstawy. Nie musisz nawet jeszcze mieć opanowanego np. JavaScriptu. Zamiast tego możesz choćby rozłożyć na czynniki pierwsze metodologię BEM w CSS-ie lub – jeśli jesteś, powiedzmy, na etapie biblioteki/frameworka albo chociaż asynchroniczności w JavaScripcie – zapewne będziesz w stanie wyjaśnić, czym jest deklaracja i wywołanie funkcji.

 Twoja perspektywa jest cenna

Jeśli jesteś na początku nauki programowania, to jeszcze nie dotyczy Cię tzw. klątwa wiedzy, przez którą w przyszłości może Ci się zdarzyć skomplikować wyjaśnienie lub zapomnieć o istotnych dla początkującego podstawach.

Teraz, ponieważ masz jeszcze w pamięci własne perypetie np. z semantyką w HTML-u, wyjaśnisz ten temat w bardziej przystępny sposób.

 Przemówisz do konkretnych osób

„Ale w sieci tyle już jest materiałów na dany temat”… Co z tego? Twój sposób wyjaśniania jest niepowtarzalny – może przemówić do tych, do których inne materiały nie przemawiają. Nie warto zamykać sobie drzwi – chyba że szukasz wymówek.

 Spotkania na żywo

Forma spotkań na żywo będzie najlepiej odzwierciedlać komunikację w pracy developera. Jeżeli więc lubisz rozmawiać z innymi lub przeciwnie – czujesz, że potrzeba Ci wprawy – to jest to coś dla Ciebie.

 Zalety spotkań na żywo

Efektywnie uczysz się komunikacji

Podczas spotkania aktywnie się angażujesz, jesteś uważny i od razu otrzymujesz feedback – to trzy z czterech filarów efektywnej nauki. Czwarty to konsolidacja, czyli sen (pamiętaj więc dobrze się po spotkaniu wyspać). Tak zdobędziesz świetne umiejętności komunikacyjne.

Pogłębiasz wiedzę z zakresu tłumaczonego tematu

Nie na wszystkie pytania odpowiesz od razu. Niektóre będą od Ciebie wymagały pogłębienia programistycznej wiedzy – ale właśnie o to tu chodzi: o Twój rozwój. Początkujący może zadawać np. takie pytania:

  • Dlaczego nie każda funkcja kończy się słowem return?
  • Czym w CSS-ie różni się reguła od deklaracji?
  • Czy lepiej stosować funkcję strzałkową czy zwykłą?
  • To w końcu ile tych nagłówków H1 ma być na stronie?
  • Dlaczego na niektórych stronach w DevTools nazwy klas to jakieś bezsensowne ciągi znaków?

 Jak zorganizować spotkania

Znajdź partnera do nauki

Nie znasz nikogo, z kim możesz się spotykać? Poszukaj osób chętnych do współpracy np. na grupach facebookowych czy na Discordzie. Nie musi to być osoba, która „wie mniej od Ciebie”. Jeżeli będzie na podobnym etapie nauki, umówcie się na zgłębianie innych zagadnień i tłumaczenie ich sobie wzajemnie podczas spotkań.

To przygotuje Cię także do rozmowy kwalifikacyjnej!

Przygotuj się i stwórz środowisko pracy

Przed spotkaniem warto dowiedzieć się, jaki problem ma osoba pytająca. Dzięki temu będziesz mógł uzupełnić wiedzę wcześniej i utrwalisz ją, dzieląc się nią potem z partnerem.

Przygotuj sobie też środowisko do tłumaczenia kodu. Szkoda podczas spotkania tracić czas np. na tworzenie podstawowych plików HTML i CSS.

Gdy organizujecie spotkanie online, możecie edytować kod w tym samym czasie, np. dzięki rozszerzeniu do VS Code – Live Share Extension Pack.

Uwaga: to doskonała okazja, by poprosić partnera o opinię na LinkedInie, zwłaszcza jeśli dzielisz się wiedzą bezpłatnie!

 Code review

Code review (CR) to przegląd kodu dokonywany przez innego programistę. Dzięki niemu wiemy, co poprawić przed połączeniem naszego kodu z resztą programu. W trakcie nauki programowania służy on po prostu zbieraniu informacji zwrotnej.

Poniżej przedstawiam code review na GitHubie, lecz jeśli na to jest dla Ciebie jeszcze za wcześnie, możesz wykonywać CR w programie (lub narzędziu online, jak CodePen), w którym stworzony jest kod – użyj do tego komentarzy.

<body>
    <!-- Zwyczajowo nazwy klas piszemy po angielsku -->
    <h1 class="naglowek">Hello World</h1>
</body>
/* Warto temu elementowi nadać klasę w kodzie HTML.
W tej chwili wszystkie el. div w Twoim kodzie
będą mieć szary kolor tekstu. */
div {
    color: grey
}
// var jest przestarzałe; tutaj najlepszą
// opcją będzie zastosowanie const
var person = {
  name: "John",
  surname: "Kovalsky",
}

Zawsze miej na uwadze poziom osoby, której kod sprawdzasz. Jeżeli np. dopiero poznała ona deklarację funkcji, nie proponuj jej od razu używania funkcji strzałkowych. Niech najpierw dobrze zrozumie podstawy.

 Code review na GitHubie

To wymagałoby od Ciebie przygotowania własnego repozytorium np. z zadaniami, które ktoś sforkuje, a po wprowadzeniu własnego kodu, wykona pull request.

Jeśli nie wiesz, o czym mówię, to zachęcam Cię do lektury artykułu „Git i GitHub – własne repozytorium, clone, fork i pull request”.

Kod w obrębie takiego pull requesta wygodnie się komentuje. Możesz zapoznać się z przykładem code review, który wykonałem dla zwycięzcy losowania z zadań z responsywności (HTML i CSS).

 Przejrzyste README projektów

To również jest forma nauczania – przedstawiasz w klarowny sposób, do czego służy Twój program i jak go uruchomić. Kto powiedział, że w pracy developera nie będziesz tworzyć paczek npm lub reużywalnych narzędzi? Możesz też zostać poproszony o stworzenie lub uzupełnienie dokumentacji. Warto pokazać rekruterom, że masz już jakieś doświadczenie.

Potrzebujesz inspiracji do opisu projektu? Zajrzyj do artykułu „Jak napisać README do projektu na GitHubie”.

 Odpowiadanie na grupach i forach programistycznych

W tłumaczeniu tematu możesz wprawiać się również na grupach i forach. Na Facebooku dla front endu popularna jest np. grupa HTML, CSS i JS: pierwsze kroki. Po tym jednak nie zostaje ślad, który można pokazać podczas rekrutacji.

Jeśli już programujesz, na pewno znasz Stack Overflow – choć pewnie od strony szukania odpowiedzi, a nie ich udzielania. Między tą platformą a grupami na FB czy serwerami Discorda jest istotna różnica: Twoje odpowiedzi nie giną. Przeciwnie – gromadzone są na Twoim koncie, na którym znajdziesz też odznaki za aktywności i statystyki np. ocen przydatności Twoich wyjaśnień.

Nie musisz mieć wielkich osiągnieć. Korzystaj z tego, że widać Twoje odpowiedzi i to, jak wyjaśniasz temat. Jesteś ciekawy, jak to wygląda? Zobacz przykładowy profil na Stack Overflow.

Takie konto na Stack Overflow możesz podlinkować potem np. w opisie profilu na GitHubie czy w CV.

 Artykuły o programowaniu lub wideo

Nie masz bloga? Nie szkodzi. Artykuły możesz publikować np. na Medium, na Linkedinie (LI ma do tego odpowiednią zakładkę) lub uwaga… nawet na GitHubie w postaci README! Markdown pozwala na odpowiednie stylowanie tekstu, fragmentów kodu i umieszczanie linków oraz grafik (nawet GIF-ów!) – jest więc wszystko, co niezbędne.

 

Wideo pokazuje Ciebie, Twój sposób komunikacji, Twoją osobowość – jest więc dobrym sposobem na przyciągnięcie uwagi (także rekrutera). Możesz zapoznać się np. z kanałem Programistafrontend Daniela Noworyty. Zobacz jego najstarsze nagrania – Daniel nie musiał być zaawansowanym programistą, by stworzyć np. wideo FRONTEND NA YOUTUBE - Kanały do nauki programowania.

 CV i rozmowa rekrutacyjna

Jak już wspominałem wcześniej, dzielenie się wiedzą i uczenie innych warte jest zaznaczenia – czy to na GitHubie i Linkedinie, czy w CV / liście motywacyjnym lub podczas samej rozmowy kwalifikacyjnej.

Nie musisz mieć rozpoznawalnej marki osobistej programisty, by móc mówić o dzieleniu się wiedzą! Pochwal się swoimi dokonaniami: podlinkuj blog, artykuły, konto na Stack Overflow czy opinie od osób, z którymi pracowałeś na żywo – to dowód na to, że „komunikacja” wymieniona pośród Twoich umiejętności miękkich nie jest tylko pustym słowem.

Pamiętaj: na uczenie innych i dzielenie się wiedzą prawie nigdy nie jest za wcześnie – wystarczy, że wiesz trochę więcej od nich. Warto jednak informować o swoim poziomie umiejętności, by nie było niedomówień.

Wybierz sposób komunikacji, który najbardziej Ci odpowiada. Warto też wziąć pod uwagę czasochłonność danego sposobu i spodziewane korzyści – np. dobra opinia na Linkedinie otrzymana po spotkaniu na żywo może zadziałać lepiej niż przygotowywane przez długie godziny wideo na YouTubie.

Udostępnij ten artykuł:

Mentoring to efektywna nauka pod okiem doświadczonej osoby, która:

  • przekazuje Ci swoją wiedzę i nadzoruje Twoje postępy w zdobywaniu umiejętności,
  • uczy Cię dobrych praktyk i wyłapuje złe nawyki,
  • wspiera Twój rozwój i zwiększa zaangażowanie w naukę.