#Lazy Sunday. 5 kroków jak nie zostać programistą

By 4 January 2015 January 18th, 2015 Lazy Sunday

Dzisiejszy wpis o 5 rzeczach, których należy unikać wraz z krótkim wytłu­macze­niem dlaczego tak nie robić.Nie ma co się oszuki­wać, że dro­ga aby zostać pro­gramistą jest pros­ta, gład­ka i przy­jem­na. Jak w każdej życiowej sytu­acji, czeka na Ciebie kil­ka pułapek, które mogą opóźnić czy wręcz wstrzy­mać Twój rozwój w branży IT. W dzisiejszym wpisie dowiesz się, na co uważać :)

1. Zbyt dużo czasu poświęcone na wybór technologii

Nie chodzi o to, że to, czy korzys­tamy z tech­nologii X czy Y nie ma znaczenia — ma, i to ogromne. W szczegól­noś­ci gdy wiesz, co chcesz zro­bić (masz pomysł na zro­bi­e­nie włas­nej strony WWW, więc wybierasz język do tego dedykowany).  Ale to tylko tech­nolo­gia, którą może­my zmienić w dowol­nym momen­cie przy względ­nie niedużym wysiłku. To, co najważniejsze, to samo pode­jś­cie, umiejęt­ność log­icznego myśle­nia, rozwiązy­wa­nia prob­lemów w taki sposób, aby możli­we było zre­al­i­zowanie go przez kom­put­er. Jeśli masz wiele osób, które zna­ją Ruby on Rails i chcą Ci pomóc — zacznij od niego! Dużo łatwiej jest nauczyć się pro­gramować w języku X przy wspar­ciu kogoś na bieżą­co, a następ­nie zmienić język na Y niż uczyć się Y od początku samemu. Więcej o językach pro­gramowa­nia przeczy­tasz w naszym wpisie, ale naprawdę, zami­ast dłu­go główkować i wpisy­wać w google “.NET vs Java”, po pros­tu zacznij :)

2. Za dużo teorii, za mało praktyki

Część ludzi ma to do siebie, że chcą najpierw poz­nać teo­re­ty­czne tajni­ki pewnej dziedziny zan­im zaczną ją prak­tykować. W przy­pad­ku IT mówimy o kilkudziesię­ciu lat­ach inten­sy­wnego roz­wo­ju! I to nie zawsze w dobrym kierunku. Nawet chcąc spec­jal­i­zować się w małym wycinku, ilość infor­ma­cji do przys­wo­je­nia jest ogrom­na i najczęś­ciej cięż­ka do opanowa­nia bez prak­ty­cznego ‘oby­cia’ z prob­le­mem. Opanować teorii w branży IT po pros­tu się nie da — jest jej za dużo i częs­to jest delikat­nie mówiąc mało ciekawa. Dlat­ego książ­ka książką, ale odstaw ją cza­sem na półkę i po pros­tu coś napisz :)

3. Za dużo praktyki, za mało teorii

Z kolei dru­ga część ludzi ma prob­lem zupełnie odwrot­ny — mają pode­jś­cie ‘hands on’ i najchęt­niej od razu zabrały by się do pisa­nia dużych sys­temów żeby więcej się nauczyć, zostaw­ia­jąc książ­ki w kącie. To pode­jś­cie jest równie złe jak poprzed­nie, bard­zo praw­dopodob­ne jest, że w ten sposób nauczymy się złych prak­tyk i nie będziemy w stanie efek­ty­wnie się rozwi­jać — za dużo rzeczy będzie nowych, prob­lematy­cznych i całkowicie niezrozu­mi­ałych. A jeśli nasza pier­wsza aplikac­ja to mon­s­tum na miarę nowego face­booka, to ist­nieje naprawdę spore praw­dopodobieńst­wo, że bez wspar­cia teo­re­ty­cznego po pros­tu nie będziemy w stanie jej napisać, a ilość prob­lemów abso­lut­nie zniechę­ci nas do programowania.

4. Samodzielna nauka w dłuższym okresie czasu

Krótko mówiąc — ucząc się np. pro­gramować powin­niśmy skon­cen­trować się nie na tym, aby samodziel­nie zostać eksper­ta­mi w danej branży ale bardziej na tym, aby być w stanie uczyć się od innych. Opanowanie pod­staw wystar­czy, aby rozpocząć prak­ty­ki czy staże w jakiejś fir­mie — oso­by bardziej doświad­c­zone, które tam będą, poz­wolą Ci dużo szy­b­ciej przyswa­jać wiedzę i (o ile nie będziesz miała pecha) uczyć się dobrych prak­tyk. Ucząc się samodziel­nie, bez żad­nych wzor­ców czy men­to­ra, bard­zo łat­wo moż­na nabyć złych nawyków, których ciężko nam będzie się pozbyć w przyszłości.

Tutaj warto też zaz­naczyć, że wybier­a­jąc pra­co­daw­cę (szczegól­nie na początku swo­jej kari­ery, ale później także jest to ważne) zas­tanówmy się, czy ten pra­co­daw­ca poz­woli nam się uczyć i rozwi­jać. Inne kry­te­ria (finan­sowe, ‘stanowisko’ w CV itp.) powin­ny być na dużo dal­szym planie — inaczej może­my bard­zo skrzy­wdz­ić swój rozwój i przyszłe per­spek­ty­wy. Więcej o tym jak szukać pra­co­daw­cy, na co zwracać uwagę i o co pytać opisze­my już wkrótce na blogu, w końcu Ania zaczy­na swo­je poszuki­wa­nia pier­wszej pra­cy IT :)

5. Wymyślanie koła od początku

Najwięk­sza bolącz­ka osób z for­mal­nym wyk­sz­tałce­niem ‘infor­maty­cznym’, ale także dużej częś­ci samouków — wymyślanie rzeczy od początku. W Javie (jak i w chy­ba każdym współczes­nym języku pro­gramowa­nia) ist­nieją bib­liote­ki i narzędzia, które mają gotowe rozwiąza­nia wielu prob­lemów (np. Gua­va czy Apache Com­mons). Pisanie ich od początku (np. kodowa­nia do base64) może nauczy Cię czegoś użytecznego, ale praw­dopodob­nie popełnisz kil­ka błędów i zajmie Ci to sporo cza­su — efek­ty­wniej go wyko­rzys­tasz przeglą­da­jąc kod źródłowy gotowego rozwiąza­nia niż pisząc je od początku. Śmieje­my się cza­sem, że lenist­wo to najwięk­sza cno­ta pro­gramisty, ale coś w tym jest — naprawdę więk­szość rozwiązań już ktoś napisał, wystar­czy dobrze poszukać i sko­rzys­tać z tego, co już stwor­zone. Pro­gramowanie to naprawdę w dużej mierze składanie z gotowych klock­ów i nie ma co z tym walczyć.

To chy­ba 5 najwięk­szych grzeszków początku­jącego devel­opera, ale zna­jąc je możesz łat­wo je wye­lim­i­nować i zamienić na swo­je dobre prak­ty­ki… a z tej postawy tylko krok do zosta­nia naprawdę dobrym programistą.