logoskutecznyprogramista.pl

Zacznij dowozi─çBlogKontakt

Cze┼Ť─ç, nazywam si─Ö Krzysztof Jendrzyca.

Poka┼╝─Ö Ci jak wdro┼╝y─ç nawyki, narz─Ödzia i taktyki najlepszych programist├│w.

­čĹë Zacznij tutaj

Trafi┼ée┼Ť w dobre miejsce, je┼Ťli zastanawiasz si─Ö:

  • Jak przekona─ç pracodawc─Ö, aby p┼éaci┼é wi─Öcej za Twoj─ů prac─Ö?
  • Co zrobi─ç, gdy czujesz si─Ö zagubiony i przyt┼éoczony ilo┼Ťci─ů rzeczy, kt├│re masz na swojej li┼Ťcie ÔÇ×do nauczeniaÔÇŁ?
  • Co zrobi─ç, gdy nie masz mentora, od kt├│rego mo┼╝esz si─Ö uczy─ç i jak go znale┼║─ç, by przyspieszy─ç swoj─ů nauk─Ö?
  • Co zrobi─ç, gdy programowanie nie jest Twoj─ů pasj─ů, ale wiesz, ┼╝e pomog┼éoby Ci polepszy─ç jako┼Ť─ç ┼╝ycia?
  • Co musisz zrobi─ç, aby awansowa─ç i przesta─ç by─ç juniorem?
  • Jakie umiej─Ötno┼Ťci wymagane s─ů od ÔÇ×true senioraÔÇŁ?

Wyobra┼║ sobie, ┼╝e masz odpowied┼║ na te i wiele innych pyta┼ä, kt├│re chodz─ů Ci po g┼éowie. Wiesz czego si─Ö uczy─ç i w jakiej kolejno┼Ťci, jak si─Ö rozwija─ç; co robi─ç, aby awansowa─ç i zarabia─ç takie pieni─ůdze, jakie Ci si─Ö nale┼╝─ů. Feels good?

W moim przypadku, aby to wszystko osi─ůgn─ů─ç wystarczy┼éo poszuka─ç prostych rozwi─ůza┼ä.

Programi┼Ťci lubi─ů przekombinowywa─ç, a to w┼éa┼Ťnie prostota jest kluczem do sukcesu. Pisze o tym m.in. Kent Beck w ksi─ů┼╝ce Extreme Programming Explained:

ÔÇ×Treat every problem as if it can be solved with ridiculous simplicity, add complexity in the future where you need itÔÇŁ.

Proste plany s─ů szybkie w implementacji, ┼éatwe w modyfikacji, ┼éatwiej je zrozumie─ç i zweryfikowa─ç.

Problem i proste rozwi─ůzanie oznacza brak problemu. Problem i skomplikowane rozwi─ůzanie oznacza rozwi─ůzanie jednego problemu i stworzenie dw├│ch nowych.

Dlatego, je┼Ťli chesz si─Ö szybko rozwija─ç i zdoby─ç lepsz─ů prac─Ö powiniene┼Ť stawia─ç na prostot─Ö.

Zrozumienie tego zaj─Ö┼éo mi troch─Ö czasu. Eksperymentuj─Ö ju┼╝ od kilku lat w poszukiwaniu najprostszych rozwi─ůza┼ä. Ca┼éy czas si─Ö ucz─Ö i obserwuj─Ö najlepszych, ale widz─Ö ju┼╝ co dzia┼éa. Chcia┼ébym si─Ö tym z Tob─ů podzieli─ç.

ÔÇö

Moim celem jest przyspieszy─ç Tw├│j proces zdobywania najwa┼╝niejszych umiej─Ötno┼Ťci programisty. Poka┼╝─Ö Ci cz─Ö┼Ťci wsp├│lne specjalist├│w IT i to w jaki spos├│b mo┼╝esz je wykorzysta─ç ┼╝eby zupgradowa─ç swoj─ů karier─Ö, cho─ç bardzo s┼éowa ÔÇ×karieraÔÇŁ nie lubi─Ö. Dotychczas udaje mi si─Ö robi─ç to na mniejsz─ů skal─Ö, lokalnie. Teraz przyszed┼é czas na przeskalowanie.

Dam Ci konkretne wskaz├│wki i zaprezentuj─Ö techniki przekazywane mi od pocz─ůtk├│w mojej pracy przez ┼Ťwietnych mentor├│w. Doskonale sprawdzaj─ů si─Ö u mnie i u wielu programist├│w, z kt├│rymi mia┼éem lub nadal mam przyjemno┼Ť─ç pracowa─ç.

W zdobywaniu nowych skilli pomaga mi ÔÇťdeliberate practiceÔÇŁ. Jest to forma treningu, kt├│ra polega na tym, ┼╝e celowo i systematycznie naginasz granice tego do czego jeste┼Ť zdolny, skupiasz si─Ö na otrzymaniu konkretnego feedbacku i jak najszybciej wyci─ůgasz wnioski do kolejnej takiej iteracji.

Ci─ůgle do┼Ťwiadczam tego, ┼╝e dzielenie si─Ö do┼Ťwiadczeniem cementuje i porz─ůdkuje moj─ů wiedz─Ö. Jestem przekonany, ┼╝e b─Ödzie to jedna z nagr├│d za dostarczanie Ci warto┼Ťci.

Mam te┼╝ nadziej─Ö, ┼╝e dzi─Öki zawartym tu radom do┼é─ůczysz do klubu #programista15k.

Pieni─ůdze w tym przypadku nie b─Öd─ů celem, ale wyznacznikiem tego jak du┼╝─ů warto┼Ť─ç jeste┼Ť w stanie dostarczy─ç. Ta warto┼Ť─ç mo┼╝e by─ç potem wymieniana na pieni─ůdze, czas sp─Ödzony z rodzin─ů/znajomymi lub kontrol─Ö nad tym co i kiedy robisz.

Wierz─Ö w pot─Ög─Ö junior developer├│w. Uwa┼╝am ┼╝e junior z du┼╝─ů dawk─ů pokory i odpowiednim mentoringiem mo┼╝e zupgradowa─ç swoje skille w bardzo kr├│tkim czasie, tym samym dostarczaj─ůc mn├│stwo warto┼Ťci.

Sk─ůd to wiem?

Bo na własnej skórze przekonałem się, że to działa. Widziałem też, że działa u innych.

Du┼╝o pokory + dobrzy mentorzy i ch─Ö─ç nauki = ┼Ťwietne pieni─ůdze, ┼Ťwietne perspektywy na przysz┼éo┼Ť─ç, techniki oraz skille, kt├│rych cz─Östo brakuje nawet bardziej do┼Ťwiadczonym programistom z wieloletnim sta┼╝em.

Zapisz si─Ö do newslettera, aby otrzymywa─ç powiadomienia o nowych wpisach.

Wy┼Ťl─Ö Ci r├│wnie┼╝ dokument, dzi─Öki kt├│remu zaczniesz szybciej dowozi─ç taski ­čĺ¬.

Zapisz mnie

Czy potrzebna Ci pasja?

Uwa┼╝am (i nie tylko ja), ┼╝e nie musisz by─ç pasjonatem programowania, aby by─ç ┼Ťwietnym programist─ů.

Coraz wi─Öcej os├│b trafia do tej bran┼╝y w pogoni za lepszymi warunkami zatrudnienia i lepszym ┼╝yciem dla siebie i swojej rodziny.

Ja sam chcia┼éem by─ç kiedy┼Ť producentem muzycznym i dj-em. Muzyka to jedna z moich pasji. Na szcz─Ö┼Ťcie, rzeczywisto┼Ť─ç ┼Ťci─ůgn─Ö┼éa mnie na ziemi─Ö ÔÇô zauwa┼╝y┼éem, ┼╝e nie by┼éem w tym tak dobry jak bym chcia┼é.

Zamiast wi─Öc goni─ç za pasj─ů, zacz─ů┼éem eksperymentowa─ç i zdobywa─ç coraz to lepsze, bardziej r├│┼╝norodne i przydatne umiej─Ötno┼Ťci z obszaru IT.

Po jakim┼Ť czasie, ni st─ůd, ni zow─ůd to programowanie sta┼éo si─Ö moj─ů pasj─ů.

Nie musisz by─ç ÔÇťurodzonym programist─ůÔÇŁ, aby zdoby─ç najlepsze umiej─Ötno┼Ťci. Musisz po prostu zacz─ů─ç dzia┼éa─ç, a pasja przyjdzie do Ciebie sama (lub te┼╝ nie, who cares).

Jak zdoby─ç lepsz─ů prac─Ö lub lepsze mo┼╝liwo┼Ťci w obecnym miejscu zatrudnienia?

Spotka┼éem si─Ö z wieloma definicjami ÔÇťlepszej pracyÔÇŁ, ale najbardziej uto┼╝samiam si─Ö z t─ů opisan─ů przez Cala Newporta w ksi─ů┼╝ce ÔÇťSo Good They CanÔÇÖt Ignore YouÔÇŁ.

Po pierwsze, ┼Ťwietna praca zaspokaja poni┼╝sze potrzeby psychologiczne:

  1. Poczucie, ┼╝e masz kontrol─Ö nad swoim dniem i ┼╝e wykonywane przez Ciebie czynno┼Ťci maj─ů znaczenie (Autonomy)
  2. Poczucie, ┼╝e jeste┼Ť dobry w tym co robisz (Competence)
  3. Poczucie po┼é─ůczenia z innymi lud┼║mi (Relatedness)

Po drugie, ┼Ťwietn─ů prac─Ö cechuj─ů poni┼╝sze czynniki:

  1. Kreatywno┼Ť─ç
  2. Wpływ
  3. Kontrola

W wi─Ökszo┼Ťci zawod├│w jest tak, ┼╝e im jeste┼Ť lepszy w tym co robisz, tym cz─Ö┼Ťciej czujesz si─Ö spe┼éniony i jednocze┼Ťnie zaczynasz mie─ç wi─Öcej kontroli nad tym co mo┼╝esz robi─ç.

Innymi s┼éowy ÔÇô im wi─Öcej masz do┼Ťwiadczenia w swojej pracy tym bardziej jeste┼Ť z niej zadowolony.

Czasem to wida─ç po ludziach, kt├│ry na pocz─ůtku nie lubi─ů swojej pracy jako┼Ť specjalnie, a potem zaczynaj─ů by─ç w niej dobrzy do tego stopnia, ┼╝e zaczyna ich to kr─Öci─ç.

Jednocze┼Ťnie, ka┼╝dy chcia┼éby od razu uczestniczy─ç w najlepszych projektach zmieniaj─ůcych ┼Ťwiat i dostawa─ç najlepsze taski do implementacji.

Niestety, rzeczywisto┼Ť─ç nie dzia┼éa w taki spos├│b. ­čĄĚÔÇŹÔÖé´ŞĆ

Gdy nie posiadasz jeszcze odpowiednich umiej─Ötno┼Ťci istnieje szansa, ┼╝e b─Ödziesz fixowa┼é bugi, kt├│rych nikt nie chce rusza─ç zamiast pracowa─ç nad designem przysz┼éo┼Ťciowej architektury dla nowych projekt├│w.

Kreatywno┼Ť─ç, wp┼éyw i kontrola to ekstremalnie rzadkie i warto┼Ťciowe cechy. Aby je zdoby─ç musisz najpierw zaoferowa─ç w zamian rzadkie i warto┼Ťciowe umiej─Ötno┼Ťci.

IT to faktycznie bran┼╝a, w kt├│rej brakuje programist├│w. Brakuje jednak specjalist├│w, a nie klepaczy kodu.

Do Ciebie nale┼╝y odpowiedzialno┼Ť─ç za to aby zosta─ç specjalist─ů i udowodni─ç, ┼╝e nim jeste┼Ť.

Jak zosta─ç specjalist─ů i udowodni─ç, ┼╝e nim jeste┼Ť?

Cal Newport pisze, ┼╝e musisz zaadoptowa─ç mindset craftsmana. Jest to mindset, kt├│ry reprezentuj─ů wszyscy najlepsi programi┼Ťci, kt├│rych znam.

W najwi─Ökszym skr├│cie, musisz skupi─ç si─Ö na tym co masz do zaoferowania ┼Ťwiatu, a nie na tym co ┼Ťwiat ma do zaoferowania Tobie.

Musisz nastawi─ç si─Ö na dostarczanie ekstremalnej warto┼Ťci. Gdzie warto┼Ť─ç to nie tylko kod, kt├│ry piszesz, bo sk┼éada si─Ö on mo┼╝e na ~50% tego co potencjalnie mo┼╝esz zaoferowa─ç.

Podam Ci przyk┼éad, z czas├│w gdy zastosowa┼éem t─Ö zasad─Ö jeszcze nie┼Ťwiadomie.

Kilka lat temu chcia┼éem si─Ö bardzo dobrze nauczy─ç pisa─ç aplikacje frontendowe w React.js. Wydawa┼éo mi si─Ö, ┼╝e to mo┼╝e by─ç przysz┼éo┼Ť─ç aplikacji frontendowych. Niestety firma nie oferowa┼éa szkole┼ä z tego zakresu. Nie by┼éo te┼╝ szans na projekt w tej technologii.

Zbieg┼éo si─Ö to jednak w czasie z konieczno┼Ťci─ů dopisania nowych funkcjonalno┼Ťci UIÔÇÖowych w projekcie. Wiedzieli┼Ťmy ju┼╝ wtedy, ┼╝e konkurencyjne do Reacta technologie nie daj─ů takich rezultat├│w jak by┼Ťmy chcieli.

Stały się dwie rzeczy:

  • postanowili┼Ťmy u┼╝y─ç w┼éa┼Ťnie Reacta do dopisania nowych funkcjonalno┼Ťci
  • postanowi┼éem, ┼╝e skoro nikt nie potrafi pom├│c w zdobyciu do┼Ťwiadczenia w u┼╝ywaniu Reacta to zamiast narzeka─ç sam si─Ö go naucz─Ö, zaczn─Ö dzieli─ç si─Ö t─ů wiedz─ů w zespole i b─Öd─Ö prowadzi─ç szkolenia ┼╝eby ugruntowa─ç sobie wiedz─Ö

Nie skupi┼éem si─Ö na tym co ┼Ťwiat ma mi do zaoferowania, tylko znalaz┼éem co┼Ť co ja mog─Ö da─ç ┼Ťwiatu ÔÇô wiedz─Ö, kt├│rej nikt w firmie nie posiada.

Ten prosty zbieg okoliczno┼Ťci i moja nie┼Ťwiadoma decyzja doprowadzi┼éy do tego, ┼╝e:

  • zosta┼éem ekspertem z Reacta (bo ekspert to ten co wie troch─Ö wiecej ni┼╝ inni)
  • pomog┼éem zwi─Ökszy─ç produktywno┼Ť─ç ca┼éego zespo┼éu, bo zacz─Öli┼Ťmy u┼╝ywa─ç Reacta, kt├│ry bardziej pasowa┼é do tego co robili┼Ťmy, przestali┼Ťmy marudzi─ç
  • trafi┼éem do ┼Ťwietnego projektu, gdzie koniec ko┼äc├│w te┼╝ powsta┼éa potrzeba przepisania Angulara na Reacta, zdobyta wiedza bardzo si─Ö wtedy przyda┼éa, znowu by┼éem ekspertem
  • w nast─Öpnych latach, gdy React dopiero stawa┼é si─Ö mainstreamowy mia┼éem przewag─Ö w aplikowaniu na stanowiska pracy zwi─ůzane z Reactem i JSem
  • nauczy┼éem si─Ö czym jest mindset craftsmena i jak pot─Ö┼╝ne korzy┼Ťci mo┼╝e przynie┼Ť─ç, stosuj─Ö go do teraz

Droga jest prosta ÔÇô b─ůd┼║ najlepszy w tym co robisz, a dostaniesz w zamian to co najlepsze.

offtop boxÔÇ×ProstaÔÇŁ nie znaczy ÔÇ×┼éatwaÔÇŁ. Jest to droga trudniejsza, ale r├│wnie┼╝ zdecydowanie szybsza.

Nie by┼éo ┼éatwo wskoczy─ç w buty trenera oraz zacz─ů─ç u┼╝ywa─ç w projekcie biblioteki, kt├│rej nikt dobrze nie zna┼é. Jednak dzi─Öki temu znacznie szybciej osi─ůgn─ů┼éem to co chcia┼éem ÔÇô znajomo┼Ť─ç Reacta, lepsze projekty, lepsz─ů prac─Ö.

Nie ka┼╝demu ta droga b─Ödzie odpowiada─ç i nie ka┼╝demu musi.

Dobry przyk┼éad obrazuj─ůcy r├│┼╝nic─Ö mi─Ödzy ÔÇ×simpleÔÇŁ oraz ÔÇ×easyÔÇŁ przedstawi┼é Christopher Nolan w filmie ÔÇ×The PrestigeÔÇŁ ÔÇô 10/10. Go watch it.

Kilka słów o mnie

Pracowa┼éem w r├│┼╝norodnych projektach. Od 10 letniego legacy kodu, gdzie pozna┼éem ka┼╝dy mo┼╝liwy antypattern dotycz─ůcy kodu i ludzkiego zachowania w zespole, po szybkie dwumiesi─Öczne startupowe projekty, gdzie liczy┼éo si─Ö szybkie dowiezienie funkcjonalno┼Ťci ┼╝eby sprawdzi─ç czy ma on szans─Ö zaistnie─ç na rynku.

Pisa┼éem w C#, VB, ASP.NET, Angularze, Node i React.js. Z dwoma ostatnimi jestem zwi─ůzany do teraz. Uwa┼╝am, ┼╝e j─Özyk programowania, libka i framework to tylko narz─Ödzie do osi─ůgni─Öcia celu, a nie cel sam w sobie. Stawiam jednak tylko na proste, konkretne i niemagiczne narz─Ödzia (dlatego React i Node).

Mia┼éem (i nadal mam) przyjemno┼Ť─ç wsp├│┼étworzy─ç zespo┼éy od zera, przechodz─ůc przez wszystkie fazy jego formowania. Czasem udawa┼éo si─Ö ┼╝e taki zesp├│┼é pracowa┼é jak idealnie naoliwiona maszyna gdzie ka┼╝dy bra┼é odpowiedzialno┼Ť─ç za dowiezienie projektu. Czasem by┼éy r├│wnie┼╝ powa┼╝ne zgrzyty, kt├│re trzeba by┼éo naprawi─ç. Wtedy otwiera┼é si─Ö dla mnie ┼Ťwiat umiej─Ötno┼Ťci mi─Ökkich ÔÇô komunikacja z obcymi formami ┼╝ycia, czy rozwi─ůzywanie dysfunkcji zespo┼éu.

Pope┼éni┼éem mniej wi─Öcej 101569 b┼é─Öd├│w i nadal je pope┼éniam. Uwa┼╝am, ┼╝e jest to naturalna cz─Ö┼Ť─ç procesu w tym, aby sta─ç si─Ö lepszym, a jednocze┼Ťnie najlepsza i najszybsza forma feedbacku jaki mo┼╝esz dosta─ç podczas nauki. No pain, no gain.

Uwa┼╝am, ┼╝e umiej─Ötno┼Ťci mi─Ökkie s─ů zbyt cz─Östo pomijane przez programist├│w. A jednak to w┼éa┼Ťnie te umiej─Ötno┼Ťci potrafi─ů najszybciej przekszta┼éci─ç przeci─Ötnego programist─Ö w cenionego specjalist─Ö. Wszystko przez to, ┼╝e s─ů to umiej─Ötno┼Ťci z grupy ekstremalnie rzadkich (patrz wy┼╝ej).

ÔÇ×Those who are unaware they are walking in darkness will never seek the lightÔÇ× ÔÇô Bruce Lee

Wyst─Öpuj─Ö na meetupach i konferencjach ┼╝eby weryfikowa─ç, ┼╝e to co m├│wi─Ö ma sens.

Wiem, ┼╝e nic nie wiem dlatego ci─ůgle si─Ö ucz─Ö. Maksymalizuj─Ö jednak zdolno┼Ť─ç do szybkiej nauki i ucz─Ö si─Ö zasad uniwersalnych zamiast wkuwa─ç api kolejnych framework├│w javascriptowych na pami─Ö─ç.

Od lat zbiera┼éem si─Ö za ten projekt, poniewa┼╝ uzbiera┼éo mi si─Ö du┼╝o przemy┼Ťle┼ä na temat bycia programist─ů oraz o tym jak szybko i wydajnie si─Ö rozwija─ç. Dopiero przeczytanie ksi─ů┼╝ki ÔÇ×So Good They CanÔÇÖt Ignore YouÔÇŁ i obejrzenie tej prezentacji od weterana IT Dana Northa u┼Ťwiadomi┼éo mi, ┼╝e wszystkie moje przemy┼Ťlenia maj─ů sens nie tylko dla mnie i mo┼╝e warto si─Ö nimi podzieli─ç.

Wierz─Ö w zasad─Ö ÔÇ×strong opinions, weakly heldÔÇŁ.

#nieumiemu┼╝ywa─çhashtag├│w #dlategorobi─Öto #cz─Östo

Uwa┼╝am, ┼╝e kod jest tylko efektem ubocznym.

Bardzo daleko mi do geniusza, ale spotka┼éem na swojej drodze kilka os├│b, kt├│re uwa┼╝am za wybitne i ca┼éy czas staram si─Ö im dor├│wna─ç. Wymaga to pracy i poch┼éaniania olbrzymiej ilo┼Ťci wiedzy. Dzi─Öki temu, testuj─Ö metody pracy, kt├│re wiele os├│b uwa┼╝a za ekstremalne, niepotrzebne, g┼éupie lub dziecinne. Wierz─Ö jednak, ┼╝e wszystkiemu warto da─ç przys┼éowiowe pi─Ö─ç minut i przetestowa─ç z czym mamy do czynienia. Cz─Östo te ÔÇ×dziecinneÔÇŁ, proste metody dzia┼éaj─ů zadziwiaj─ůco dobrze.

Je┼Ťli wierzysz , ┼╝e mo┼╝na si─Ö uczy─ç od ka┼╝dego i zak┼éadasz, ┼╝e jeszcze du┼╝o nauki przed Tob─ů to #skutecznyprogramista jest inicjatyw─ů przeznaczon─ů szczeg├│lnie dla Ciebie. Wierz─Ö, ┼╝e razem nauczymy si─Ö od siebie jeszcze wi─Öcej i tym razem pomo┼╝emy sobie nawzajem osi─ůgn─ů─ç nasze cele.


Zapisz si─Ö do newslettera, aby otrzymywa─ç powiadomienia o nowych wpisach.

Wy┼Ťl─Ö Ci r├│wnie┼╝ dokument, dzi─Öki kt├│remu zaczniesz szybciej dowozi─ç taski ­čĺ¬.

Zapisz mnie

Cze┼Ť─ç! Jestem Krzysztof. Poka┼╝─Ö Ci jak wdro┼╝y─ç nawyki, narz─Ödzia i taktyki skutecznych programist├│w. Je┼Ťli jeste┼Ť tu poraz pierwszy to zacznij tutaj.


Śledź mnie na Facebooku, Instagramie, Twitterze, LinkedIn.