wtorek, 21 marca 2017

Najważniejsze błędy w podejściu do programowania u początkujących. Newbies FAQ


Poniżej przedstawiam typowe wypowiedzi i niepokoje początkujących adeptów programowania. Padawanie, nie idź tą drogą!

Czy Pan X nagra kurs na temat Y, bo chciałbym się tego nauczyć? - jeśli chcesz się czegoś nauczyć, nie czekaj na to, aż ktoś nagra na ten temat tutorial. Ucz się szukania odpowiedzi na własną rękę.

Czy warto uczyć się frameworka X, czy języka, na którego podstawie został stworzony - zdecydowanie, języka. Nauka np. Angulara bez znajomości JS (a w przypadku Angular 2 - także typescriptu), jest bezmyślnym przepisywaniem bez zrozumienia.


Czy technologia X wymiera? - technologie się zmieniają, ale nawet projekty na tych technologiach, które "wymierają", ktoś musi utrzymywać. Najszybciej wymierają te technologie, które były najmocniej "hypowane", co tyczy się na przykład frameroworków JS.

Którego języka najlepiej się nauczyć? Ze swojego przykładu - bardzo dużo ciekawych rzeczy dotyczących programowania w JS, nauczyłem się z … kursu PHP na KNPUniversity. Języki do pewnego poziomu różnią się w niewielkim stopniu i im więcej ich poznasz, tym więcej dowiesz się ogólnie o programowaniu. Nie zapominaj, że podczas nauki języka, musisz uczyć się także różnych narzędzi i frameworków.

Nie mam pojęcia o programowaniu, ale chcę napisać grę, system operacyjny, symulator samolotu, od czego zacząć? Zacznij od podstaw i naucz się podstaw programowania i przejdź przez proste projekty. Pisanie ogromnego projektu od 0 bez wiedzy, nie ma szans na powodzenie. Cele powinny być mierzalne i w miarę łatwe do osiągnięcia (tako rzecze Brian Tracy).

Czy nauka języka X przeszkodzi mi w zostaniu programistą w języku Y? - im więcej języków liźniesz, tym lepiej. Jeszcze nikomu nie zaszkodziło poznanie innego języka, pod warunkiem, że zbytnio się nie rozdrabniasz.

Uczę się języka X od dwóch miesięcy i dość dobrze go poznałem. Może czas zmienić język, lub zamiast front-endu zająć się backendem? IMO dobrym wyborem jest skupienie się zawodowe na jednej rzeczy. Jeśli zaczniesz przygodę z kodem od HTML i CSS, to douczaj się rzeczy, które są związane z przeglądarkami - dobrym wyborem będzie np PHP czy JS. Zwrot o 180 stopni i rozpoczęcie nauki C z myślą o pracy, sprawi, że stracisz większość zawodowego doświadczenia. Innych języków lepiej jest douczać się po godzinach, ale bez wiązania z nimi poważnych planów typu "nie znam Javy, ale zostanę seniorem". Jak pisał Steven Covey, najlepiej jest działać w zakresie swojego wpływu.


Czy warto kupić książkę X? - warto czytać jak najwięcej, bo tylko wtedy poznasz różnicę, między dobrymi i złymi źródłami wiedzy. Odnośnie do nauki HTML i CSS - wielokrotnie słyszałem, że nie warto kupować książek do jego nauki. To błąd - przerobienie podręcznika tych języków, rozwieje wiele wątpliwości. Nie bierz się jednak za zbyt trudne książki, które od razu przechodzą do szczegółów danego zagadnienia, bez podawania ogółów. Co do czytania książek - staram się to robić w drodze do pracy i z pracy, natomiast gdy szukam rozwiązania na szybko, zaglądam raczej na Stacka.

Czy po zrobieniu kursu X będę programistą języka Y? Nie będziesz, podobnie, jak kupując lustrzankę Canona, nie staniesz się fotografem. Programowanie to nie tylko znajomość języka - liczy się też ogólna znajomość obsługi komputera (niektórzy słabo radzą sobie nawet z Windows) i jego działania, designu (we front-endzie), edytora tekstu / IDE, czytania dokumentacji oraz wielu innych rzeczy. Chyba najważniejszą z nich, jest samodzielność w rozwiązywaniu problemów, tymczasem na kursach, uczysz się jej odwrotności. Polecam kursy darmowe, których w sieci jest na tony.

Chcę zostać programistą JS, czy muszę znać HTML + CSS? First things first - bez znajomości HTML i CSS, nie zostaniesz programistą JS. Jeśli nie radzisz sobie na przykład z CSS (co może wynikać na przykład ze zbyt małej dokładności), na pewno nie poradzisz sobie ze znacznie trudniejszym JS.

Debugowanie na forum - rozwiązywanie banalnych błędów (jak źle podpięty CSS), bez wysilania głowy - zamiast tego, kod jest wrzucany na forum.

Jaki laptop do programowania? - bardzo częste pytanie na forach internetowych. Moim zdaniem, najlepszym rozwiązaniem są laptopy biznesowe z najwyższych serii takich firm, jak Dell czy Lenovo. Gdy są nowe, kosztują bardzo dużo, jednak wybierając model poleasingowy, otrzymujesz świetny sprzęt w cenie laptopa z marketu. Do tego wygodna myszka i drugi monitor.


1 komentarz: