Od lat słyszysz, że jesteś humanistą/humanistką? Twoją mocną stroną jest nauka języków obcych? Wydaje Ci się, że w takim razie jedyna opcja to filologia? A co, jeśli powiem Ci, że możliwe, że idealnie nadajesz się do programowania? Temat na dziś to: języki obce a kodowanie!
Ten wpis jest częścią cyklu Okiem filologa. Poprzedni artykuł serii, w którym opisywałam podobieństwa między językami obcymi a językami programowania znajdziesz tutaj. Jeśli wolisz o tym temacie posłuchać, włącz moją prezentację pt. How is JavaScript similar to any foreign language you know, z którą wystąpiłam na konferencji meet.js Summit 2019 oraz na JS Poland 2019.
Lubisz uczyć się języków? Zostań tłumaczem!
Ach, ile razy ja to słyszałam w gimnazjum i liceum! Alternatywnym zawodem był jeszcze pilot wycieczek, bo przecież jemu też potrzeba języków. Albo dyplomata. I tak sobie żyłam w świadomości, że skoro najlepiej czuję się w językach, to powinnam właśnie w ich stronę iść. Dokładnie tak zrobiłam: z francuskiego zdałam maturę, zrobiłam certyfikat z angielskiego, a potem poszłam na filologię indyjską i takie studia ukończyłam. I co? I okazało się, że pracy dla tłumaczy aż tyle nie ma!
Nie twierdzę, że języki obce się w życiu nie przydają. Przydają się i to bardzo! Angielski był podstawą właściwie w każdej mojej pracy, w pracy programisty także na co dzień się z tego języka korzysta. Nie żałuję godzin spędzonych nad nauką języków obcych. Żałuję, że nikt nie pokazał mi innej ścieżki, gdy byłam np. w liceum. Języków obcych mogłam przecież uczyć się dodatkowo, a na cały etat uczyć się choćby właśnie kodowania. Takie przemyślenia plus kilka słów, które napisałam na Instagramie o postrzeganiu siebie i byciu postrzeganym jako humanista, skłoniły mnie do napisania tego wpisu. Plus rozmowa z Jędrzejem Paulusem w jego podcaście Developer-Wannabe Podcast. Rozmowy możesz posłuchać tutaj albo klikając w odtwarzacz poniżej. A ja zapraszam teraz na krótki zestaw argumentów, które pokażą, że języki obce i kodowania idą ze sobą w parze.
Już wiesz jak to się robi!
Największy plus tego, że lubisz naukę języków obcych w kontekście kodowania? Kodowania uczy się dokładnie tak samo! Czyli mamy zasady, mamy ćwiczenia. Robienie kursu online jest jak czytanie kolejnego rozdziału w podręczniku do nauki języka. Poznajesz dane zagadnienie, robisz ćwiczenia, a potem… praktykujesz! Tak, języka programowania nauczysz się tylko i wyłącznie w praktyce. Czyli dokładnie tak samo jak języka obcego.
Pewnie, może wykuć na pamięć 500 słówek. Co z tego, skoro pewnie nie będziesz umieć ich użyć w swobodnej konwersacji. Podstawą nauki powinno więc być dzielenie materiału na małe porcje, a potem ćwiczenie tych porcji, póki nie staną się dla nas naturalne. Tak samo jak uczysz się używać nowego czasu w danym języku, tak samo uczysz się zagadnień w programowaniu. Z czasem jesteś w stanie budować coraz bardziej złożone zdania, czytasz tekst, który nie jest specjalnie dla Ciebie przygotowany przez lektora, ale jest “żywy”, np. prosto z gazety.
I tak samo z kodem – najpierw robisz proste tutoriale, pierwsze zadania są pewnie dokładnym odzwierciedleniem przykładów w kursu. Później ruszasz na głęboką wodę – samodzielnie piszesz mały fragment kodu, później niewielką aplikację. A ostatecznie możesz czytać istniejący już kod i wiesz, co się w nim dzieje. Czy to nie jest właśnie mówienie w danym języku programowania?
Native speaker poszukiwany
Skoro czytasz ten tekst, pewnie znasz dobrze jakiś język obcy. Pamiętasz pierwsze zetknięcie się z rodzimym użytkownikiem tego języka? Założę się, że zbyt dużo nie zrozumiałaś/zrozumiałeś z tego, co mówi. Miałam tak samo! Wydawało mi się, że akcent, słowa, struktura zdań: dosłownie wszystko jest inne niż w podręczniku. I tak samo będzie z kodowaniem!
Kiedy pierwszy raz zobaczysz kod jakiegoś istniejącego już projektu, zapewne poczujesz się przytłoczona/przytłoczony. Wyjaśnić strukturę projektu pewnie będzie musiał Ci jakiś doświadczony programista. To on właśnie jest native speakerem kodowego świata. Uważam, że osoby, które mają do czynienia z językami obcymi, z dość dużą łatwością “łapią” dobre praktyki od bardziej doświadczonych. Dlaczego? Ponieważ są przyzwyczajone do tego, że to Ci, którzy na co dzień władają danym językiem, o wiele lepiej go znają i są w stanie podpowiedzieć rozwiązania, których faktycznie używa się w kodzie, a nie tylko w kursie czy podręczniku.
Powtórka matką nauki
Znowu wracamy do nauki, a raczej sposobu nauki języków obcych i języków programowania. I tu, i tu kluczem jest systematyczność i powtarzanie. Tylko wyćwiczenie danego zagadnienia sprawi, że wejdzie nam ono w krew. Tak samo jak nowe słówko w danym języku czy jakaś struktura gramatyczna. Tu warto się na chwilę zatrzymać i zastanowić się, czy faktycznie umiesz się uczyć efektywnie. Jeśli chcesz zrobić mały audyt swojego sposobu nauki, odsyłam Cię do wpisu o tym, jak uczyć się programowania (i czegokolwiek innego). Znajdziesz tam przydatnego metody nauki, piszę m. in. o koncepcji pracy głębokiej i jak można ją wykorzystać ucząc się kodowania.
Wracając do powtarzania – jest jeszcze jedna przyczyna, dlaczego jest ono takie ważne. Raz przećwiczone słowo raczej nie zostanie nam w głowie. Ważne, aby coś powtórzyć kilka razy, najlepiej oczywiście w praktyce. Często jest tak, że poznajemy nowe słówko i potem go nie używamy. Niby je znamy, ale nie wiemy w jakim kontekście go użyć, czy faktycznie dobrze w danej strukturze brzmi. Albo zwyczajnie o nim nie myślimy, gdy akurat używamy danego języka.
Pewnie Cię to nie zdziwi – w programowaniu jest dokładnie tak samo. Nieprzećwiczone struktury nie wejdą nam same do głowy. Dlatego kluczem jest powtarzanie, ćwiczenie, wymyślanie sobie nowych zadań i próba rozwiązywania ich na różne sposoby. Myślenie logiczne, które w kodowaniu jest kluczowe, to coś, co naprawdę da się wyćwiczyć. Więcej o tym, w jaki sposób można ćwiczyć “programistyczne” myślenie mówiliśmy z Jędrzejem w jego podcaście, o którym już wspominałam na początku tekstu. A jak nie wiesz, z jakich źródeł uczyć się kodowania, tam też znajdziesz listę fajnych materiałów, które polecam (zajrzyj też do notatek do podcastu).
Książki będą Twoim przyjacielem trochę później
Czas na punkt lekko kontrowersyjny. Uważam, że książki nie są najlepszym sposobem na naukę języka obcego czy języka programowania dla zupełnie początkującego. Jeśli chodzi o język obcy – pewnie, poznamy z książki gramatykę czy słownictwo, natomiast będziemy je tylko czytać. Od tego jeszcze długa droga, aby języka używać na co dzień, w normalnej rozmowie czy pisząc maila. A przecież znajomość języka obcego to płynność posługiwania się nim w każdej sytuacji, z komunikacją z innymi na czele.
I tak samo w kodzie – czytanie kodu czy o kodzie nie sprawi, że będziesz wiedzieć, jak kod napisać. Co gorsze, może nawet dać Ci złudne wrażenie, że wiesz, jak kod się pisze. To dość znany mechanizm – gdy czytamy któryś raz dany tekst, wydaje nam się, że już go umiemy, bo jest znajomy (w końcu już go czytaliśmy). Spróbuj jednak zamknąć stronę i powtórzyć to, o czym czytałaś/czytałeś. Już nie jest tak prosto, prawda? Ciężko jest z głowy powtórzyć przykłady kodu, o których się tylko czytało, nie mówiąc już o ich użyciu w realnym problemie.
Książki są świetne do nauki języka obcego i języka programowania, temu nie przeczę. Wprowadzić je warto jednak dopiero na późniejszym etapie nauki, gdy podstawy masz opanowane. Na pewno o wiele więcej zyskasz.
To jak, przekonałam Cię, by spróbować swoich sił w kodowaniu?
Jak nie wiesz, od czego zacząć, zajrzyj do tego wpisu. A może masz swoje przemyślenia na temat podobieństw między językami obcymi a językami programowania? Podziel się w komentarzu lub napisz do mnie maila.
P.S. Ostatnio bardzo mocno wciągnął mnie Instagram! Jeśli masz ochotę na dawkę przemyśleń o programowaniu, planowaniu, mojej codzienności z bobasem u boku, wskakuj na mój profil i zobacz, co u mnie słychać. A w zapisanych Stories znajdziesz sposoby, które pomogą Ci się zmotywować do kodowania oraz moje podsumowania tygodnia, w których dzielę się tym, czego się nauczyłam.
Jak Cię posłuchałem na Meet.js, to miałem wrażenie, że wreszcie mi ktoś tłumaczy tak, że trafia do mnie. Dzięki za rozmowę. Mam nadzieję, że pomagamy ludziom się przełamać i zacząć robić świetne rzeczy w świecie IT.
Dzięki! Również mam nadzieję, że przekonamy tych, którzy sądzą, że kod zupełnie nie jest dla nich, żeby spróbować i zobaczyć, czy im się to podoba 🙂
Cześć!
Jestem po filologii angielskiej i od kilku lat uczę głównie dzieci. Mam wrażenie, że utknęłam i niestety wykonywanie mojej obecnej pracy nie sprawia mi już przyjemności. Myślę bardzo poważnie nad zmianą zawodu 🙂 Jestem obrotna, szybko się uczę, ale nie mam pojęcia czym chciałabym się zajmować! Ponieważ sprawy komputerowe nigdy nie były mi obce zainteresowałam się trochę IT i teraz przeczesuję internet i sprawdzam czy ta droga mi się spodoba 😀 Na razie przerabiam kurs HTML na poleconym przez Ciebie codecademy i zobaczymy co z tego wyjdzie :)))
Pozdrawiam 🙂
Ania