Najpierw w głowie pojawia się myśl – chcę zostać programistą! Ale już za chwilę zaczynają mnożyć się pytania i pojawiają się wątpliwości. Czy to nie jest za trudne? Czy mam do tego odpowiednie predyspozycje? Jak to jest – czy faktycznie programistą może zostać każdy, tak jak obiecują to coraz bardziej popularne szkoły programowania czy jednak jest to zajęcie tylko dla wybranych, tak jak uważano jeszcze kilkanaście lat temu?
Jak to najczęściej bywa prawda leży gdzieś pośrodku, bo żeby zostać programistą wcale nie musisz być tym stereotypowym, siedzącym w piwnicy nerdem, którego jedynym oknem na świat jest internetowa przeglądarka. Ale też z drugiej strony programowanie to dość trudna i wymagająca wielu godzin nauki umiejętność i z całą pewnością nie każdy, kto stwierdzi, że chce zostać programistą, ten cel osiągnie.
Programowanie to nie jest bułka z masłem
O tym, ile czasu potrzeba, żeby zostać programistą, wspominałem tutaj, ale na pewno nie jest tak, że weźmiemy udział w trzymiesięcznym kursie i już będziemy programistami. Taki kurs może dać nam pewne podstawy, ale właśnie, to będą tylko podstawy, a realna droga do zostania programistą jest dużo, dużo dłuższa.
I właśnie to sprawia, że wiele osób, po początkowej ekscytacji, na pewnym etapie rezygnuje. Bo efekty nie przychodzą tak szybko, bo progres nie jest tak dynamiczny, jak byśmy tego oczekiwali, bo widzimy jak wiele pracy jeszcze przed nami. Zdecydowanie nauka programowania to rzecz dla wytrwałych, dla osób, które są w stanie regularnie, najlepiej codziennie, przez kilka, a nawet kilkanaście miesięcy, siadać do komputera i pisać kod.
Trzy filary nauki programowania
Sporo osób rezygnuje, bo nie wie czego się uczyć. Programowanie to naprawdę szeroka dziedzina i ogarnięcie tego, co jest istotne i na jakim etapie nauki jest to istotne, nie jest łatwe. Bez dobrego planu naprawdę łatwo jest się zniechęcić i tutaj odsyłam do ebooka Roadmapa programisty, w którym postarałem się właśnie taki bardzo sensowny plan nakreślić. Oczywiście sam ebook nie wystarczy, bo 95% pracy będziecie musieli wykonać sami, ale na pewno pomoże Wam w odnalezieniu właściwej drogi.
Czyli mamy dobry plan, wytrwałość i konsekwencję i jeżeli chcemy zostać programistą, są to absolutnie trzy najważniejsze filary. Ale co z naszymi predyspozycjami? Czy do programowania potrzebujemy jakiegoś specjalnego talentu? Czy musimy być na przykład dobrzy z matematyki? Oczywiście jak z każdą umiejętnością, różne osoby będą uczyły się w różnym tempie. Ktoś załapie podstawy programowania w trzy dni, ktoś inny w tydzień, niektórzy będą potrzebować miesiąca czy kilku miesięcy, na pewno też osoby, które nawet po takim czasie nie bardzo będą sobie z programowaniem radzić, ale generalnie możemy założyć, że każdy kto posiada umiejętność logicznego i analitycznego myślenia, może nauczyć się programowania.
I jasne, jest to spore uogólnienie, bo przecież umiejętność logicznego i analitycznego myślenia, czy nawet umiejętność algorytmicznego rozwiązywania problemów, które do tej listy predyspozycji też warto dołożyć, to bardzo szerokie koncepty. Dlatego uważam, że najlepszym sposobem na stwierdzenie, czy programowanie jest zajęciem dla nas, jest po prostu spróbowanie. Wystarczy dosłownie kilka tygodni z programowaniem, żeby zobaczyć, jak nam idzie, przekonać się czy nam się to podoba i zdecydować czy jest to rzecz dla nas.
Co musi umieć przyszły programista?
I bez stresu, jeżeli piątki i szóstki z matematyki nie są lub nie były Twoimi ocenami. O znajomości matematyki w programowaniu – kiedy i na jakim poziomie faktycznie się przydaje – napiszę w jednym z przyszłych artykułów, ale w przypadku większości gałęzi programowania, a już na pewno, gdy uczymy się podstaw, prosta arytmetyka w zupełności wystarcza. Jeżeli umiesz dodawać, odejmować, mnożyć i dzielić, będzie ok.
Do tego wszystkiego w nauce programowania przyda Ci się odrobina samodzielności, bardzo przydatna będzie też umiejętność wyszukiwania informacji – praktycznie zawsze, gdy tylko napotkasz jakiś problem podczas nauki programowania, jego rozwiązanie znajdziesz w internecie. Kluczem jest tylko właściwe zdefiniowanie tego problemu, zadanie odpowiedniego pytania i wyszukanie odpowiedzi.
O tej samodzielności, ale też i o tym jak w programowaniu wygląda praca z innymi osobami, i o kilku innych ważnych cechach, opowiadałem w filmie 5 cech i umiejętności dobrego programisty, także zachęcam do zapoznania się nim, bo rzuci on na ten temat jeszcze szersze światło.