cenazysk.pl

w poszukiwaniu wartości

Nauka podstaw programowania może być trudna, ale kolejny etap jest jeszcze bardziej niepewny. Jaka jest najszybsza droga do bycia profesjonalnym programistą?
Nauka podstaw programowania może być trudna, ale kolejny etap jest jeszcze bardziej niepewny. Jaka jest najszybsza droga do bycia profesjonalnym programistą?

O programowaniu bez złudzeń. Co robić tuż po opanowaniu podstaw programowania?

| 0 comments

Jest taki moment w nauce programowania, gdy opanowało się już podstawy z podręcznika i napisało programy z kursów podstaw języka programowania. Powstaje wtedy dylemat, co robić, żeby jak najszybciej dostać się do grona samodzielnych programistów? Jakimi zasadami się kierować i na co zwrócić uwagę?

Pogódź się z faktem, że większość rzeczy, które będziesz pisał, będzie niedoszacowane pod względem czasu. Wg zasady 90/90, 90% zadań zajmie Ci 90% czasu, po czym pozostałe 10% zadań zajmie kolejne 90% czasu. Bierze się to z tego, że oprócz podstawowego algorytmu, trzeba go obudować walidacjami, opcjami, interfejsem, po czym przeprowadzić szczegółowe testowanie i opracować dokumentację i opis. Taki w miarę kompletny rezultat odróżnia początkującego programistę od doświadczonego rzemieślnika.

Pokora jest dobrym przyjacielem w karierze programisty. Postawa, w której dominuje chęć uczenia się i brak konserwatywnego przywiązania do rozwiązań pomaga dostosować się elastycznie do zmieniającego się świata. Staraj się popełnić na początku jak najwięcej błędów, żeby nauczyć się jak najwięcej i pokonywać kolejne etapy dużymi krokami. Tak czy owak wprowadzisz, razem ze swoim zespołem, tysiące błędów na produkcję (i je poprawisz). Będziesz uczył się tysięcy nowych rozwiązań, które szybko się przedawnią. Trenuj mówienie, że nie wiesz – dzięki temu powstaje przestrzeń do nauki.

Otaczaj się ludźmi, którzy Cię wspierają w dążeniach do Twoich profesjonalnych celów. Staraj się, żeby zespół, z którym pracujesz czynił Twoją pracę lżejszą, a nie cięższą i nie dokładał więcej stresu. People first nie wzięło się z korponowomowy, tylko z długoterminowej, uważnej obserwacji środowisk pracy.

Znajdź mentora, który będzie cierpliwie będzie Cię wspierał w drodze ku byciu lepszym programistą. Szukaj i znajduj odpowiedzi na łatwiejsze pytania i nie spędzaj zbyt dużo czasu na poszukiwania odpowiedzi na te trudne, które zwykle nigdy nie będą w pełni odpowiedziane w teoretycznym środowisku internetowych forów czy grup. Staraj się również uzyskać informację zwrotną dotyczącą różnych aspektów bycia programistą, nie tylko konkretnych problemów związanych z kodowaniem.

Czy zasady edukacji programistycznej pomogą początkującym szybciej wspinać się po szczeblach kariery programisty? Jakie zasady i reguły byście dodali do listy dobrych praktyk programisty?

Mierz siły na zamiary. Ćwicz i ucz się na projektach, które nie nakładają zbyt wiele odpowiedzialności. Przeciążenie może doprowadzić do zburzenia świeżo utworzonej struktury. Staraj się znaleźć złoty środek, który pozwoli na optymalne tempo nauki.

Metodyczne podejście do nauki i systematyczność bardzo pomaga, nawet, jeśli wymaga wcześniejszej inwestycji w rozwinięcie i podtrzymanie nawyków. Zapisuj pomysły, idee i propozycje rozwiązań. Stosuj metodyczny system testowania hipotez przy pisaniu nowych kawałków kodu: zapisz dotychczasowy stan, zapisz ideę oraz hipotezę i docelowe działanie, sposób rozwiązania problemu, po czym przetestuj to, co powstało. Zapisz to jako kolejny etap pracy i włącz do dotychczasowych efektów lub cofnij się od etapu hipotezy i sprawdź następną. Postaraj się, żeby taki sposób pracy stał się nawykiem.

Nie zgadzaj się na półśrodki w swoim warsztacie i otoczeniu. Czasem zmierzysz się z sytuacją, w której project manager, business owner lub członek zespołu będzie przekonywał, że nie ma potrzeby utrzymywać dobrych praktyk lub stosować się do standardów branży. Może dotyczyć to testowania, dokumentacji, komentowania, jakości kodu, środowiska i godzin pracy, lub wielu innych czynników. Do wypracowania dobrej jakości, działającego i dającego widoki na przyszłość kodu wymaga czasu i zasobów.

Co byście dodali do tej listy?

Dodaj komentarz

Required fields are marked *.