Mit kell tudjon egy senior PHP fejlesztő?
Helló,
kábé 3 éve dolgozom PHP-vel és úgy érzem, hogy kezdek stagnálni. Keretrendszereket használok (Yii, Codeigniter), frontenden is nagyon otthonosan mozgok, azonban az az érzésem, hogy többnyire ugyanazt csinálom. Nem igazán érzem úgy, hogy szoftver fejlesztő vagyok, inkább csak olyan szkriptelő vagy nem is tudom.
Mi az amit kéne tudjon egy senior PHP programozó? Olvastam pl. tervezési minta könyveket, de nem igazán látom, hogy a PHP fejlesztésbe ez hogy illene bele. Lehet csak én dolgozom túl egyszerű alkalmazásokon?
Témák mellett könyveket vagy más anyagok ajánlása is jól fogna, előre is köszi.
Ui.: bocs ha nem ide kellett volna írjam ezt.
■ kábé 3 éve dolgozom PHP-vel és úgy érzem, hogy kezdek stagnálni. Keretrendszereket használok (Yii, Codeigniter), frontenden is nagyon otthonosan mozgok, azonban az az érzésem, hogy többnyire ugyanazt csinálom. Nem igazán érzem úgy, hogy szoftver fejlesztő vagyok, inkább csak olyan szkriptelő vagy nem is tudom.
Mi az amit kéne tudjon egy senior PHP programozó? Olvastam pl. tervezési minta könyveket, de nem igazán látom, hogy a PHP fejlesztésbe ez hogy illene bele. Lehet csak én dolgozom túl egyszerű alkalmazásokon?
Témák mellett könyveket vagy más anyagok ajánlása is jól fogna, előre is köszi.
Ui.: bocs ha nem ide kellett volna írjam ezt.
OOP
Persze, nem is érzem úgy,
"Olvastam pl. tervezési minta
Készítettem pl. listázót lapozóval, ahol a lapozó egy wrapper volt a listázó körül, valamint az egész megjelenítés egy abstract factory köré volt építve és a megjelenítés a listázási logikától külön volt választva. Így volt transzparens, hogy most HTML-be, XML-be, CSS-be, PDF-be vagy XLSX-be ment ki az egész. Például.
Az, hogy ismered a
Ismerj és kövess nyomon legalább 1 másik nyelvet és az abban készült fontosabb toolokat (C#, Java, stb.), hogy tudd, másoknak milyen jó dolguk van és rájöjj, nem akarsz te senior PHP programozó lenni. ;)
Írj egy saját CMS-t
Nem kell drupal-szintű, de legyen néhány (fix) tartalomtípus, különböző felhasználói jogok, kommentelés fastruktúrában, stb. Legyen mondjuk egy-két "kvázi statikus" oldal, amihez szintén van pl. markdown szerkesztő, ehhez írd meg a fordító osztályt is. A fórumhoz meg mondjuk BBCode, ehhez is te írd meg a dekódert. Persze mindegyiket kétirányúra, a szerkesztéshez.
Mire megcsinálod (CI-ben), közelíteni fogsz legalább a senior-hoz, kénytelen leszel elég okosan OOP - vagy fel fogod adni.
Nem könnyű feladat, én megcsináltam, azóta egyes elemeit újrahasznosítottam másban.
Jelenlegi álláspontom az, hogy azt a határt nem érdemes átlépni (egyedül dolgozva), amikor adminfelületről lehet új tartalomtípust (mondjuk nem node-on belülit, hanem bonyolultabbat) létrehozni. Kb. onnantól már muszáj a csapat, de így is hidalni fogsz rendesen, de ugyanannyit tanulsz is.
A Drupal "adatbáziscselei" különben sokszor nagyon jók, érdemes ötletelni belőlük, amellett, hogy annyiból kényelmesebb helyzetben vagy, hogy elég az elején (programozás előtt) adatbázismotort és táblatípusokat válassz, míg a Drupal egyszerre többfélére van kitalálva.
Ettől nem lesz valaki senior
Szerintem félreértettél
A fő: nem megállni, állandóan tanulni.
Szakmai tapasztalat
Azt írod, hogy három éve dolgozol PHP-vel, hát ez még (szerintem) karcsú, bár nem vagy teljesen junior (más néven zöldfülű), de valószínűleg még nem jártad meg a menny és a pokol minden bugyrát.
Ha úgy érzed, hogy kezdesz stagnálni (és remélem nem belefásulni), főleg ha úgy érzed mindig ugyan azt csinálod (belefásulás, első fejezet), akkor próbálj olyan területeken, olyan projektben munkát-, esetleg külsősként bedolgozást szerezni a jelenlegi tudásodhoz mérten, amit még nem csináltál. Ismerkedj új technológiákkal, framework-ökkel, esetleg kapcsolódó/kiegészítő technológiákkal, programnyelvekkel. Sőt, ismerkedj eltérő munkamódszerekkel, ez is nagyon fontos. Továbbá manapság egyes cégek/projektek a kapcsolódó egyéb dolgok miatt elvárják egy PHP programozótól, hogy otthonosan mozogjon Linux környezetben. Például ez megy már? Tudnál írni shell szkriptet vagy alapvető C programot amivel szerveroldalon ki tudod egészíteni az általad PHP-ben megírt webes alkalmazást?
Persze mindenhez nem érthetsz, de törekedni lehet a legszélesebb körű tapasztalat megszerzésére.
Szóval dolgozz sokat, tanulj sokat, légy nyitott az újra, légy szorgalmas, és mindenképp légy türelmes. Ha így teszel elkerülhetetlenül senior leszel. :)
senior vs szaki
Tehát ha tényleg senior szeretnél lenni, menj el egy olyan helyre dolgozni, ahol ez a kérdés fel sem merül, mert előtted van a példa, és egy normális helyen még mentorálnak is. Én azt gondolom, hogy a senioritás nem frameworkök és technológiák ismeretével jön el, hanem a tapasztalattal és a gondolkodásmóddal, amit pedig igazán csak komolyabb projecteken tud megszerezni az ember. Ez nyilván együtt jár azzal is, hogy az ember közben megismer jó és rossz technológiákat és framewörköket is.
Amit sugallni szeretnék, hogy a senioritásnak csak egy része a technológiai tudás, rengeteg más aspektusa (soft skillek) van, ami nélkül a nagyon mély technológiai tudás sem ér annyit.
Ettől még persze tanulj és képezd magad magán úton is, ez is egy fontos dolog. A DP könyv pl egy fontos anyag, egy jó irány. Kövess szakmai blogokat, és olvasd el azt is, ami nem kifejezetten szakmai anyag. És gondolkodj el azon, hogy vajon megfelelő irány-e a php a céljaidhoz :)