Zdjęcie główne artykułu by stocksnap.io
Wśród Polaków pokutuje przekonanie, że programowanie wymaga wyjątkowych predyspozycji, w związku z czym nie jest to zawód dostępny dla wszystkich. W badaniu przeprowadzonym na zlecenie międzynarodowej sieci szkół programowania Codecool, 45 proc. ankietowanych jako główną barierę w rozpoczęciu nauki kodowania wskazało właśnie brak predyspozycji. Wśród osób w wieku 18-24 lata takiej odpowiedzi udzieliło aż 61 proc.
Teoretycznie lista predyspozycji niezbędnych do podjęcia nauki programowania wygląda całkiem zwyczajnie. Jednak to co decyduje o tym, czy ktoś odkryje w sobie żyłkę do kodowania zależy w głównej mierze od jego charakteru. Jak zatem można sprawdzić czy jest się odpowiednim kandydatem na programistę?
1. Znajomość języka angielskiego
Pierwszy warunek to umiejętność, którą względnie łatwo można zmierzyć – znajomość języka angielskiego. Bez tego ani rusz, jeśli poważnie zastanawiamy się nad rozwojem kariery w IT. Kluczowa jest zarówno umiejętność czytania ze zrozumieniem, jak i poprawne tworzenie treści. Ta pierwsza przydaje się zwłaszcza na etapie nauki. Znaczna część wysokiej jakości materiałów dydaktycznych jest dostępna tylko w języku angielskim. Bardziej zaawansowane opracowania dotyczące konkretnych języków czy rozwiązań, przydatne na etapie rozwijania umiejętności we własnym zakresie, również nie powstają zazwyczaj w innej wersji językowej. W codziennej pracy natomiast, istotne jest tworzenie zrozumiałej, anglojęzycznej dokumentacji i obszernych komentarzy do wdrożonego rozwiązania czy wprowadzonych zmian.
2. Logika i analityka
Trudniejsze do zmierzenia, ale wciąż w miarę „twarde kompetencje” potrzebne do programowania to umiejętności logiczne i analityczne. Jak twierdzi Jerzy Mardaus, mentor w szkole programowania, codzienna praca programisty polega na rozwiązywaniu problemów, dostrzeganiu potrzeb końcowego użytkownika oprogramowania, znalezieniu najlepszych rozwiązań i wprowadzeniu ich w życie dzięki właściwemu użyciu kodu. To wymaga często spojrzenia na pewne kwestie z różnych perspektyw i znalezienia najbardziej optymalnego wyjścia z danej sytuacji. Na etapie konstruowania kodu nieoceniona jest łatwość w dostrzeganiu zależności pomiędzy jego kolejnymi składowymi oraz dopasowanie kolejności tworzenia poszczególnych części, tak by całość dała zadowalający efekt.
3. Konsekwencja
Przechodząc do umiejętności zależnych bardziej od indywidualnego charakteru niż od wyuczonych kwalifikacji dochodzimy do konsekwencji. Programista powinien mieć dużo wewnętrznego samozaparcia, by doprowadzać rozpoczęte projekty do końca. Często od określenia potrzeb do przedstawienia gotowego, i w pełni sprawnego, rozwiązania upływa sporo czasu, a projekt wymaga wielu modyfikacji, czy to w zakresie określonych pierwotnie funkcjonalności czy też samego rozwiązania informatycznego. Podobnie jak w startupie, tak i w programowaniu, to finalny produkt, a nie MVP ma największą wartość. Konieczne są zawsze szczegółowe testy i sprawdzanie prawidłowego funkcjonowania stworzonego rozwiązania. Zajmuje to dużo czasu, pojawiają się kolejne wyzwania, dlatego upór i determinacja to wysoce przydatne cechy programisty.
4. Dociekliwość
Kolejną cechą przydatną w programowaniu, która wynika bezpośrednio z potrzeby rozwiązywania problemów jest dociekliwość i chęć ciągłego dokształcania. Konsekwencja i upór pchają w stronę ukończenia danego projektu. Jednak po drodze nie można zapomnieć o zadawaniu sobie pytań „jak?”, „dlaczego?”. Programista musi być otwarty na nowe informacje i poszerzać swoją wiedzę. Każdy dzień spędzony z kodem przynosi nowe wyzwania, wymaga użycia różnych metod i niestandardowego podejścia. Dodatkowo, biorąc pod uwagę dynamikę rozwoju branży IT, nie sposób się w niej utrzymać, nie poszerzając stale własnych horyzontów.
5. Motywacja
Ostatnia, lecz nie najmniej ważna cecha to motywacja. To od niej zależy czy nauka programowania zakończy się sukcesem i nową pracą, czy będzie po prostu kolejnym punktem w CV. Nikt za nas nie oceni, czy jesteśmy osobą, która do każdego nowego pomysłu podchodzi z zaangażowaniem i konsekwentnie realizuje go do końca, czy może mamy zazwyczaj słomiany zapał.
Lista wskazanych powyżej predyspozycji nie jest przypadkowa. Jak podkreśla Jerzy Mardaus, to właśnie pod tym kątem sprawdzani są zgłaszający się do szkoły adepci programowania. Te cechy oceniają też mentorzy, pracujący z kursantami. Doświadczenie pokazuje, że łatwiej jest nauczyć się obsługi programów i pisania algorytmów, niż wypracować w sobie konkretne postawy i zmienić sposób myślenia.
Przed podjęciem decyzji o rozpoczęciu kursu programowania warto też sprawdzić dokładnie na czym polega praca programisty, jakie są możliwości rozwoju i dostępne ścieżki. Najbardziej wiarygodni będą w tej kwestii znajomi, którzy już są w zawodzie. Jeśli jednak nikogo takiego nie ma w bliskim otoczeniu, zawsze można wziąć udział w wydarzeniach organizowanych przez społeczności entuzjastów programowania. Wiele z nich odbywa się właśnie z myślą o tych, którzy dopiero chcą rozpocząć swoją przygodę z kodowaniem. Na pewno warto skorzystać ze wszystkich możliwych opcji sprawdzenia kulisów tego zawodu. Im bardziej świadoma decyzja o rozpoczęciu nauki programowania, tym większa satysfakcja z osiąganych wyników.
–
Katarzyna Płachecka
Marketing Manager w Codecool Poland
Wcześniej związana była z agencją Symetria PR, w której zajmowała się public relations dla marek z branży nowych technologii i outsourcingu. Prowadzi także komunikację w social media i działania influencer relations dla sektora Horeca.