Kariera

Ekonomiczny kierunkowskaz w karierze programisty, czyli co robic zeby zarobic?


W tym artykule chcialby opisac rozterki programisty z ponad 10 letnim stazem, ktory z przerwami w karierze programisty staral sie wykorzystac czas pomiedzy projektami na tworzenie rozwiazan innowacyjnych, ktore mialy sluzyc jako narzedzia w codziennej pracy.

Poczatek

Zaczalem jako programista PHP juz w 2002 roku, gdy jeszcze byl popularny jezyk Perl, ktorego nie wybralem z kilku praktyczynych przyczyn, co okazalo sie dobra droga w karierze.

Waluta programisty

Obecnie jako programista moge korzystac z wiedzy zdobytej i w ten sposob szybciej przyswajac nowe rozwiazania i adopowac je efektywniej poprzez lepsze ich rozumienie w kontekscie wczesniejszych doswiaczen.

Moja waluta jest wiedza praktyczna, ktora wykorzystuje w codziennej pracy aby tworzyc nowe rozwiazania oraz poszerzac wiedze, ta waluta jest wymienna na inne uzyteczne w codziennym zyciu jak PLN, EUR, itd

Handel

Pojecie szerokie, ale dotyczy relacji z klientem w celu uzyskania maksymalnej korzysci w okreslonym czasie.

W przypadku programisty praktyka jakim jestem staram sie ten czas rozpatrywac w malej i duzej skali:

Mala skala, dzialania codzienne

1. Codziennie szukam nowych inspiracji poprzez przeszukiwanie kodu w projektach, co pozwala mi na generowanie lepiszej jakosci kodu

2. Wykorzystuje uporzadkowana baze wiedzy w postaci artykulow i ksiazek do tworzenia logicznego i spojnego swiata tworzenia aplikacji

3. Tworze male aplikacje testowe, prototypy, aby w krotkim czasie sprawdzic jakas aplikacje, dzialanie, tworze narzedzia do zwiekszenia efektywnosci pracy

Duza skala, strategia na lata

Tworze wieksze projekty na bazie malych w perspektywie miesiecy i lat.

Realizacja planu poznawania technologii, ktore sa modulowe i mozliwa jest ich kooperacja

Poznawanie zupelnie nowych technologii w dziedzinie automatyzacji

 

Linia czasu

Nie jestem idealnym przykladem pracowitego i skupionego na jednym programisty,

lubie chaos, rozproszenie, ktore mnie motywuje do skupienia sie na poszczegolnych elementach, by zrozumiec te zasady, ktore w tym pozornym chaosie funkcjonuja.

Z powodu mojej checi poznawania, nie jestem zainteresowany rozwiazaniami skomplikowanymi, ale modulowymi, takimi, ktore moge potem rozbudowac.

 

Decyzja, jaki projekt wybrac?

W ten sposob zrezygnowalem z programowania aplikacji Magento, co okazalo sie dobrym wyborem, gdyz zamiast tego moglem wykorzystac czas w pracy na poznawanie standardow, ktore przydaja sie nie tylko w obecnym ale i przyszlym projekcie.

 

Realny zysk, korzysci obecne i przyszle, inwestycje w programowaniu

nie licze tylko korzysci z zamiany moich codziennych zadan na pieniadz, ale tez mozliwosc wykorzystania tego zdobytego w drodze zarobku doswiadczenia do kolejnych projektow, to moja inwestycja.

Inwestycja jest skupienie sie na jednym frameworku w celu uzyskania kwalifikacji pozwalajacych na lepsze zarobki w tej dziedzinie.

Inwestycja a czysty zysk

Czy inwestycja jest nauka innego jezyka?

Inwestycja wiaze sie z ryzykiem, gdy nie ma innego chetnego na inwestycje oprocz Ciebie.

Mozliwosci poznania innego jezyka, sa sugerowane i dawane przez obecnych i przyszlych pracodawcow i to nazwalbym czystym zyskiem.

Dobra rada, Jakie inwestycje warto poczynic?

python

W mojej ocenie warto zainteresowac sie zdobyc kwalifikacje w jezyku python z uwagi na jego prostote i funkcjonalne dzialanie.

Moze pomoc w tworzeniu malych narzedzi i programow uzytkowych.

nodejs

Rozwiazania oparte na nodejs, sa obarczone wiekszym bagazem, za to JS jest najbardziej popularnym jezykiem.

Warto znac JS i warto umiec go uzyc w Backend, do koumunikacji pomiedzy serwerami, tworzenia szybkich aplikacji w prosty sposob.

 

Czego nie warto sie uczyc?

Jako programista PHP, moge dac kilka wskazowek odnosnie czego nie warto sie uczyc w opraciu o wlasne doswiadczenie:

  • Systemow i frameworkow, ktore sa zcentralizowane oraz/lub zbyt abstrakcyjne.
  • Frameworkow, ktore nie maja klarownej logiki, sa zbyt abstrakcyjne, framework, ma byc droga do celu a nie systemem do konfiguracji, framework ma miec cechy okreslone a nie konfigurowalne, ma wspierac a nie generalizowac. Framework jest definicja tworzenia aplikacji, tak by kazdy deweloper siadajac do aplikacji napisanej w konkretnym frameowrku powinien wiedziec co i gdzie zmienic, gdyz struktura i architektura sa w okreslonych miejscach zdefiniowane, ponadto narzedia, rozszerzenia zintegorwane z IDE powinny wspierac kazda aplikacje napisane w okreslonym frameworku

Magento

przykladem jest Magento, ktory od wielu lat sie nie rozwija, wersja kolejna Magento2 juz nie rozwija sie jak wersja 1.

Mimo, ze to bardzo rozbudowana platforma, to nie pozwala na szybki rozwoj umiejetnosci samego programisty, bo glownie bazuje na xml konfiguracja, ktore nie daja sie tak latwo debugowac i walidowac jak czytsy kod.

Zend

to byl zbior bibliotek, ktory mozna bylo wykorzystywac jako framework.

Framework to zupelnie inna rola niz biblioteka, nie wolno ich mieszac, bo w praktyce nie ma idealnego rozwiazania i sa rozwiazania w konteksice konkretnego problemu.

Jesli cos jest efektywne w uzyciu w konkretnym przypadku, to nalezy to uzyc lub jesli nie, to szukac lepszego rozwiazania.

Mimo, ze mial dobre wsparcie, to obecnie sa dosc dobre inne frameworki, ktore wspieraja prace programisty przy debugowaniu, okreslajac standardy i poszerzajac wspolprace z wieloma bibliotekami na inne frameworki: laravel, symfony.

 

Tom
Tagi: , , ,