Categories
Biznes

Do naszych projektów zawsze szukamy profesjonalistów. Chcesz wiedzieć jak postępować, aby zyskać szacunek zarówno zespołu jak i klientów? Jak zostać dobrym programistą?

1. Bierz pełną odpowiedzialność za kod

Przed zakończeniem prac nad zadaniem powinieneś je dokładnie przetestować. Zawsze testuj. Tylko wtedy masz pewność, że Twój kod jest wolny od błędów. Testerzy manualni nie powinni nic znaleźć. Jeśli wiesz o tym, że nie przetestowałeś swojego kodu, albo co gorsza wysyłasz kod z błędem, bo kończy Ci się czas – nie zachowujesz się jak profesjonalista. Powiedz o opóźnieniach jeśli wystąpiły, powiedz o ich przyczynach. Nie wysyłaj czegoś co może nie działać. Im później Twój błąd zostanie znaleziony tym więcej będzie kosztował firmę.

https://kjarocka.pl/zarzadzanie-projektami/bledy-znajdz-je-zanim-zaczna-cie-kosztowac/

Bierz odpowiedzialność za cały projekt. Jeśli natrafisz na błąd w module, nad którym nie pracowałeś – zgłoś go. Dbaj o dobro Twojego pracodawcy. Refaktoruj. Nie tylko swój kod, ale każdy kod, który tego wymaga. Im bardziej kod jest zastany, tym trudniej będzie wprowadzać w nim zmiany. Kod powinien być elastyczny, łatwy w modyfikacji.

2. Dotrzymuj danego słowa

Jasno deklaruj kiedy dostarczysz wybraną funkcjonalność. Jeśli nie jesteś pewien swoich szacunków – lepiej podać bardziej odległy termin, niż nie dotrzymać danego słowa. Jeśli jednak z jakiegoś powodu nie jesteś w stanie sprostać oczekiwaniom zespołu, to jak najszybciej poinformuj o problemach. Nie ważne, czy musisz tego dnia wyjść wcześniej z pracy czy zadanie okazało się trudniejsze. Jeśli umówiłeś się na dany termin i nie jesteś w stanie go dotrzymać – poinformuj o tym najszybciej jak to możliwe.

Naucz się odmawiać swojemu przełożonemu jeśli terminy, które proponuje są zagrożeniem dla projektu. Kiedy usłyszysz, że masz wypuścić nową wersję aplikacji w piątek przed końcem pracy, to jasno postaw swoje stanowisko i wytłumacz jak zły jest to pomysł. Nigdy nie mów „Spróbujemy” kiedy wiesz, że dotrzymanie terminu jest wątpliwe. Profesjonalista potrafi określić ile czasu zajmie mu wykonanie zadania i na pewno nie powinien rezygnować z pisania testów czy dokumentacji, aby przyśpieszyć ten proces i zmieścić się w wyznaczonym czasie. Jeśli przełożony nalega, abyś dostarczył rozwiązanie do poniedziałku, ale wiesz, że nie dasz rady, to nawet nie myśl o tym, aby „spróbować”, bo skończy się to w najlepszym wypadku pracą po godzinach, a w najgorszym niedotrzymaniem terminu, bądź wypuszczeniem aplikacji z błędem.

Jeśli Twój przełożony nie rozumie odmowy i naciska na przyśpieszenie tempa prac, umawiając się przy tym z klientem na nierealny termin pomimo Twoich zastrzeżeń- uderz do kogoś wyżej i wytłumacz mu, że ucierpi na tym reputacja firmy. Żaden awans nie jest wart podejmowania takiego ryzyka. Zaproponuj zmniejszenie zakresu prac, jeśli przesunięcie terminu nie wchodzi w grę. Wyznaczaj terminy, których jesteś pewien i zawsze ich dotrzymuj. Tylko tak możesz być uważany za profesjonalistę.

3. Współpracuj z zespołem

Pomagaj kolegom z zespołu, ale także proś ich o pomoc jeśli jej potrzebujesz. Nie marnuj czasu na znalezienie rozwiązania na własną rękę, mając obok siebie osobę, która już rozwiązała podobny problem. Pytaj. To nie grzech.

Rozwiązałeś wszystkie zadania, które były do Ciebie przydzielone w tym sprincie? Zapytaj innych, czy możesz w czymś im pomóc. Zespół to monolit. Każdy pracuje na wspólny sukces i tak podchodzą do tego profesjonaliści. Wspólnym priorytetem jest dostarczenie jak największej ilości zmian. Cóż z tego, że skończysz swoją pracę przed czasem, skoro zespół nie dostarczy klientowi gotowej aplikacji na czas? Nikt tego nie doceni.

4. Dbaj o pełne skupienie w godzinach pracy

Każdy z nas posiada w danym momencie pewien poziom skupienia. Możemy przeznaczyć je na pracę albo przepalić na coś zupełnie nieproduktywnego. Istnieją pewne metody pozwalające zwiększać swoje skupienie, ale najpierw powinieneś nauczyć się jak go nie marnować.

Jeśli Twoje myśli są zaprzątnięte problemami życia codziennego, to postaraj się je rozwiązać przed pracą. Pokłóciłeś się z żoną? Przytarłeś samochód na parkingu? Poświęć na to maksymalnie godzinę i załatw sprawę jak należy, aby mieć wolną głowę. Nie marnuj swojego skupienia na ciągłe przeglądanie poczty e-mail, na czytanie newsów z kraju czy rozmowy z kolegami. Słuchanie muzyki też w jakiś sposób nas rozprasza. Potrafimy wtedy wpaść w „dobre flow”, piszemy masę kodu, ale po jakimś czasie okazuje się, że jest on słaby jakościowo. Warto sobie robić przerwy od muzyki, aby spojrzeć na całość jeszcze raz i przeprowadzić refaktoring. Nie pisz też kodu, kiedy jesteś zmęczony. Profesjonalizm wymaga odpowiedniej dyscypliny a nie siedzenia nad klawiaturą od rana do nocy. Zadbaj o swoje zdrowie psychiczne i fizyczne, a na pracę przeznaczaj 8 DOBRYCH godzin. Musisz wiedzieć kiedy odejść od komputera.

Co zwiększa nasz poziom skupienia? Na pewno słyszałeś o medytacji, ale są też bardziej przyziemne sposoby. Nowa książka, spotkanie ze znajomymi, ćwiczenia fizyczne – to wszystko pozwala naszemu umysłowi się zregenerować i pobudzić kreatywność. Na nowe pomysły najczęściej wpada się podczas wykonywania rutynowych czynności, takich jak prowadzenie auta czy poranny prysznic. Kiedy czujesz blokadę i od wielu godzin nie napisałeś ani jednej linijki kodu, to jednym ze sposobów na jej usunięcie jest programowanie w parach. Spróbuj! Pamiętaj też o odpowiedniej ilości snu. Bez niego nie ma mowy o jakimkolwiek skupieniu.

5. Rozwijaj się

Pamiętaj o ciągłym rozwoju. Tego wymaga nasza branża. Chciałbyś być leczony przez lekarza, który nie jest na bieżąco z najnowszymi badaniami medycznymi, z najnowszymi metodami leczenia? Chciałbyś być strzyżony przez fryzjera, który nie zna najnowszych trendów? Oczekujesz profesjonalizmu od innych, więc oczekuj go też od siebie.

W pracy rzadko jest czas na doskonalenie swoich umiejętności. Zazwyczaj musisz wykorzystywać nabytą dotąd wiedzę. Za swój rozwój jesteś odpowiedzialny wyłącznie Ty, a nie Twój pracodawca. W prawdzie może znajdować dla swoich pracowników czas na szkolenia, ale nie jest to jego obowiązek. Na pewno nauczysz się w pracy wiele, tocząc walki z nowymi problemami, na które jeszcze nigdy dotąd nie miałeś okazji natrafić, albo ucząc się technologii, z którymi nigdy wcześniej nie przyszło Ci pracować, a są wykorzystywane w projekcie. Mimo wszystko, jeśli chcesz być uznawany za profesjonalistę – sam powinieneś proponować nowe rozwiązania zamiast czekać na odgórną decyzję, od starszych stażem kolegów. Musisz więc być na bieżąco i ciągle się rozwijać.

Utrzymywanie projektu, który jest napisany z wykorzystaniem przestarzałych technologii, to bardzo wygodna praca. Pracodawca nas nie zwolni, bo ciężko będzie znaleźć kogoś na nasze miejsce. Nie musimy się nigdzie śpieszyć. Ktoś mógłby pomyśleć… sielanka. Idealna robota przed emeryturą. Nic bardziej mylnego. Tracisz na takim podejściu zarówno Ty jak i Twój pracodawca. Wykorzystujesz stare technologie, więc wiele rzeczy robisz wolniej, niż z wykorzystaniem najnowszych bibliotek. Rozleniwiasz się, nie ma nic co by Cię motywowało do rozwoju. Nie dostaniesz podwyżki, bo nie uczysz się niczego nowego, co by zwiększyło Twoją wartość na rynku pracy. Jesteś seniorem, bo przecież masz już 10 lat doświadczenia, natomiast pod względem znajomości technologii zatrzymałeś się 5 lat temu. Co jeśli jednak zostaniesz zwolniony, albo firma, dla której pracujesz upadnie? Jak chcesz znaleźć pracę na dynamicznym rynku? Bądź profesjonalistą i zawsze ucz się najnowszych rzeczy, staraj się je wprowadzać do projektów, przy których pracujesz.

6. Pisz testy

Z pewnością wielokrotnie słyszałeś o TDD (Test Driven Development). Dlaczego tak wielu programistów bierze udział w szkoleniach z TDD, czyta o tym książki, a tak mało stosuje tę technikę wytwarzania oprogramowania? Wynika to w głównej mierze z niezrozumienia tematu. Sam wpadłem w tę pułapkę parę lat temu. Zaprezentowano mi podejście, które według mnie było mało efektywne. Mówili: „Najpierw piszesz test, potem implementację, a następnie refaktorujesz”. Na pewno nie jest to celowe wprowadzanie w błąd, ale z pewnością niezrozumienie ideologii TDD. Ile razy to kłamstwo jest powielane w różnych publikacjach… ciężko to zliczyć. Takie słowa sugerują, że implementowanie jednej funkcjonalności ogranicza się do jednego cyklu złożonego z trzech faz: czerwone, zielone, refaktoring.

Jak naprawdę powinno to wyglądać? Implementacja jednej funkcjonalności powinna być złożona z wielu krótkich cykli czerwone-zielone (najlepiej 30 sekundowych).

  1. Zaczynasz od napisania małej części testu jednostkowego.
  2. Już po chwili musisz użyć nazwy klasy, która nie istnieje (czerwone), więc przełączasz się do implementacji, tak aby test można było skompilować.
  3. Nie możesz jednak napisać więcej niż jest niezbędne, aby test przechodził (zielone), więc za chwilę znowu do niego wracasz.
  4. Po chwili ponownie test się nie kompiluje, ponieważ czegoś brakuje w implementacji.

Cykl czerwone-zielone trzeba powtarzać jak najczęściej, a na refaktoring przyjdzie czas na samym końcu. Jak już wspomniałem napisanie jednego testu jednostkowego, to zazwyczaj kilka cykli. Praktycznie nigdy nie wygląda to tak, że najpierw piszesz cały test, a dopiero po tym zaczynasz implementację. Taka prawda jest nam wpajana przez ludzi, którzy o TDD tylko opowiadają, natomiast sami go nie stosują albo robią to nieprawidłowo.

Dopisanie kawałka kodu testowego. Dopisanie kawałka kodu produkcyjnego. Kawałek kodu testowego. Kawałek kodu produkcyjnego. I tak w kółko. Dwa strumienie kodu rosnące jednocześnie. Takie podejście bardzo szybko przypadnie Ci do gustu i wejdzie w nawyk. Tylko pisząc testy masz pewność, że Twój kod na pewno działa. Tylko pisząc testy nie boisz się tego kodu modyfikować.

7. Szanuj swój czas

Co chwilę ktoś albo coś odrywa Cię od pracy? Kolejne ogłoszenie parafialne dla pracowników, kolejne szkolenie, które Cię nie interesuje, kolejne zaproszenie do wspólnego grania w piłkarzyki? Pamiętaj, że nie musisz brać udziału we wszystkich spotkaniach na jakie jesteś zapraszany. Nie traktuj ich jak chwilę przerwy od pracy, kiedy ich temat jest dla Ciebie mało interesujący. Naucz się też opuszczać spotkania, które robią się nudne. To znaczy, że ich przebieg jest daleki od zakładanej agendy albo wręcz sam nie wiesz co na nich robisz. Szanuj swój czas. Nie musisz być niemiły. Po prostu przeproś i powiedz, że musisz pilnie wyjść. Bądź tam gdzie Twoja wiedza jest potrzebna albo tam gdzie możesz nauczyć się czegoś nowego.

Nie bądź klepaczem kodu. Bądź profesjonalistą w każdym calu.

5/5 - (11 votes)
By Patryk Dobrzyński

Frontend Developer with a flair for programming elegant solutions. Passionate in creating good looking websites. Programmer for 11 years (6 years as a freelancer). I am interested in creating web and mobile applications in all aspects. From UI design, through programming, to positioning and security. Highly motivated, willing to learn new things and open to new challenges. Are you interested in co-operation? Feel free to contact me.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *