Co pewien czas na różnych forach pojawia się tytułowe pytanie. Najczęściej jest ono połączone z kolejnym – “W jakim języku najwięcej zarobię?”. Jeśli należysz do osób zadających te lub podobne pytania, zapisz się na kursy zawodowe, przekwalifikuj się, wyjedź na zmywak. Praca programisty polega na ciągłym obserwowaniu rynku i dostosowywaniu się do jego potrzeb. Ktoś, kto tego nie potrafi, zostanie tylko klepaczem, zarabiającym poniżej średniej w zawodzie programisty i język nie ma tutaj żadnego znaczenia.
Nadal czytasz ten tekst? To dobrze. Przynajmniej wiesz czego chcesz – albo zwymyślać mnie w komentarzach, albo rzeczywiście chcesz się dowiedzieć co dalej.
Zacznijmy od samego PHP. Jesteś pewien, że znasz ten język? Wiesz, że w PHP są semafory oraz wielowątkowość? Wiesz, że w PHP możesz operować na archiwach ZIP oraz RAR, tworzyć aplikacje konsolowe oraz korzystać z prawie każdej bazy danych? Poza samym językiem istnieje jeszcze cały ekosystem dodatków i rozszerzeń do języka. Zacznijmy od frameworków. W chwili obecnej mamy na rynku pięć znanych i lubianych frameworków oraz kilkanaście (jeśli nie kilkadziesiąt) mniej znanych. Jeśli jesteś programistą PHP, powinieneś dobrze znać jeden framework. To przy jego pomocy zaoszczędzisz czas i znajdziesz lepiej płatną pracę. Oprócz frameworków mamy do dyspozycji szereg narzędzi – PHPUnit, Xdebug, narzędzia CI, Phing, dbdeploy i inne.
Jeśli z jakiegoś powodu nadal upierasz się na “co dalej”, zainteresuj się niestandardowymi zastosowaniami PHP. Czasami jest to droga donikąd, czasami okaże się, że odpowiedź na pytanie pojawi się sama. PHP zawitał na Androidzie (dzięki PHP for Android), jest również na desktopach (PHP GTK). Ludzie z Facebooka “skompilowali” go do C++. PHP zawitał również do chmur obliczeniowych. Możemy z niego korzystać w Windows Azure jak i w AWS. Co więcej, PHP ma swoją własną chmurę – PHP Fog.
Nadal nie przekonany? Niech Ci będzie. Idziemy dalej. Jeśli nadal chcesz tworzyć szeroko rozumiane strony internetowe, możesz skierować swoją uwagę w kierunku Ruby lub Pythona. Oba języki oferują podobne funkcjonalności (pewnie mnie za to zlinczujecie), a społeczność dostarcza frameworki oraz wsparcie techniczne. Poza tym programując w Ruby lub Pythonie, będziesz mógł się śmiać z ludzi od PHP.
Kolejną technologią webową, która zdaje się zdobywać popularność jest ASP.NET MVC. Jeśli na frameworkach PHP zjadłeś zęby, wówczas poznanie tej technologii to dla Ciebie bułka z masłem. Wzorzec jaki jest, każdy widzi, a język to kwestia wtórna. Poza tym poznając dowolną technologię .NET masz możliwość praktycznie bezproblemowego przejścia na zupełnie nieznane wcześniej obszary – Silverlight, czyli aplikacje na urządzenia mobilne, WPF – aplikacje desktopowe (oraz Silverlight), WCF – usługi sieciowe, Windows Azure – cloud computing oraz wiele innych.
Może się zdarzyć, że na brzmienie słowa Microsoft, ziemniaki gniją Ci w piwnicy. Zdarza się. Na szczęście i na to jest rada – Java. Tutaj też możesz tworzyć aplikacje internetowe, oprogramowanie na desktopy oraz aplikacje mobilne (Android).
A może masz już dosyć grzebania w backendzie i chciałbyś się sprawdzić jako frontendowiec? Ci lepsi też nieźle zarabiają. Na początek poznaj Photoshopa i naucz się wycinać layouty. Nie obejdzie się również bez znajomości standardów HTML/XHTML. Do tego CSS oraz JavaScript. Nie zapomnij o co najmniej jednej bibliotece w stylu jQuery. Oprócz czysto technicznych umiejętności, na pewno przyda się wiedza z zakresu UX oraz SEO.
Jak widzisz wybór jest ogromny i to tylko od Ciebie zależy, w którą stronę pójdziesz. Pamiętaj tylko o jednym. Nie kieruj się średnią wysokością pensji. Jeśli okaże się, iż dana technologia Ci nie odpowiada może być za późno na jej zmianę i będziesz tkwił w pracy, której nie cierpisz.