Pragmatyczny Programista – 10 postaw, które sprawią, że będziesz superdeveloperem

Kim jest ten mityczny pragmatyczny programista? Jaki ma mindset i dlaczego jest tak pożądany na rynku pracy? I co najważniejsze – jak nim zostać?
Na te pytania spróbujemy sobie odpowiedzieć w niniejszym artykule.

Artykuł ten jest podsumowaniem debaty, która odbyła się na jednym z naszych DevDay’ów – czyli cyklicznych spotkaniach programistów współpracujących z Coditive.com

Pragmatyczny, pragmatyzm, eee?

Gdy mowa o terminologii, zawsze warto zacząć od próby zdefiniowania korzeni danych określeń, ich etymologii. W artykule na stronie polszczyzna.pl możemy znaleźć takie informacje na temat słowa „pragmatyczny”:

Pochodzi ono od filozofii zwanej pragmatyzmem, która powstała pod koniec XIX wieku w USA. Nurt ten polega głównie na realnej ocenie rzeczywistej sytuacji i szukaniu rozwiązań. Głosi on, że skoro problem istnieje, to musi również istnieć jego rozwiązanie. (…) Pragmatyzm to słowo określające konkretną postawę wobec świata. Polega ona na realnym spojrzeniu na daną sprawę i podjęciu próby znalezienia równie realnego rozwiązania.

Karolina Żyłowska – polszczyzna.pl

Z kolei w książce, która była dla mnie inspiracją do poruszenia tego tematu Pragmatyczny programista. Od czeladnika do mistrza (gorąco polecam!) znajdziemy informację nt. pochodzenia tego słowa:

Pochodzi od łacińskiego wyrazu pragmaticus („sprawny w działaniu”), który z kolei pochodzi od greckiego słowa pragmatikós oznaczającego „do zrobienia”. (…) Pragmatyczni programiści doprowadzają sprawy do końca i robią to dobrze.

Thomas David , Hunt Andrew – Pragmatyczny programista. Od czeladnika do mistrza

Z mojej perspektywy – osoby, która pracowała na różnych poziomach z naprawdę wieloma developerami właśnie taki typ zaangażowanego programisty, który nieustannie szuka rozwiązań problemów (a nie np. wymówek), to człowiek z którym zawsze będzie się dobrze współpracowało. Praca z nim będzie łatwiejsza i spokojniejsza, bo po prostu wiemy, że możemy na niego liczyć. Bez względu na to, jaka zapanuje sytuacja na rynku, taka osoba nie będzie miała problemu ze znalezieniem pracy.

W tym kontekście pragmatyczny programista to po prostu dobry programista.

Poniżej znajdziecie dziesięć postaw, które w konkretny sposób pokażą Wam jakie elementy swoich zachowań rozwijać, by właśnie stać się takim programistą:

1. Nieustępliwy w szukaniu rozwiązań

Dobrego programistę nie zraża to, że jedno lub drugie rozwiązanie nie działa. Ma świadomość tego, że czasem trzeba poszukać nieco głębiej, sprawdzić jak np. działa dana biblioteka bądź dogłębnie przeanalizować funkcję, która generuje problem. Wie, że nieraz trzeba zrobić sobie przerwę, odejść od komputera i wrócić do problemu z czystym umysłem. Czasem trzeba poprosić kolegę z biurka obok o wsparcie. Ostatecznie jednak problem zostaje przez pragmatycznego programistę rozwiązany.

2. Samodoskonalący się

Dobry programista to taki, który ma poczucie, że stanie w miejscu, to cofanie się. Jest nastawiony na ciągły rozwój, subskrybuje newslettery branżowe, słucha podcastów, czyta artykuły, książki, bierze udział w spotkaniach branżowych i webinarach, rozwija własne projekty.

3. Jest na bieżąco

Pragmatyzm w programowaniu to nieustanne poznawanie nowych narzędzi, nowych standardów języków czy nowych bibliotek i frameworków. To nieraz przeglądanie z wypiekami na twarzy newsów, informujących o tym, że nasza ulubiona biblioteka otrzyma pożądane przez nas funkcje. To także niezamykanie się na jedną konkretną technologię, tylko posiadanie umiejętności, które pozwolą nam na znalezienie najefektywniejszego rozwiązania.

4. Potrafi krytycznie myśleć

Albo innymi słowy – nie bierze za pewnik informacji, które gdzieś przeczyta „w Internetach” lub z pewną dozą nieufności podchodzi do informacji, że „framework X jest jedyną słuszną opcją i wszyscy powinni z niego korzystać”. Nie kopiuje też bezmyślnie kodu ze stackoverflow, tylko myśli analitycznie i stara się go zrozumieć, a następnie samodzielnie sprawdza czy znalezione rozwiązanie będzie najlepsze dla konkretnego case’u.

5. Jest pomocny

Tutaj nie chodzi o to, by co chwilę odrywać się od swojej pracy i pytać juniorów czy potrzebują wsparcia. Natomiast ważne jest to, by nie obrastać w piórka i – mówiąc kolokwialnie – „nie być bucem”. Gdy ktoś prosi Cię o pomoc i wiesz, że Twoja wiedza może być przydatna w rozwiązaniu problemu, to po prostu – pomóż. I znowu, nie chodzi o to, by wszystko nagle rzucać, tylko znaleźć czas w ciągu dnia by zerknąć z czym boryka się kolega bądź koleżanka. Twoja szybka porada może pozwolić na zaoszczędzenie drugiej osobie kilku godzin „błądzenia we mgle”.

6. Rozumie biznes, chce zrozumieć potrzeby klienta

To naprawdę musi wybrzmieć: „Programowanie to nie klepanie kodu, to rozwiązywanie problemów”. Innymi słowy, dobry developer rozumie, że kod to nie wszystko. Ważne także są deadline’y, budżet klienta, to do jakiej grupy docelowej produkt będzie kierowany. Nie budujemy promu kosmicznego, kiedy klientowi potrzebna jest tylko skromna awionetka. Zrozumienie biznesu oznacza też, że czasem trzeba zostawić z boku swoje ego, dumę i użyć rozwiązań, które działają tu i teraz, a nie tych, które są idealne.

7. Zaangażowany

Zaangażowany programista daje w pracy z siebie 100%. Jest proaktywny, szuka rozwiązań, które poprawią nie tylko jego jakość pracy ale i całego zespołu.

8. Esencjalista

Ponoć Bill Gates powiedział, że preferuje zatrudniać do najtrudniejszych projektów ludzi leniwych, ponieważ oni znajdują najszybsze rozwiązanie dla skomplikowanego problemu. Może jest to dosyć kontrowersyjna teza, ale w gruncie rzeczy o to chodzi w esencjaliźmie – na umiejętności dokonywania wyboru i wybieraniu tego, co jest najważniejsze w danej sytuacji. Da się użyć śrubokręta by wbić gwóźdź, ale po co, skoro młotek będzie lepszy. Esencjalista to ktoś, kto szanuje czas swój, firmy oraz klienta i szuka najefektywniejszych, i najsprytniejszych rozwiązań.

9. Szczery

Nie ma nic gorszego niż chowanie głowy w piasek, lub przemilczanie problemów. Dobry programista potrafi przyznać, że dał ciała, że sobie nie radzi, lub że czas zaplanowany na dany projekt jest nierealny. Jeżeli ma pod sobą młodszych stażem developerów, to nie poklepuje ich po plecach gdy piszą zły kod. Szczerze natomiast mówi o problemach i rzeczach, które należy naprawić.

10. Samoświadomy

Dobry programista, to taki, który zna swoje możliwości, wie co wpływa na jego produktywność, wie jak zorganizować sobie pracę, by być najbardziej wydajnym. Ma świadomość jakie problemy czyhają na programistów: wypalenie zawodowe, pracoholizm, imposter syndrom. Jest w stanie w taki sposób ogarniać work-life balance i swoją ścieżkę kariery, by po latach pracy wciąż czerpać radość z tego co robi.


I to już wszystkie cechy pragmatycznego programisty 🙂 Oczywiście tylko z mojej perspektywy, więc jeżeli macie swoje propozycje to śmiało, wrzucajcie w komentarzach.

Dodaj komentarz

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

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Nasza pasja do technologii nie kończy się na dostarczaniu wnikliwych treści poprzez ten blog. Zapraszamy po więcej tajników specjalistycznej wiedzy dla entuzjastów takich jak Ty.

Tematy

animacje animate Attribute inheritance Block Theme Branża IT bug Code Comments CSS CSS Flexbox developer tools Doc Blocks dostępność www Edge Edge computing Editor Flex Gap FSE Full Site Editing GIT GIT Submodules Gutenberg HTTP HTTP/2 HTTP/3 IT JS Memcached Optimization plik SVG Praca praca w IT Rozmowy o WordPress strony www SVG Text-overflow theme.json v-model Vue.js wcag web accessibility Web development webkit line clamp Wordpress wp postmeta api wp transient