Czy programowanie jest trudne i ile zajmuje czasu?
Spis treści
Jeśli poszukamy odpowiedzi na pytanie postawione w tytule tego wpisu, to najczęściej spotkamy się ze stwierdzeniami typu:
programować każdy może nie ma w tym nic trudnego to zależy w jakim języku, w X jest łatwo, w Y trudno
Gdy nie prowadziłem jeszcze szkoleń, nie tworzyłem kursów internetowych, to byłem bardzo podobnego zdania. Z czasem zacząłem sobie jednak zdawać sprawę, że z punktu widzenia osoby z kilkuletnim doświadczeniem w dowolnej dziedzinie wszystko wydaje się łatwe, a z punktu widzenia osoby nie mającej o tym pojęcia wszystko wydaje się trudne. Punkt widzenia mocno się zmienia, gdy masz możliwość kontaktu z wieloma osobami, które zaczynają z punktu 0. Problem polega na tym, że większość programistów udzielających się w tego typu tematach na forach, czy blogach tak jakby zapomniało jak sami stawiali pierwsze kroki. Wielu programistów ma syndrom Boga i próbuje pokazać młodszym jacy to oni nie są super i jak to wszystko wiedzą. Wychodząc z takim podejściem ludzie tacy często piszą, że jakiegoś języka można się nauczyć się w dwa tygodnie, czy miesiąc. Prawda jest taka, że o ile podstaw samego języka faktycznie można nauczyć się w takim czasie, to w praktyce będą to podstawy, które nie pozwolą napisać nic bardziej skomplikowanego, będzie to dopiero punkt wyjścia daleki od podjęcia pierwszej pracy, który większość osób stawia sobie jako punkt docelowy.
Trudność w nauce programowania nie jest zależna od języka programowania
No może z małymi wyjątkami. W większości przypadków jeśli spojrzymy np. na najpopularniejsze języki, czyli Javę, C#, Pythona, JavaScript, PHP, to różnice pomiędzy nimi, przynajmniej jeśli chodzi o podstawy, są marginalne . We wszystkich z nich powtarzają się te same słowa kluczowe: if, while, int, double, public, class itd. Zdecydowana większość popularnych języków programowania łączy te same paradygmaty programowania - obiektowe i funkcyjne, podstawowe konstrukcje różnią się tym czy i gdzie postawić nawiasy, czy jakiej kolejności słów kluczowych użyć. Dopiero na wyższym poziomie pojawiają się różnice, które mogą sprawić dodatkowe trudności i krzywa uczenia może wyglądać różnie dla różnych języków, ale to wykracza poza określenie nauka programowania jako takie i wkracza raczej na pole specjalizacji w danej technologii. To tak samo jak można określić się świetnym mechanikiem, ale można specjalizować się w samochodach niemieckich, albo japońskich.
Programowanie wymaga czasu
Jedna z rzeczy, która przytłacza większość osób rozpoczynających swoją przygodę z programowaniem to ilość czasu jaką trzeba na to poświęcić. Niestety popularne jest promowanie teorii, że programowania da się nauczyć w miesiąc, czy dwa i to od zera, samodzielnie i po tym czasie iść do pracy. Częściowo wynika to z agresywnego marketingu szkół programowania, częściowo z postów na forach od "Bogów programowania", którzy zapomnieli już, że sami uczyli się programować przez kilka lat na studiach.
W rzeczywistości programowanie jest nauką dla wytrwałych. Jeśli trafisz na szkolenie z programowania, to musisz zdawać sobie sprawę z tego, że jeśli trwa ono np. 100 godzin, to kolejne 2-3 razy tyle czasu będzie trzeba poświęcić samodzielnie w domu na powtórki i utrwalenie wiedzy. Tutaj nie ma drogi na skróty. Jeśli założysz sobie 2-3 godziny dziennie na naukę, to bierz pod uwagę, że aby dojść do poziomu młodszego programisty, czy nawet stażysty niezbędne będzie poświęcenie na to przynajmniej kilku miesięcy i to raczej 6 niż 2.
Programowanie trzeba lubić
Wiele osób decyduje się na naukę programowania ze względu na niezadowolenie z aktualnie wykonywanej pracy lub niskich zarobków. Niektórzy decydują się zapłacić za naukę nawet ponad 10 tysięcy złotych, nie biorąc pod uwagę tego, że programowanie wcale nie musi być dla nich przyjemnością i że zanim zaczną zarabiać dobre pieniądze minie prawdopodobnie kilka lat. Programowanie oznacza siedzenie przy komputerze co najmniej 8 godzin dziennie. Bycia programistą nie można porównać do wielu zawodów "na etacie". Pewnie są wyjątki osób, które ograniczają się do pracy od 8 do 16 i zapominają o byciu programistą, ale zdecydowana większość, która chce być lepsza i chce zarabiać więcej, poświęca na to dodatkowo swój prywatny czas. Czyta książki i blogi, chodzi na spotkania i konferencje, rozwija swoje dodatkowe projekty. Przygotuj się na to, że jeśli już dostaniesz pierwszą pracę, to nie będziesz zarabiać 5 tys zł, przygotuj się na to, że będziesz spędzać przy komputerze do 12 godzin, ucząc się i pracując. Zanim wydasz więc kilka, czy kilkanaście tysięcy zł na szkolenie (niezależnie czy u nas, czy gdziekolwiek indziej) polecam tańsze alternatywy - nasz kurs internetowy, książkę, jakiekolwiek darmowe materiały. Sprawdź na ile wytrwałości starczy Ci przy samodzielnej nauce. Dopiero jeśli zauważysz, że jest to dla Ciebie ciekawe, rozważ opcję przyspieszenia swojej nauki pod okiem kogoś doświadczonego.
No więc, czy programowanie jest trudne?
Jest i nie jest, ale na pewno wymaga ogromnego zaangażowania i wytrwałości, a przede wszystkim trzeba to lubić. Jeśli siedzenie przy komputerze sprawia Ci trudności, masz problem ze skupieniem uwagi przez dłuższy czas, wolisz spędzać czas aktywnie i szybko się denerwujesz, czy poddajesz, to polecam przemyśleć, czy angażowanie się na siłę w naukę programowania jest dobrym wyborem. Nie każdy musi być programistą, tak samo jak nie każdy musi być lekarzem. Jeżeli natomiast programowanie będzie sprawiało Ci przyjemność od początku, jeżeli nauka i siedzenie przy komputerze (nie w kontekście przeglądania youtube i facebooka) sprawia Ci satysfakcję, to prawdopodobnie nauka programowania będzie Ci się wydawała stosunkowo prosta, a przynajmniej nie trudniejsza od jakiejkolwiek innej dziedziny. Z czasem zauważysz, że pisanie kodu to połączenie rozwiązywania łamigłówek z pracą twórczą, a satysfakcja z tego, że będziesz tworzyć produkty, z których korzystają później dziesiątki, setki, czy tysiące osób będzie ogromna. Przede wszystkim spróbuj i się przekonaj, nie wierz nikomu na słowo. Źródeł nauki, zarówno płatnych jak i darmowych jest ogromna ilość, na pewno znajdziesz coś dla siebie.
Dyskusja i komentarze
Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.