Czy programowanie jest trudne?

Czy programowanie jest trudne?

21 kwietnia 2022

Nie będę ukrywał, że programowanie na pierwszy rzut oka wygląda raczej na cholernie skomplikowany zawód. Dla kogoś, kto nie miał z tym nigdy kontaktu, zbiór nic nieznaczących dziwnych znaków może wydawać się kompletnie niezrozumiały.

Mnie tak samo niezrozumiały wydaje się chociażby język chiński, a jakoś mówi nim ponad miliard osób na całym świecie.

Tak samo jest z programowaniem. Sprawia wrażenie czegoś trudnego, ale w rzeczywistości… To zależy.

Same podstawy programowania można opanować z plus minus dwóch kursów na tyle, by móc zacząć tworzyć coś samemu. Programowanie to nie tylko znajomość samej składni i możliwości tego, co jesteście w stanie zrobić. To przede wszystkim kwestia odpowiedniego myślenia i umiejętności logicznego rozwiązywania problemów.

Wszystko zależy od Waszych predyspozycji i doświadczenia.

Osobiście uważam, że predyspozycje do programowania miałem raczej średnie. Z jednej strony potrafiłem logicznie myśleć, ale z drugiej raczej zawsze byłem dość roztrzepanym dzieciakiem, który bardzo szybko tracił koncentracje. Nigdy też nie lubiłem uczyć się programowania. Lubiłem programować, ale nie lubiłem na siłę wertować teorii, szukać nowinek, czy nieustannie uczyć się najlepszych praktyk. W rezultacie programistą jestem obecnie takim sobie. Są lepsi, są gorsi, ale ostatecznie zawsze jestem w stanie zrobić to co bym chciał. Także, umiem programować, mimo braku jakiegoś “wrodzonego talentu”, czy wielkiego zapału do nauki.

Da się, trzeba tylko odrobinę chcieć, a przede wszystkim ciągle próbować. Nawet jeśli Ci coś nie wychodzi, nie poddawaj się. Szukaj alternatywnych rozwiązań, pytaj na forach — tak właśnie będziesz się uczył. Programowanie z reguły jest trudne na początku, ale jak już nauczysz się podstaw, wiedza powinna wchodzić “naturalnie”… Choć nie zrozum mnie źle, ciężkie momenty nadal będą się zdarzać, bo zdarzają się one nawet najbardziej doświadczonym programistą. Po latach grzebania w kodzie do dziś jestem w stanie utknąć na czymś prostym na dobre kilka godzin. To zdarza się niemal każdemu.

Czy każdy może nauczyć się programowania?

Czy każdy może nauczyć się jazdy na rowerze? Czy każdy może nauczyć się języka obcego?

To dość podobne pytania, a odpowiedź brzmi oczywiście: nie. Technicznie rzecz ujmując, nie każdy.

Nie zmienia to jednak faktu, że zdecydowana większość osób powinna sobie z tym poradzić.

Jeżeli masz sprawny komputer, jakikolwiek działający internet i choć trochę chęci, jestem niemal pewien, że będziesz w stanie nauczyć się podstaw programowania, bo dałoby się nawet bez tych rzeczy. W dawnych czasach w mniej rozwiniętych krajach ludzie uczyli się programowania, nie mając nawet komputerów. Pisali swoje skrypty na kartce, a potem wysyłali listownie do kogoś, kto miał komputer. Dało się? Pewnie, że tak. Najbardziej liczą się Wasze chęci i zaangażowanie.

Nawet jeśli na początku Wam nie wychodzi, dajcie sobie czas. Ciężko jest “nauczyć się programowania” w dwa tygodnie. W rzeczywistości programowania uczymy się tak naprawdę cały czas, nawet pracując już w zawodzie.

Jeśli chcesz dowiedzieć się więcej, zobacz wpis: Czy każdy może nauczyć się programować?

Czy matematyka jest ważna w programowaniu?

Wielu młodych adeptów programowania boi się tej dziedziny, bo w szkole byli słabi z matematyki.

Ja też orłem nie byłem i prawdę mówiąc… Zupełnie mi to dziś nie przeszkadza. W programowaniu liczy się przede wszystkim logiczne myślenie, a sama matematyka zazwyczaj sprowadza się do dodawania, odejmowania, mnożenia i dzielenia.

Jeżeli chcecie np. programować elementy sklepów internetowych, czy proste aplikacje mobilne, prawdopodobnie rzadko kiedy zdarzy Wam się potrzebować jakiejś zaawansowanej matematyki. Są oczywiście zadania, które jej wymagają, ale wszystko zależy od Waszej specjalizacji i konkretnego projektu. Osobiście przy kilku swoich projektach miałem trochę do czynienia z matematyką i musiałem się co nieco douczyć, ale znam programistów, którzy, choć pracują w branży, dosłownie nigdy nie ruszali niczego, co wykraczałoby poza najprostsze działania, które większość osób opanowuje na etapie 2-3 klasy podstawówki.

Matematyka nie jest aż tak kluczowa jak mogłoby się Wam wydawać. Dopóki nie zamierzacie robić zaawansowanych rzeczy, które będą jej wymagały, prawdopodobnie bez problemu sobie poradzicie. A nawet jeśli nie, nic nie stoi na przeszkodzie, by się odrobinę dokształcić.

Według mnie, od matematyki w programowaniu znacznie ważniejszy jest język angielski. Jako programiści nieustannie wyszukujemy informacje. Jeżeli programista ma jakiś problem ze swoim kodem, zazwyczaj pierwsze co robi to otwarcie wyszukiwarki i opisanie problemu w prostych słowach po angielsku. W większości przypadków ląduje on później na jakimś forum (najczęściej Stack Overflow), gdzie inni programiści dyskutują o tym problemie i proponują swoje rozwiązania.

Może to się wydawać śmieszne i budzić skojarzenie z “odgapianiem zadań”, ale naprawdę tak to wygląda. Jako programiści bardzo często mierzymy się z podobnymi problemami, więc wymieniamy się swoją wiedzą. Zazwyczaj robimy to jednak w języku angielskim, dlatego naprawdę warto go znać przynajmniej na tyle, by móc swobodnie wyszukiwać solucje swoich problemów.

Ile czasu trzeba, by nauczyć się programowania?

∞ – nieskończoność.

A tak poważnie, nie wiem, być może jest taka ilość, ale nie słyszałem o ani jednej osobie, która by się programowania “nauczyła”. Języków jest całe mnóstwo, jeszcze więcej jest frameworków, czy bibliotek, więc naprawdę nie sposób jest pojąć “całe programowanie”.

Aby nauczyć się programowania na tyle, by móc swobodnie tworzyć własne, proste projekty, powiedziałbym, że zazwyczaj starczą około 2-3 tygodnie po godzinkę, może dwie dziennie. Sam zacząłem po trzech dniach po godzinę dziennie, ale wierzcie mi lub nie, byłem beznadziejny.

Proponowałbym Wam mimo wszystko poznać trochę teorii i później przerzucić się na przerabianie jakiegoś dobrze napisanego, prostego projektu.

Jeżeli podejdziecie do sprawy poważnie i będziecie uczyć się regularnie, nie skacząc co pięć minut między innymi językami i frameworkami, prawdopodobnie po mniej więcej roku będziecie w stanie starać się o swoją pierwszą pracę w zawodzie. Oczywiście, dałoby się to zrobić nawet po trzech miesiącach. Kwestia Waszego zaangażowania, poświęconego czasu, predyspozycji i tego, jak dokładnie przepracujecie ten czas.

Nie da się jakoś jednoznacznie oszacować tej liczby. To nie jest kurs prawa jazdy, który można machnąć w 20-30 godzin i w jakichś 95% przypadków umieć jeździć.

Jeżeli bardzo zależy Wam na odpowiedzi, przyjąłbym bezpiecznie ten plus minus rok. Jeżeli przepracujecie go sumiennie, prawdopodobnie będziecie już w stanie samodzielnie programować bez zerkania do sieci co pięć minut. Wówczas, istnieje spora szansa na to, że będziecie gotowi na swoją pierwszą pracę w zawodzie.