ugrás a tartalomhoz

Mit kell tudjon egy senior PHP fejlesztő?

ors · 2013. Aug. 24. (Szo), 20.02
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.
 
1

OOP

Poetro · 2013. Aug. 24. (Szo), 22.03
Pedig a tervezési mintákat és az OOP-t meg kell ismerned, ha senior akarsz lenni, meg persze kellene még pár év tapasztalat a jelenlegin felül mindenféle keretrendszerrel, ha lehetséges, akkor olvasd el a kódjukat is.
2

Persze, nem is érzem úgy,

ors · 2013. Aug. 24. (Szo), 22.32
Persze, nem is érzem úgy, hogy most az vagyok, sőt szerintem még 2-3 év múlva se leszek az, csak mindenképp jó irányba szeretnék elindulni.
3

"Olvastam pl. tervezési minta

saxus · 2013. Aug. 25. (V), 00.17
"Olvastam pl. tervezési minta könyveket, de nem igazán látom, hogy a PHP fejlesztésbe ez hogy illene bele."

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.
4

Az, hogy ismered a

szjanihu · 2013. Aug. 25. (V), 02.41
Az, hogy ismered a Codeignitert, pusztán annyit jelent, hogy ismered a Codeignitert. Nem jelenti azt, hogy jó programozó, tervező lennél. (Ráadásul az nem is épp túl szofisztikált framework.) Felejtsd el azt, hogy fogsz egy frameworköt és megírod "benne" a szoftvert. Ismerj meg libeket, vedd észre, hogy a web csak egy interfész, ne egy interfész határozza meg a szoftvered. Írd meg a magját, és majd köré rakod a webes réteget. Mélyedj el az OOP-ban, ismerd meg a PHP-s határokat. Tudd, mi az a SOLID, Unit tesztelés, TDD. Később DDD.

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. ;)
5

Írj egy saját CMS-t

Pepita · 2013. Aug. 25. (V), 02.46
CodeIgniter alatt.
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.
6

Ettől nem lesz valaki senior

saxus · 2013. Aug. 25. (V), 05.35
Ettől nem lesz valaki senior fejlesztő. Számomra ott kezdődik az, hogy valaki senior, hogy tud szoftvert fejleszteni, aztán 1-2 környezetben/ökoszisztémában elmélyed. A frameworkok esetleg utána jöhetnek.
8

Szerintem félreértettél

Pepita · 2013. Aug. 26. (H), 01.40
Nem azt mondtam, hogy fw-t írjon, hanem hogy használjon. És persze önmagában ettől még távolról sem senior, de ha egy kicsi és egyszerű fw-el már tud komoly és könnyen újrahasznosítható elemekből álló rendszert (pl. CMS) fejleszteni, az már közelít hozzá. De amit alább láttam, hogy Linux és C ismeret is kissé, azzal is egyetértek.
A fő: nem megállni, állandóan tanulni.
7

Szakmai tapasztalat

ganyecz · 2013. Aug. 25. (V), 10.29
A tárgyban említett az, amitől senior lesz a senior.

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. :)
9

senior vs szaki

BlaZe · 2013. Aug. 26. (H), 22.16
Beszélgess erről egy seniorral a cégnél. Ha nincs, nem jó helyen vagy. Ha van, de nem tud/akar mentorálni, nem is senior, nem jó helyen vagy. Ha úgy érzed csak scriptelsz, nem fejlesztesz, nem jó helyen vagy.

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 :)