You are on page 1of 42

11.06.2019 ebook.

html

Szkoła Programowania Online

Najczęstsze błędy początkujących


programistów

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 1/43


11.06.2019 ebook.html

s. 2 / 41

Wstęp
Chcesz zostać programistą? Ucz się na błędach. Najlepiej cudzych. Kodilla poprosiła programistów z wieloletnim doświadczeniem, żeby na chwilę wczuli się

w rolę nowicjuszy. Co zmieniliby na początku nauki, gdyby już na starcie wiedzieli to, co wiedzą dzisiaj? Pierwsze kroki w programowaniu bywają trudne.

Zanim zdobędziesz doświadczenie, czekają Cię różne potknięcia i wpadki. Jak ich uniknąć? Gdzie szukać odpowiedzi? W internecie znajdziesz całą masę

poradników i tutoriali, ale który z nich rzeczywiście pomoże, a który tylko namiesza w głowie?

My poprosiliśmy o pomoc profesjonalistów. Zapytaliśmy doświadczonych programistów i programistki, co by zrobili, lub czego nie zrobili, gdyby musieli wybierać

jeszcze raz. Gdyby musieli zacząć od nowa, tyle że mieliby już obecną wiedzę i umiejętności. Przeanalizowaliśmy odpowiedzi naszych mentorów, znajomych

programistów, setki wątków na forach, komentarzy pod nimi i wypowiedzi programistów na YouTube… Zajęło to dwa tygodnie. Okazało się, że część porad

pojawia się bardzo często.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 2/43


11.06.2019 ebook.html

s. 3 / 41

6 błędów, które popełnia każdy


początkujący programista

Każdy początkujący programista popełnia błędy, ale które


najczęściej? Nie, nie chodzi nam o błędy w kodzie, ale te
podczas nauki programowania i pierwszych kroków w pracy.
Sprawdź listę 6 błędów, które popełnia prawie każdy junior
programista i unikaj ich jak ognia.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 3/43


11.06.2019 ebook.html

s. 4 / 41

1. Uczenie się nie tego, co


trzeba
Wiedza jest w zasięgu ręki - książki, darmowe kursy, e-booki, lmiki

na YouTube. Źródeł jest dużo, bardzo dużo, więc co wybrać? Najtrudniej jest
osobom początkującym i nie ma w tym nic dziwnego. Dla takich osób kod
wygląda jak ciąg dziwnych znaczków, a branża IT jest zupełnie obca.

Przykładowo, zgłosiła się do nas osoba, która uczyła się z książki wydanej

w 1997 roku lub osoby, które 15 lat temu miały w szkole lekcje z HTML4

i chciałyby kontynuować naukę. Programowanie, jak cała branża IT


dynamicznie się rozwija, więc materiały sprzed kilku lat są już przestarzałe.

Świadczy o tym na przykład fakt, że w książce o programowaniu z 97 r.

pierwszy rozdział tłumaczy co to jest internet, a zrzuty ekranu są


z Windowsa 95. Pierwszym problemem jest zatem wybór tego, czego

powinieneś się uczyć. Jeśli chcesz uczyć się programowania dla siebie,

możesz uczyć się czego zechcesz, jednak jeśli chcesz pracować jako

programista - powinieneś uczyć się tego, czego wymagają pracodawcy.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 4/43


11.06.2019 ebook.html

s. 5 / 41

2. Uczenie się zbyt wielu


rzeczy i niemożność oceny
własnej wiedzy
Wiele początkujących programistów koduje do szu ady. Uczą się dużo,

wszystkiego po trochę i nadal nie wiedzą, czy potra ą już wystarczająco

dużo, aby zacząć pracować w zawodzie programisty. Zdarzyło się, że pytała


nas o uczestnictwo w bootcampie osoba, która napisała aplikację na telefon,

łączącą się z GPS-em, a za pomocą algorytmów heurystycznych ustalała,

jak poprawić trening. Tymczasem 80% naszych kursantów w życiu nie

napisało ani jednej linijki kodu, a większość pewnie nie wie co to algorytm
heurystyczny ;). Trudno jest ocenić własna wiedzę z dziedziny, której się nie

zna.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 5/43


11.06.2019 ebook.html

s. 6 / 41

3. Zbyt mało nauki

Analogicznie jest w przypadku osób, które uczą się za mało, ale myślą,
że potra ą już wystarczająco dużo. Przerabiając kurs na CodeCademy,

otrzymuje się mnóstwo komunikatów o już zdobytej wiedzy. Można odnieść

wrażenie, że umie się już naprawdę dużo i można ruszać na podbój rm IT.

Ale czy na pewno? Tak naprawdę CodeCademy to tak jakby poznanie słów
w języku polskim - znasz słowa, ale to nie znaczy, że umiesz pisać wiersze.

Podobnie jak w poprzednich punktach - przydałaby się podpowiedź,

obiektywna ocena doświadczonego programisty.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 6/43


11.06.2019 ebook.html

s. 7 / 41

4. Brak praktyki

Programowania najlepiej nauczysz się programując. Opis zagadnienia


przydaje się jako wstęp, wprowadzenie w temat, ale trzeba jak najwięcej

robić praktycznych zadań, a z czasem własne projekty. Nie wierz w to,

że nauczysz się kodować, wyłącznie oglądając jak ktoś inny programuje.

Podobnie jest z książkami - są dobre do opanowania wiedzy teoretycznej


i jak najbardziej polecamy korzystać z nich, jeśli tylko macie na to czas.

Ale nauka programowania powinna w 90% polegać na praktyce kodowania.

Na rozmowach kwali kacyjnych programiści zawsze są sprawdzani pod


kątem wiedzy praktycznej - poprzez zadania. Sama teoria może się

sprawdzić jedynie w rozmowach towarzyskich ;-).

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 7/43


11.06.2019 ebook.html

s. 8 / 41

5. Uczenie się tylko frameworków

Przez lata rozwoju oprogramowania, powstało wiele gotowych rozwiązań

popularnych problemów. Początkującym programistom często wydaje się,

że wystarczy więc znaleźć odpowiedni gotowiec (np. w postaci frameworka

lub gotowego kodu w serwisie Stack Over ow) i korzystając z metody

kopiuj-wklej „napisać” program.

Dobrzy programiści robią inaczej. Uczą się języka zamiast korzystania

z gotowców, dzięki czemu rozumieją jak ten gotowiec działa. Jeśli trzeba coś

w nim zmienić lub wykorzystać inny gotowiec, łatwo im będzie się

przestawić. To działa tylko w jedną stronę - jeśli poznasz bibliotekę

JavaScriptu o nazwie jQuery, możesz w ogóle nie znać JavaScriptu(!).

Natomiast jeśli poznasz najpierw język JavaScript, bez problemu douczysz

się takiego frameworka czy biblioteki, jakiej akurat wymaga pracodawca.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 8/43


11.06.2019 ebook.html

s. 9 / 41

6. Nierealistyczne wymagania

Ten punkt poniekąd wiąże się z pozostałymi. Wiedza teoretyczna, brak oceny

własnych umiejętności, nieznajomość branży owocuje nierealistycznymi

wymaganiami wobec pracy programisty. To prawda, że programiści

zarabiają dość dużo i można otrzymać wynagrodzenie rzędu 15 tys.

miesięcznie, ale to dotyczy doświadczonych specjalistów. Juniorzy zarabiają


mniej na start, więc żądanie przez początkującego programisty takiej kwoty

na starcie jest nie na miejscu. Zdarzają się też inne, bardzo różne

wymagania, np. praca zdalna dla korporacji po kilku miesiącach nauki, praca

kilka godzin dziennie, bez doświadczenia, chęć programowania robotów

w JavaScript.

Początkujący programiści, którzy dobrze sobie radzą (unikają wyżej


wymienionych błędów) i rozwijają swoje umiejętności, mogą liczyć na szybki

awans. W branży IT docenia się doświadczenie i chęć nauki. Jak podaje

agencja doradztwa personalnego Experis, po pięciu latach pracy, 80%

programistów zarabia powyżej 10 tys. zł miesięcznie. Zatem warto starać się

już na samym początku przygody z programowaniem.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 9/43


11.06.2019 ebook.html

s. 10 / 41

30 krytycznych błędów, które programiści


popełniają od lat

Chcesz zostać programistą? Ucz się na błędach. Najlepiej


cudzych. Kodilla poprosiła programistów z wieloletnim
doświadczeniem, żeby na chwilę wczuli się w rolę
nowicjuszy. Co zmieniliby na początku nauki, gdyby już na
starcie wiedzieli to, co wiedzą dzisiaj?

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 10/43


11.06.2019 ebook.html

s. 11 / 41

1. Odkładałem naukę
na później

Zaczynaj od dziś. Nie od jutra. Nie po weekendzie. Nie po wakacjach.

Niby takie oczywiste, a jakoś wielu z nas uwielbia odkładać różne sprawy.

Czekamy aż kolega czy koleżanka też zaczną, bo chcemy wspólnie.


Wymyślamy sobie przełomowe daty, na przykład pierwszy dzień nowego

roku. “Gdybym odwlekał, być może dzisiaj wcale nie byłbym programistą.

Cztery lata temu podjąłem decyzję i jeszcze tego samego dnia zacząłem

czytać pierwszy podręcznik znaleziony w internecie. Wam radzę to samo”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 11/43


11.06.2019 ebook.html

s. 12 / 41

2. Nie umiałem korzystać


z pomocy innych, np. Mentora

Programowanie to sztuka, której będziesz się uczyć przez całe życie,

ale pamiętaj: “Nie ma sensu błądzić po omacku tam, gdzie już ktoś zapalił

światło. Znajdź mentora, osobę, która korzysta z przetartych szlaków”.


Poproś, aby Tobą pokierował.

Internet to dobrodziejstwo ludzkości, ale gromadzi mnóstwo informacji

(często dla Ciebie przestarzałych, w większości zbędnych, czasami wręcz

fałszywych). Samodzielnie też możesz się wiele nauczyć, jednak zajmie

to znacznie więcej czasu. Na dalszym etapie warto czytać książki i oglądać

tutoriale, jednak na początku ucz się wspólnie z lepszymi od siebie.


Tak będzie najszybciej i popełnisz najmniej błędów.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 12/43


<
11.06.2019 ebook.html

s. 13 / 41

3. Nie pracowałem z gumową


kaczuszką

“Metoda gumowej kaczuszki wydawała mi się infantylna, a ja przecież


chciałam być dojrzałą specjalistką. Dopiero po jakimś czasie odkryłam,

że to naprawdę działa”. Żółta, gumowa kaczka jest symbolem i metaforą

myślenia na głos. To sposób na wyłapywanie i analizowanie błędów

w kodzie (debugowanie).

Programista stawia gumową zabawkę w pobliżu komputera i gdy ma jakiś

problem z własnym kodem, coś w nim nie działa, zaczyna analizować

go linia po linii, jednocześnie tłumacząc kaczce, co robi i co widzi.


Kaczkę można zastąpić każdym innym dowolnym przedmiotem, można też

po prostu analizować na głos, jednak to właśnie kaczka stała się kultowym

już symbolem tej metody. Dla niektórych może wydawać się to dziecinne,

ale jeśli spróbujesz, przekonasz się, że daje zaskakujące efekty.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 13/43


11.06.2019 ebook.html

s. 14 / 41

4. Nie kupiłem planu lekcji

„Co masz zrobić dzisiaj, zrób pojutrze, będziesz mieć dwa dni wolnego”

- to powiedzenie podczas nauki programowania z pewnością się nie

sprawdzi. Nie odwlekaj, nie odkładaj na później! Zaległości się szybko

zemszczą. A jeśli wejdzie Ci to w krew, będziesz robić to samo już jako


zawodowiec, zaczniesz zawalać projekty. Dla pracodawców i klientów

to dyskwali kacja. “Gdybym zaczynał się uczyć od nowa, poszedłbym do

księgarni i kupił arkusz z planem lekcji. Taki, z jakiego korzystają dzieci

w szkole. A potem dokładnie rozpisał dzień po dniu, pamiętając

o przerwach. Oczywiście trzeba to dopasować do swojego rytmu, innych

zajęć, obowiązków, pracy, ale myślę, że osobom słabiej zdyscyplinowanym

mogłoby to pomóc”.

Dobry pomysł, ale skoro mowa o programowaniu, możesz zastanowić się

nad czymś bardziej nowoczesnym, czyli np. kalendarzem Google albo

w telefonie, które mogą wysyłać Ci przypomnienia. Pamiętaj tylko, żeby

nie tracić więcej czasu na kon gurację niż na naukę.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 15/43


11.06.2019 ebook.html

s. 15 / 41

5. Czytałem książki
o programowaniu, zamiast
stawiać na praktykę

“Poznając język codziennie przerabiałem przez godzinę podstawy

z podręcznika. Doszedłem do tego, że choć język znałem, nie potra łem

niczego sensownego w nim napisać. Dlatego poszedłem do jednej z rm

na praktyki i… świat się przede mną otworzył. Równolegle zacząłem

studiować informatykę” - wspomina jeden z mentorów Java Developer

w Kodilli. Czy dziś zrobiłby tak samo?

“Gdybym zaczął się uczyć programowania od nowa, to zamiast studiów

wybrałbym kurs w Kodilli, a po nim poszedł do pracy”. Jak podkreśla,

w nauce programowania najlepsze efekty daje realizacja własnych projektów,

a tego nie zapewni studiowanie książek w domowym zaciszu i zaliczanie

kolejnych egzaminów na uczelni wyższej.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 16/43


11.06.2019 ebook.html

s. 16 / 41

6. Studiowałem zbyt długo

Andrzej Trznadel, Mentor Java Developer w Kodilli: “Zamiast studiów

magisterskich wybrałbym inżynierskie albo zaoczne i jak najszybciej

starałbym się zdobyć komercyjne doświadczenie”. Uczelnie wyższe uczą


teorii - na to zwraca uwagę wielu programistów.

Jak zdobyć doświadczenie praktyczne? “Trzeba jak najszybciej zacząć

pracę w zespole. Uczyć się od innych i realizować projekty. Dyplom się

na pewno przyda, ale cenniejsze są umiejętności praktyczne”.

W Europie pojawiają się też alternatywne sposoby na zaliczenie studiów,

gdzie w rok - półtora można zdobyć licencjat z informatyki. Jak? Po prostu

rezygnują z niepotrzebnych przedmiotów i zostawiają samo sedno.

Polskie prawo niestety na to nie pozwala, ale za to są bootcampy :).

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 17/43


11.06.2019 ebook.html

s. 17 / 41

7. Nie szukałem kontaktów

Mentor jest naszym opiekunem, przewodnikiem, wsparciem. Ale on tylko

ustawia drogowskazy. Większość problemów musimy rozwiązać

samodzielnie. Jednym z nich będzie znalezienie pracy. To jednak nie znaczy,

że musimy być zupełnie sami.

“Konferencje, spotkania grup skupiających programistów w danym języku,

targi pracy. Nie tylko w internecie, ale również na żywo. To byłby jeden

z moich pierwszych kroków. Kiedyś wydawało mi się to mniej istotne.

Tymczasem właśnie tam można się dowiedzieć, czego oczekuje rynek

i czego chcą pracodawcy. Dobrze jest sobie upatrzyć jakąś rmę


i ją obserwować. Każda z nich ma nieco inne oczekiwania w stosunku

do juniorów”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 18/43


11.06.2019 ebook.html

s. 18 / 41

8. Nie uczyłem się


na własnych projektach

Zanim jednak ktoś Cię przyjmie pod swoje skrzydła, powinieneś wykazać
się własną inicjatywą. Na początek nic wielkiego, bo konkurencja jest duża i

sam świata nie zawojujesz.

Michał Dolny, Mentor Web Developer w Kodilli: “Swoją naukę rozpocząłbym

od tworzenia prywatnych mini projektów. Od absolutnie minimalnej

funkcjonalności, rozbudowując swój projekt krok po kroku.”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 19/43


11.06.2019 ebook.html

s. 19 / 41

9. Chciałem uczyć się


zbyt wielu języków naraz

No dobrze, ale skoro dopiero zaczynasz, to skąd właściwie masz wiedzieć,

w czym chcesz w ogóle programować? Możesz kierować się ofertami pracy,

ale pieniądze to nie wszystko. Jeśli wiążesz swoją przyszłość

z programowaniem, na pewno chcesz przez następne lata robić coś, co daje

satysfakcję nie tylko nansową.

“Gdybym zaczynał jeszcze raz, wybrałbym jeden język programowania i w

nim się specjalizował, a później certy kował. Byłby to język obecny na


rynku od lat, ale też taki, na który wciąż jest rosnący popyt (dziś

prawdopodobnie Java). Dopiero znając dobrze jeden język, zacząłbym się

uczyć kolejnego”

- to rada jednego z programistów, który dla dużych rm tworzy strony

internetowe i aplikacje webowe. Zwraca on uwagę, że lepiej znać bardzo

dobrze jedną technologię niż kilka na średnim poziomie. W Polsce warte

rozważenia są dwa języki: Java i JavaScript. W nich jest i przez najbliższe

lata będzie najwięcej ofert pracy dla juniorów.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 20/43


11.06.2019 ebook.html

s. 20 / 41

10. Zamiast surowego języka


uczyłam się frameworków

A jeśli już wybierzesz swój język, ucz się go od podstaw. W trakcie swojej

kariery w świecie IT znajdziesz wiele gotowych rozwiązań, które pomogą

Ci w tworzeniu skomplikowanego kodu, ale Ty nie idź na skróty.

“Gdybym miała uczyć się od nowa, to po raz kolejny najpierw

opanowałabym dobrze surowy język, zamiast zaczynać od frameworków” -

zapewnia doświadczona programistka. Jak dodaje, w odwrotnym kierunku

przejście też jest możliwe, ale o wiele trudniejsze.

Czysty język (jakikolwiek) jest z zasady nieporęczny, rozbudowany

i “trzeba w nim kombinować jak koń pod oblodzoną górę”, ale jak już się go

nauczysz, dasz radę ze wszystkim.“Widzę tę różnicę, kiedy porównuję moją

ścieżkę. Najpierw nauczyłam się czystego HTML, frameworki typu

Bootstrap przyszły dużo później, dlatego teraz nie jestem zagubiona

i bezradna, kiedy muszę kodować na surowo, bez frameworka”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 21/43


11.06.2019 ebook.html

s. 21 / 41

11. Zaszalałem ze zbyt


drogim sprzętem

Zastanawiasz się, czy Twój komputer da radę? Koniecznie chcesz kupić

nowszy, bo myślisz, że ten, który masz, nie udźwignie kodu? Spokojnie,

nie szalej. Nie potrzebujesz niczego specjalnego.

Ważne, żeby działał i się nie zawieszał, no i oczywiście miał dostęp

do internetu. Chyba, że będziesz go używał do różnych innych celów,

ale to z programowaniem nie ma nic wspólnego.

“Mnie się wydawało, że programista musi mieć wyjątkowy sprzęt. Wziąłem

kredyt, żeby też coś takiego kupić. A że była w nim bardzo dobra karta

gra czna, popełniłem błąd i dokupiłem od razu parę gier. No i położyłem

na kilka tygodni naukę programowania.”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 22/43


11.06.2019 ebook.html

s. 22 / 41

12. Włączyłem tryb "Gracz"

“Na komputerze, którego używam do nauki programowania, zablokowałbym

dostęp do gier, lmów i mediów społecznościowych, żeby nie odciągały

mnie od zadań”. Taką deklarację usłyszeliśmy od kilku osób. Jak ostrzegają,

gry bardzo rozpraszają i odciągają od nauki kodowania

Jest wiele innych sposobów na relaks i odciążenie głowy. “Oszukiwałem się

trochę, że gry to przecież też kod i to całkiem niezły, ale w efekcie dawałem

się im pochłonąć tak bardzo, że odkładałem naukę kodowania na bok.

Dlatego lepiej już na starcie odciąć się od tego zupełnie”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 23/43


11.06.2019 ebook.html

s. 23 / 41

13. Nie korzystałem z internetu,


bo go nie było

Andrzej Jaromin, Mentor Java Developer w Kodilli: “To może wydawać Ci

się dziwne, ale starsi, doświadczeni koledzy i koleżanki z zazdrością

obserwują możliwości, jakie masz Ty, stawiając dziś swoje pierwsze kroki.

Kiedyś wiedzę teoretyczną zdobywało się podczas trwających wiele lat

studiów. Oczywiście była też literatura, ale znacznie trudniej dostępna.


Dziś jest internet - skarbnica wiedzy, globalna platforma dyskusyjna.

Naucz się tylko ltrowania wiedzy z Internetu, przede wszystkim zwracając

uwagę na datę napisania znalezionych informacji i wersji języka

lub frameworka, której dotyczy rozwiązanie. Przy samodzielnej nauce może

to sprawiać problemy. Na bootcampie wiedza jest odpowiednio dobrana

i na bieżąco aktualizowana”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 24/43


11.06.2019 ebook.html

s. 24 / 41

14. Ścigałem się z czasem

Skoro już zrezygnowaliśmy z gier, zapomnijmy też o wyścigach. Z nauką

programowania jest podobnie jak z biegami górskimi. Im wolniej zaczniesz,

tym szybciej skończysz.

Jeśli przeszarżujesz, a brakuje Ci jeszcze doświadczenia i umiejętności,

możesz się szybko zmęczyć i wypalić. Gdy zaczynasz, wydaje Ci się,

że wszystko robisz zbyt wolno, że nie nadążasz za bardziej doświadczonymi

kolegami. Chcesz jak najszybciej im dorównać, ale przez to możesz pominąć

wiele tematów, które oni już znają i korzystają z nich rutynowo. Tymczasem

każdy ma swoje własne tempo. Dziel mądrze czas, nie pędź.

Nie przyspieszysz, jeśli z przemęczenia utkniesz w martwym punkcie.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 25/43


11.06.2019 ebook.html

s. 25 / 41

15. Zbyt późno zacząłem


budować swoje portfolio

Rzadko się zdarza, by pierwsza (taka naprawdę pierwsza) strona internetowa

czy aplikacja były jakimś wiekopomnym dziełem. Bardzo możliwe,

że będziesz chciał ją ukryć przed światem. Ale nie kasuj jej i zachowaj.

Dzięki temu po jakimś czasie, gdy już nabierzesz biegłości, lepiej ocenisz

swoje postępy. “Część moich projektów gdzieś się zawieruszyło, a szkoda.

Na początku swojej drogi nie myślałam, że tak szybko się rozwinę.

Teraz mogłabym pokazywać innym, jak szybko się rozwinęłam. Portfolio

nie musi być złożone wyłącznie z najlepszych prac. Niektórzy pracodawcy

z chęcią zobaczą, jak zaczynaliśmy, bo wtedy nas lepiej poznają.

Oczywiście kolejne, zaawansowane prace również w takim portfolio

powinny się znaleźć, dlatego warto zbierać je od początku, a później

dopiero zdecydować, co chcemy pokazać innym”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 26/43


11.06.2019 ebook.html

s. 26 / 41

16. Zbyt późno nauczyłam się


korzystać z debugowania
i inspektora elementów

Dla początkujących może brzmieć tajemniczo, ale im szybciej dowiesz się,

co oznaczają te zaklęcia, tym mniej czasu stracisz na użeranie się z czymś,

co może zrobić za Ciebie komputer.

W tym przypadku ścigać się akurat warto, ale nie z innymi, tylko z samym

sobą. “Podobnie jak wielu dyletantów na początku działałam chaotycznie.

Zanim poznałam narzędzia do śledzenia kodu i wyłapywania w nim błędów,

ślęczałam godzinami i przeglądałam linijkę po linijce. Dziś, gdy moje kody

mają po kilka tysięcy linii, byłoby to okrutna torturą. Dlatego wszystkim,

którzy dopiero zaczynają radzę, by jak najszybciej nauczyli się rozmawiać

z maszynami. Komputer zrobi wiele rzeczy za Was, tylko musicie wiedzieć,


jak go o to poprosić.”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 27/43


11.06.2019 ebook.html

s. 27 / 41

17. Nie uczyłem się


pisać testów

Kolejna ważna cecha, z której programiści nie powinni rezygnować

ani kiedyś, ani dziś - umiejętność pisania testów. Jeszcze kilkanaście lat
temu przeciętny programista spędzał 10-20% czasu na pisaniu kodu,

a 80- 90% na analizowaniu co zrobił źle.

Im większy system, tym więcej było miejsc, gdzie mógł popełnić

nieoczekiwany błąd i godzinami próbować dojść do tego, co się stało.

“Później ktoś - prawdopodobnie jakiś geniusz - wymyślił, że można tak

napisać program, żeby sam się testował i sygnalizował nam, gdzie

popełniliśmy błąd." Serio! To szczególnie istotne, jeśli dodajemy do programu

nową funkcję, która wpływa na wiele innych elementów systemu. "Możemy

nawet nie pamiętać o wszystkich zależnościach, a pisany program sam nam

wskaże, że gdzieś popełniliśmy błąd. W ten sposób czas

marnowany/wykorzystywany na testowanie znacząco się skraca, a Ty

możesz w ciągu dnia programować 2-3 razy więcej niż ja 10 lat temu,

kiedy musiałem tracić czas na testowanie."

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 28/43


11.06.2019 ebook.html

s. 28 / 41

18. Przywiązywałem zbyt


małą wagę do dokumentacji

Andrzej Jaromin, Mentor Java Developer w Kodilli: “Na początku człowiek

często nie docenia dokumentacji i bardziej skupia się na książkach,

tutorialach. Tymczasem dokumentacja danej technologii może być dla

początkujących bardzo przydatną instrukcją obsługi. Ucząc się danej

technologii, jak najczęściej zaglądaj do dokumentacji, miej ją zawsze

otwartą w drugiej karcie przeglądarki. Szczególnie w Javie orientowanie się

co gdzie znaleźć w dokumentacji, znacząco przyspieszy tworzenie

programów. Zdziwisz się, jak dużo rzeczy jest już rozwiązanych i konkretnie

opisanych. Gdybym zaczynał jeszcze raz, zwracałbym na to większa uwagę.

Odkryłem to dopiero po latach. Dowiadujesz się np. że do jednego

rozwiązania możesz dojść różnymi drogami.”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 29/43


11.06.2019 ebook.html

s. 29 / 41

19. Nie potra łem korzystać


z pomocy programistycznej
społeczności

“Kiedyś tego nie doceniałem, bałem się, że to strata czasu. Dziś wiem,

że forum dyskusyjne jest prawdziwą kopalnią wiedzy.” Na forach, grupach

na FB i w innych społecznościach spotykają się prawdziwi pasjonaci, którzy

uwielbiają dzielić się swoimi doświadczeniami, a także oceniać cudze

projekty.

Tematów nie brakuje i dość łatwo jest znaleźć miejsce dla siebie. Tutaj

szukamy porady, gdy coś nam nie wychodzi. Tu dzielimy się swoim kodem,

a inni użytkownicy wskazują nam nasze błędy i tłumaczą, jak je naprawić.

Tematów nie brakuje i dość łatwo jest znaleźć miejsce dla siebie. Tutaj

szukamy porady, gdy coś nam nie wychodzi. Tu dzielimy się swoim kodem,

a inni użytkownicy wskazują nam nasze błędy i tłumaczą, jak je naprawić.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 30/43


11.06.2019 ebook.html

s. 30 / 41

20. Za bardzo
przejmowałem się
komentarzami innych

Krytykować można w różny sposób. Konstruktywnie - wykazując błędy

i jednocześnie sugerując możliwe rozwiązania. Można też krytykować

tak normalnie, żeby kogoś pogrążyć, poczuć się dzięki temu lepszym.

“Jeśli spotkasz się z opiniami, że to co robisz, jest słabe, a krytykująca

osoba nie wytłumaczy Ci, co robisz źle, co należy zmienić, nie przejmuj się

tym. Dość długo po takich komentarzach czułem smak porażki. Myślałem

nawet o tym, żeby dać sobie spokój z programowaniem. Na szczęście

uważniej wsłuchiwałem się w bardziej wyważone opinie i dlatego dziś

jestem, kim jestem”.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 31/43


11.06.2019 ebook.html

s. 31 / 41

21. Wielokrotnie się


poddawałem

No właśnie, nie poddawaj się. Nie tylko jeśli chodzi o komentarze

w internecie.

“Nigdy nie uznawaj że jesteś na coś za głupi. Jeżeli czegoś w ogóle nie

rozumiesz, to znaczy że za wcześnie się zabrałeś za naukę tej rzeczy.

Wróć, poczytaj więcej, uzupełnij brakujące kroki na swojej drodze i podejdź

do tego problemu ponownie. Bądź cierpliwy i ucz się dużo. Korzystaj

z narzędzi - one sprawiają, że tworzymy szybciej, popełniamy mniej błędów,

a jak się już jakiś zdarzy, pozwalają szybciej go znaleźć”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 32/43


11.06.2019 ebook.html

s. 32 / 41

22. Uczyłem się na pamięć

Narzędzia narzędziami, zawsze znajdzie się jakiś skrót, ale w programowaniu

chodzi o to, żeby rozumieć, co się robi.

“Nauka de nicji i dokumentacji na pamięć to strata czasu. Wystarczy,

że w odpowiednim momencie szukając jakiegoś rozwiązania będziemy

w stanie sobie przypomnieć o takim dokumencie i umieć go odszukać.

A potem oczywiście zastosować do napotkanego problemu. Im więcej

problemów i przerobionych sytuacji - tym większa szansa, że poradzimy

sobie z kolejnymi.”

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 33/43


11.06.2019 ebook.html

s. 33 / 41

23. Nie szanowałem swojego


kodu

„Zawsze pisz kod tak, jakby gość, który ma się nim zajmować,

był agresywnym psychopatą, który wie, gdzie mieszkasz” - to w kręgach IT

słynny cytat pokazujący, jak wielką wagę programiści przywiązują do swojej

pracy. Wielu z nich często odmawia poprawiania cudzego kodu

np. ze względu na brak ogólnie przyjętych zasad i panujący w nim bałagan.

“Gdy uczyłem się programować, zdarzało mi się iść na skróty, myślałem

tylko o tym, żeby jak najszybciej skończyć swoją pracę. To było byle jakie

i takie podejście odradzam, bo może wejść w nawyk. Programowanie to

precyzyjna sztuka i tak należy ją traktować od pierwszego dnia."

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 34/43


11.06.2019 ebook.html

s. 34 / 41

24. Nie umiałem wybrać


właściwego języka
programowania do nauki

Jeśli chcesz nauczyć się języka obcego, wybierasz jakiś z nich

- może angielski, żeby dogadać się w wielu miejscach na świecie, a może

włoski, bo masz rodzinę we Włoszech. Podobnie jest z programowaniem

- są języki popularne (Java, JavaScript), a są niszowe (np. w Polsce Ruby).

Ponadto języki mają wersje. Jeśli chcesz dogadać się w USA, nie wybierzesz

staroangielskiego. Podobnie w programowaniu - Javę 4 i Javę 8 dzieli taka

sama przepaść, jak zwrot „Fæder ūre, þū þe eart on heofonum” (tak, to po

angielsku) od angielskiego, jaki słyszysz oglądając seriale.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 35/43


11.06.2019 ebook.html

s. 35 / 41

25. Tonąłem w programowaniu


niskopoziomowym

“Podstawy programowania poznałem na studiach, jednak po latach

uważam, że kolejność poznawania wiedzy była zupełnie nietra ona”.

No właśnie, jak to jest na studiach? “U mnie zaczęło się od zarządzania

pamięcią i wskaźników. Potem na ruszt wzięliśmy różnice w zakresach

typów zmiennych na poszczególnych procesorach, następnie złożoność

obliczeniową programów, działania na poszczególnych bitach pamięci

i sprytne sposoby manipulowania danymi przetwarzanymi przez procesor.

Kilka tygodni później napisaliśmy pierwszy program, który dodawał dwie

liczby. W międzyczasie 30% studentów uznało programowanie za trudne

i zrezygnowało”.

Mimo że wszystkim wymienionym zagadnieniom trudno odmówić rangi

ważności, w rmach zajmują się tym jedynie najbardziej doświadczeni

programiści i robią to niezmiernie rzadko. Co więcej, w wielu technologiach

ich stosowanie jest albo niemożliwe, albo niemile widziane przez

współpracowników, bo prowadzi do powstawania ciężkich do znalezienia

błędów.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 36/43


11.06.2019 ebook.html

s. 36 / 41

26. Uczyłem się


programowania bez
konkretnego celu

Bez celu będziesz ciągle zaczynać od nowa, porzucać naukę na miesiące

i w konsekwencji przerobisz 200 godzin w 5 lat, zamiast w 3 miesiące.

Co może być Twoim celem? Znajdź coś, co sprawia Ci frajdę i spróbuj

to zakodować. Oglądasz nałogowo seriale? Oderwij się od nich na chwilę

i napisz aplikację, która będzie Ci przypominała o zbliżającym się nowym

sezonie. Haratasz w gałę? Napisz prostą grę, polegającą na tym, by tra ć

piłką do bramki.

Aplikacja nie musi być tak rozbudowana, by zawieszać komputery niczym

kolejna część “Wiedźmina”. Wystarczy, że będzie Twoja własna, a Ty dzięki

niej połączysz hobby z nauką programowania. Być może kiedyś wymyślisz

wehikuł czasu, na razie jednak postaraj się stać twardo na ziemi i robić

swoje.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 37/43


11.06.2019 ebook.html

s. 37 / 41

27. Nie dbałem o czystość


kodu

Jeśli masz ograniczony czas (a każdy ma), staraj się spędzać jak najwięcej

czasu na faktycznym kodowaniu. Oszczędzisz więcej czasu na szukaniu


błędów niż na dbaniu o czystość. Długie metody, złożone warunki

(szczególnie z podwójnymi przeczeniami), używanie zbyt krótkich i ogólnych

nazw zmiennych, które nic nie znaczą (nie dotyczy Javy), hardcodowanie

wartości w kodzie, stosowanie hacków (szczególnie dotyczy absolwentów

informatyki) - to typowe złe praktyki, które pogarszają czystość kodu

i prowadzą prosto do marnowania czasu na rozmyślanie „o co mi chodziło

jak to pisałem”.

“sense of universe” === a && b = 42;

If ( question === “sense of universe” ) {

answer = 42; }

Obydwa fragmenty kodu robią to samo, ale intuicyjnie widać, że drugi jest

zdecydowanie bardziej zrozumiały.


file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 38/43
11.06.2019 ebook.html

s. 38 / 41

28. Przykładałem zbyt dużą


wagę do algorytmów…

...i zapomniałem o strukturach danych oraz wzorcach projektowych.

Początkujący programiści, którzy przygotowują się do rozmów

kwali kacyjnych, przywiązują zbyt często za dużą wagę do algorytmów.

Uczą się ich na pamięć, żeby zabłysnąć. Jednocześnie zapominają

np. o strukturach danych, czyli sposobach ich uporządkowania.

Obecnie programuje się inaczej niż w latach ‘90. Często od ekstremalnej

wydajności ważniejsze jest logiczne ułożenie kodu w projekcie.

"Na rozmowie kwali kacyjnej prędzej tra sz na pytania dotyczące wzorców

projektowych i struktur danych niż algorytmów. Wybór i implementacja

wzorca pokazują czy faktycznie rozumiesz temat."

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 39/43


11.06.2019 ebook.html

s. 39 / 41

29. Panicznie bałem się


code review i własnych błędów

Potraktuj code review jako naukę. Dzięki temu masz szansę uczyć się ciągle

czegoś nowego i rozwijać umiejętności. Doświadczony programista właśnie

dzieli się z Tobą swoją wiedzą. Wykorzystaj to!

Warto również polubić błędy generowane przez aplikację, którą tworzysz.

Jeśli któryś z nich się powtarza, to dla Ciebie sygnał, że coś trzeba załatać

albo obsłużyć sytuację, o której nie pomyślałeś. Twój program sam

podpowiada Ci, czego nie wziąłeś pod uwagę!

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 40/43


11.06.2019 ebook.html

s. 40 / 41

30. Nie dbałem o stronę


wizualną własnych projektów

Tak, wiemy… chcesz być programistą. Chcesz nurkować w kodzie. Ale nigdy

nie zapominaj, że ponad ta ą wody jest mnóstwo ludzi, którzy patrzą

na Twoje poczynania z innej perspektywy. “Techniczna część rekrutacji to

dopiero któraś z kolei część procesu ubiegania się o pracę. Zanim Twój kod

będzie oceniał programista, najpierw czeka Cię rozmowa z paniami z HR.

To pierwsze sito. Jeżeli Twój kod będzie idealny, ale wygląd aplikacji

nie przyciągnie uwagi, odpadniesz już na starcie. Jeśli nie wyślesz

działającej aplikacji, tylko link do repozytorium, rekruter nawet go


nie otworzy, bo po prostu tego nie potra ”.

Weź sobie do serca również bardzo modne ostatnio hasło UX

(doświadczenia użytkownika). Przygotuj swoją apkę tak, by wrażenia,

zwłaszcza te pierwsze, były jak najlepsze. No i nie wrzucaj do niej absolutnie

fraz typu “dupa” i rozjechanych zdjęć. Zadbaj o to, żeby pokazowa aplikacja

nie sypała błędami. Aplikacja ma działać, ma być przyjazna i dobrze

wyglądać, ale powinna też być ciekawa. Dobry content może przykryć

niektóre, mniej istotne błędy.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 41/43


11.06.2019 ebook.html

s. 41 / 41

Podsumowanie
Część z przedstawionych wypowiedzi to indywidualne spostrzeżenia doświadczonych programistów, inne są kompilacją najczęściej powtarzających się opinii.

Czas wyciągnąć z nich wnioski. Jeśli dopiero zaczynasz, musisz zaakceptować to, że to początek Twojej kariery. Nie spieszyć się i nie równać z lepszymi

od siebie, ale skupić na utrzymaniu dyscypliny i konsekwencji w nauce. Dyskutuj i pytaj, ale nie zamęczaj innych bez potrzeby. Od tego masz gumową kaczkę,

czyli tak naprawdę samego siebie. Myśl i szukaj rozwiązań samodzielnie. Krytykę przyjmuj z pokorą, wyciągaj z niej lekcje, nie wpadaj jednak w depresję, jeżeli

coś Ci nie wychodzi. Oni też się kiedyś uczyli. Znajdź Mentora i pozwól mu być swoim przewodnikiem. Z jego pomocą korzystaj z dostępnej literatury, internetu,
tutoriali, ale jak najszybciej zacznij też realizować własne projekty. A gdy już zaczniesz, buduj swoje portfolio, które będzie mógł zobaczyć Twój przyszły

pracodawca. Pamiętaj o odpoczynku i relaksie, ale wszystko z umiarem. Nauka programowania to nie zabawa. Jeżeli dasz się wciągnąć za bardzo rozrywce,

zaczniesz się cofać. A jeśli po przeczytaniu tych wszystkich rad nadal chcesz naprawdę stać się częścią branży IT, ale wciąż nie wiesz, jak to zrobić, zapisz się

na bootcamp w Kodilli i wspólnie z nami ucz się programowania!

Dlaczego? Bo właśnie w Kodilli dostaniesz opiekę Mentora, który pomoże Ci w doborze materiałów i będzie Twoim drogowskazem na nieznanym gruncie.

Staniesz się też częścią społeczności, będziesz dyskutować i wymieniać się doświadczeniami na dedykowanym czacie. Zapewnimy Ci również przemyślany

i dobrze opracowany plan nauki. No i wreszcie pomożemy w przygotowaniu CV, zdobyciu kontaktów i będziemy wsparciem w poszukiwaniu pierwszej pracy.

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 42/43


11.06.2019 ebook.html

Masz pytania?

Napisz do nas na adres…

bootcamp@kodilla.com

…zadzwoń +48 737 690 577


…lub napisz przez nasz czat na stronie :)

file:///C:/Users/Natalia/Desktop/e-book bledy programistów/ebook.html 43/43

You might also like