Uwaga! Trwają prace nad nową wersją serwisu. Mogą występować przejściowe problemy z jego funkcjonowaniem. Przepraszam za niedogodności!
⛔ Potrzebujesz wsparcia? Oceny CV? A może Code Review? ✅ Dołącz do naszej społeczności na Discordzie!
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.
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.
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.
„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.
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.
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.
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:
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!
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.
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.
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).
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”.
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.
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.
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.
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ł:
Potrzebujesz cotygodniowej dawki motywacji?
Zapisz się i zgarnij za darmo e-book o wartości 39 zł!
PS. Zazwyczaj rozsyłam 1-2 wiadomości na tydzień. Nikomu nie będę udostępniał Twojego adresu email.
Mam coś dla Ciebie!
W każdy piątek rozsyłam motywujący do nauki programowania newsletter!
Dodatkowo od razu otrzymasz ode mnie e-book o wartości 39 zł. To ponad 40 stron konkretów o nauce programowania i pracy w IT.
PS Zazwyczaj wysyłam 1-2 wiadomości na tydzień. Nikomu nie będę udostępniał Twojego adresu e-mail.