Niemal każdy wie, że programista powinien znać angielski. Czy oznacza to jednak, że osoba, która nie zna tego języka, będzie miała trudniej? A może wcale nie uda jej się nauczyć programowania?
Na te, i nie tylko te pytania postaram się odpowiedzieć w tym wpisie. Zrobię to z perspektywy osoby, która zaczynając programowanie, nie potrafiła jeszcze dobrze złożyć samodzielnie jednego zdania w tym języku.
Spis treści
Do samego “klepania” kodu, nawet w Pythonie, który swoją składnią rzeczywiście przypomina język angielski, znajomość tego języka nie będzie Wam potrzebna.
Na bazie moich doświadczeń, uważam, że angielski przydaje się programiście przede wszystkim do dwóch celów:
1. Wyszukiwanie informacji. Jako programiści cały czas przemierzamy internet w poszukiwaniu rozmaitych solucji. Można powiedzieć, że praca programisty to ciągłe “rozwiązywanie problemów”, dlatego powinniśmy mieć research w małym palcu.
Programiści z całego świata komunikują się głównie w języku angielskim, dlatego zasobów po polsku jest po prostu zbyt mało, by móc zawsze znaleźć odpowiedź na jakiś programistyczny problem — a wierzcie mi lub nie — nawet najlepsi z nas spędzają więcej czasu na szukaniu i myśleniu niż na rzeczywistym pisaniu kodu (może z wyjątkiem niektórych frontendowców i osób, które pracują ciągle przy podobnych projektach).
Wyszukiwanie informacji jest cholernie istotne i nie dajcie sobie wmówić, że jest inaczej. Każdy znany mi zaawansowany programista, nawet nie podejmuje się prób szukania solucji programistycznych problemów po polsku.
Na szczęście nie trzeba do tego niesamowicie dużych umiejętności. Zwykle wystarczy znajomość frazy “how to” i technicznego słownictwa, które pozwoli Wam jako tako opisać dane zagadnienie.
2. Praca w grupie. Prędzej czy później prawdopodobnie będziecie pracować z innymi lub Wasz projekt trafi w ręce osoby, która nie zna języka polskiego.
Wszelkie komentarze, nazwy zmiennych i funkcji, oraz dokumentacje kodu powinny być zawsze prowadzone w języku angielskim. No, chyba że macie absolutną pewność, że nigdy przy Waszych projektach nie będzie pracował nikt nieznający danego, innego języka jak np. polskiego. Wtedy, tak czy siak — wzorce nadal sugerują trzymanie się nazw po angielsku, ale jeśli nikt Was nie zmusza — róbcie jak chcecie (ale lepiej róbcie po angielsku).
Tu nie chodzi o jakąś fascynację tym językiem, czy niechęć do używania ojczystego. Uwielbiam język polski i najchętniej używałbym go wszędzie, gdzie tylko się da. Po prostu praktyka pokazuje, że w tej branży niezwykle często pracujemy z ludźmi z różnych krajów, dlatego lepiej jest, gdy wszyscy wspólnie trzymamy się jednego języka — a takim najbardziej uniwersalnym językiem w naszej branży niestety nie jest język polski, a język angielski.
Ja też miałem parę razy przyjemność dłubać w kodzie z komentarzami po chińsku i wietnamsku. Jako że nie znam tych języków, było mi naprawdę trudno i z tego co pamiętam — dość szybko sobie odpuściłem. Z tego też powodu, np. Francuz nieznający polskiego również mógłby sobie nie poradzić lub mieć bardzo utrudnione zadanie z kodem, w którym wszystkie nazwy i komentarze występują w języku polskim. Wybór należy do Was, ale myśląc o pracy z innymi ludźmi, lepiej od razu uczyć się tworzyć wszystko po angielsku.
Znajomość języka angielskiego nie jest niezbędna do programowania. W internecie możecie znaleźć całe mnóstwo kursów i zasobów pozwalających na naukę w języku polskim, a w razie potrzeby wyszukania czegoś po angielsku, zawsze możecie skorzystać z darmowego narzędzia do tłumaczenia jak np. Tłumacz Google.
Programowania da się nauczyć bez znajomości angielskiego i prawdopodobnie da się być bez niej bardzo dobrym programistą.
Uważam jednak, że takiej osobie będzie o wiele ciężej, a jej praca będzie mniej wydajna. Jeżeli taka osoba ma zamiar pracować etatowo, prawdopodobnie będzie miała trudności ze znalezieniem dobrej posady, ponieważ niemal wszystkie firmy oczekują od programistów dobrej znajomości angielskiego.
W takiej sytuacji na pewno nie polecam rozkładać rąk i mówić, że to nie dla Was.
Jeżeli kodowanie to rzeczywiście coś, czym chcecie się zajmować, programujcie tak, jak potraficie i wyszukujcie informacje tak, jak potraficie (np. z wykorzystaniem tłumacza).
Pamiętajcie jednak, że znajomość angielskiego jest w tej branży niezwykle istotna i powinniście opanować ten język przynajmniej na poziomie komunikatywnym. Do programowania wcale nie musicie znać angielskich czasów, ani być orłem gramatyki. Wystarczy znajomość branżowego słownictwa i podstawowych zwrotów, tak żebyście byli w stanie samodzielnie wyszukiwać informacje w internecie. To bardzo istotne.
Każdy ma swoje metody i nie chcę tu na siłę wciskać Wam jakiejś “jedynej słusznej”. Podpowiem jednak kilka ciekawych sposobów i opiszę, w jaki sposób angielskiego uczyłem się ja.
Jeżeli nie znacie angielskiego w ogóle, zacznijcie od nauki słówek. Możecie do tego wykorzystać chociażby aplikację Duolingo.
Jeżeli macie już jakieś podstawy, nauka to czysta przyjemność, bowiem wystarczy się danym językiem “otoczyć”, aby uczyć się go w łatwy, naturalny sposób.
Dla przykładu, jeżeli dobrze znacie te środowiska, zacznijcie od zmiany języka na angielski w swoim komputerze i telefonie. To samo możecie zrobić np. z ulubionymi grami komputerowymi.
Świetnym pomysłem dla nieco bardziej zaawansowanych osób jest czytanie lub oglądanie filmów i seriali po angielsku (najlepiej z napisami). Jeżeli radzicie sobie z tym tak sobie, zapoznajcie się pierw z daną produkcją w języku polskim, żeby później łatwiej rozumieć kontekst.
Ja bardzo dużo nauczyłem się ze swojego ulubionego serialu “Silicon Valley”. Znałem go, bo oglądałem go już wcześniej po polsku, więc nawet gdy wielu słów nie rozumiałem, nie gubiłem się w fabule. Oprócz tego, że dzięki temu serialowi nauczyłem się lepiej rozumieć mówiony język angielski, przyswoiłem całkiem sporo branżowego słownictwa, którym na co dzień posługują się programiści. Wcale nie zatrzymywałem serialu co minutę i nie sprawdzałem w tłumaczu każdego słowa. Wiedza z czasem wchodziła sama, z kontekstu.
Jeszcze kilka lat temu miałem trudności z samodzielnym składaniem po angielsku zdań. Dziś powiedziałbym, że mój poziom jest niezły, prawdopodobnie lekko ponadprzeciętny. Czuję się w angielskim z 5 razy lepiej niż kilka lat temu, a od tego czasu nie miałem ani razu w ręku żadnej książki, czy kursu. Wszystkiego nauczyłem się z seriali, gier, oraz innych treści, które “przy okazji” chłonąłem w tym języku. Dziś całkiem komfortowo słucham po angielsku podcastów, czytam książki, czy oglądam filmy i seriale, których wcześniej nie oglądałem po polsku (umiem ten język już na tyle, że zwykle nie gubię się jakoś bardzo w fabule, nawet w przypadku bardziej wymyślnych dzieł z gatunku fantasy).
Nie piszę tego, żeby się pochwalić, bo chyba nie ma specjalnie czym. Piszę to, żeby zachęcić tych z Was, którzy nie potrafią angielskiego do jego nauki. To naprawdę nie musi być nudny i trudny proces. Nawet jeżeli jesteście już dorośli i dawno skończyliście szkołę, wciąż możecie się tego języka nauczyć, dlatego jeśli chcecie być programistami, gorąco polecam.