Próba ognia

27.07.2017 AUTOR: Piotr Trybalski

Nauka

Zaczynacie uczyć się chodzić, przewracacie się, obijacie sobie łokieć i drzecie japę na cały dom by zwrócić na siebie uwagę. Podejmujecie kolejne próby i w końcu się Wam udaje.

Zaczynacie uczyć się jeździć na rowerze, przewracacie się, zdzieracie sobie kolano i z płaczem biegniecie do rodziców. Podejmujecie kolejne próby i w końcu się Wam udaje.

Nauka programowania

Zaczynacie uczyć się programować, napotykacie złożone problemy (ewentualnie przewracacie się z fotela) i… myślę, że już załapaliście analogię.

Już raz o tym wspomniałem, ale wspomnę o tym jeszcze raz. Programowanie jest umiejętnością nabytą, nie wrodzoną. Oznacza to, że jeśli jesteście odpowiednio zdeterminowani i podchodzicie do tematu naprawdę poważnie, to tak samo jak każdą inną umiejętność i tą można prędzej czy później opanować.

Wiadomo, jak w każdej dziedzinie początki mogą się okazać trudne. Kod może się wydawać niezrozumiałym ciągiem znaków, a liczba zależności, komend i zasad, o których należy pamiętać może się wydawać niemożliwa do opanowania. Podobnie było z innymi umiejętnościami, które mieliście opanować, a jakoś daliście radę.

Bariera w programowaniu

Przez co najtrudniej przebrnąć? Cóż, na pewno najtrudniej przebić się przez barierę przełamania się i zmuszenia do jakiejkolwiek aktywności w tym kierunku, a potem zdecydowania od czego w ogóle zacząć.

Najlepiej zacząć od teorii, może to zabrzmieć trochę jak szkolne polecenie, gdzie teoria triumfuje nieprzerwanie odkąd ludzkość pamięta, ale w tym przypadku jest to jak najbardziej wskazane. Czytajcie cokolwiek, blogi traktujące o branży w ogólny sposób, artykuły utrzymane w luźnej formie podobnej do tego czy poradniki dla najbardziej początkujących. Nie bójcie się zajrzeć również na YouTube, fora i grupy tematyczne. Starajcie się nie zagłębiać w detale techniczne, na początku może Wam to zrobić mętlik w głowie i niepotrzebnie zniechęcić. W czytaniu branżowych tekstów chodzi o to, by się oswoić z panującym klimatem, zasadami, ale przede wszystkim z używaną terminologią.

 

Szukanie odpowiedzi

Jak o tym wspomniałem w jednym z poprzednich artykułów, programowanie to w dużej mierze szukanie odpowiedzi i rozwiązań na pojawiające się pytania i problemy. Znajomość terminologii, fachowego nazewnictwa, a nawet branżowego slangu, może zaoszczędzić Wam wiele godzin szukania rozwiązania problemu, którego w innym wypadku nie umielibyście nawet zdefiniować.

Nie raz, nie dwa stosowne nazwanie występującego problemu może zamienić totalny brak informacji na gigantyczny wysyp porad i wskazówek.

Kolejny problem to brak znajomości struktury i formatu pisanego kodu. Programowanie jest obostrzone bardzo restrykcyjnymi zasadami, których trzeba się mocno trzymać. Niestety, ale bez tego komputer nie będzie rozumiał o co chodzi. To tak jak byliście małymi bąblami i rodzice Was uczyli co się mówi w jakich okolicznościach. “Dziękuję” gdy coś dostaniecie, “proszę” gdy coś potrzebujecie, “przepraszam” gdy coś nabroicie. Trzy magiczne słowa z dzieciństwa, które nierzadko są obce wielu dorosłym osobom. By je stosować, musieliście poznać okoliczności, czyli zasady określające moment wypowiedzenia danego słowa. Nie mówi się “dziękuję” gdy się coś nabroi, ponieważ to nie ma sensu i wtedy druga osoba nie zrozumie o co chodzi. Rozbijanie tak banalnej kwestii na części pierwsze może się wydać zabawne, ale pokazuje ona mniej więcej jak wygląda komunikacja programisty z komputerem. Teraz się nie zastanawiacie jakie słowo używa się w jakich okolicznościach, bo po kilkunastu czy kilkudziesięciu latach praktyki robicie to bez zastanawiania się. Podobnie jest z programowaniem.

Nie oszukuj losu!

Dlatego na początku nie próbujcie oszukać losu i udawać, że ogarniecie temat od razu bo może być to trudne, bądź niemożliwe. Podejmując próby napisania jakiegokolwiek kodu, zawsze posiłkujcie się przykładami, których w Internecie jest niezliczona ilość.

Spróbujcie przykład z Internetu przepisać ręcznie, a potem modyfikujcie jego zawartość na różne sposoby monitorując zachodzące zmiany. Szukajcie podobnych skryptów napisanych w inny sposób albo wykorzystujących inne komendy. Porównujcie na czym polega różnica, jakie komendy dają jakie efekty. Na rozwiązanie jakiegokolwiek problemu programistycznego nie ma złotego środka, zawsze jest tyle elementów, które należy brać pod uwagę, że prawie zawsze trzeba podchodzić do sprawy indywidualnie.

Na pewno też nie próbujcie zrozumieć dlaczego coś działa tak, a nie inaczej, czy dlaczego coś musi być napisane, bądź skonstruowane w taki, a nie inny sposób. Tego typu rozkminy i wiedzę zostawcie sobie na bardziej zaawansowany etap. Na początku po prostu załóżcie, że tak ma być. Podejdźcie do tego jak do praw fizyki. Jest tak, a nie inaczej i już.

Identyfikacja problemu

Dużym problemem jest również identyfikacja zaistniałych problemów. Choć z takimi podstawowymi jak literówka czy zapomnienie wpisania pojedynczego znaku, radzi sobie coraz więcej programów, tak zwanych debuggerów, które takie drobne ubytki wyłapują w locie.

Zabawa się zaczyna przy grubszych pomyłkach, gdzie namieszane są komendy, struktura czy w ogóle logiczne połączenia między poszczególnymi elementami kodu. Wraz z coraz lepiej rozwiniętą umiejętnością programowania, również wyłapywanie błędów będzie na wyższym poziomie. Zaczniecie podążać pewnymi schematami wypracowanymi również przez siebie i zaczniecie dostrzegać coraz więcej objawów wskazujących na jakąś konkretną usterkę.

Im dalej w las tym więcej drzew

Jak to mówią wyjadacze branżowi, programowanie jest trochę jak wycieczka do lasu – im głębiej w las tym więcej drzew. Oznacza to, że im bardziej złożone problemy będziecie rozwiązywać tym większe błędy można popełnić i tym trudniej je będzie rozwiązać. Jednak jestem przekonany, że na tym to właśnie polega, by stale sobie podnosić poprzeczkę. Po iluś miesiącach, bądź latach możecie odnieść wrażenie, że stoicie w miejscu, bo ciągle macie takie same trudności i ciągle są jakieś problemy. Gdy jednak spojrzycie na sprawę z perspektywy czasu i sobie porównacie z jakimi problemami się borykaliście na początku, a co ogarniacie teraz to dostrzeżony postęp na pewno napełni Was satysfakcją.

Artykuł powstaje dzięki:

Coders Lab

Łącząc doświadczenie edukacyjne ze znajomością rynku pracy IT, Coders Lab umożliwia szybkie i efektywne zdobycie pożądanych kompetencji związanych z nowymi technologiami. Skupia się się na przekazywaniu praktycznych umiejętności, które w pierwszej kolejności są przydatne u pracodawców.

Wszystkie kursy odbywają się na bazie autorskich materiałów, takich samych niezależnie od miejsca kursu. Dzięki dbałości o jakość kursów oraz uczestnictwie w programie Career Lab, 82% z absolwentów znajduje zatrudnienie w nowym zawodzie w ciągu 3 miesięcy od zakończenia kursu.


CONNECTIS_

+48 22 222 5000
[email protected]

Złota 59
00-120 Warszawa

CONNECTIS_ jest spółką technologiczną świadczącą usługi z zakresu outsourcingu specjalistów, zespołów projektowych oraz procesów IT.


CONNECTIS_
łączy wyjątkowe doświadczenie, kompleksową znajomość branży oraz kompetencje specjalistów z klientami, aby pomóc im usprawniać projekty informatyczne i zwiększać wydajność procesów biznesowych.

Współpracujemy na szeroką skalę z liderami branżowymi w całej Europie z sektora m.in. finansowego, IT, konsultingowego, ubezpieczeniowego, energetycznego oraz telekomunikacyjnego. Codziennie wspieramy ich ponad 350 specjalistami w strategicznych projektach informatycznych.


Do góry!

Polecane artykuły

22.09.2020

Comarch e-Sale, jako e-commerce na dobry ...