ugrás a tartalomhoz

Merre, hogyan tovább?

mahoo · 2017. Ápr. 6. (Cs), 21.08
Sziasztok! Hadd kezdjem azzal, hogy pozitív, építő jellegű tanácsokra lenne szükségem, jó magam is tudom, hogy elk*urtam, nem kicsit... nagyon.

Szóval több éve fejlesztgetek, de a több éves fejlesztgetés után is megmaradtam junior szinten, 'hobbi programozónak'. Az okokkal tisztábban vagyok, de ez a tényeken azok már nem változtatnak.
Most végre eljutottam arra a pontra, hogy nagyon vágyom arra, hogy újat tanuljak és, hogy jó szakember legyek. Ismereteim vannak PHP/MySQL/HTML/CSS és némi javascript (jQuery) területén, de mint mondtam, nem magas szinten. OOP-t, MVC-t ismerem, de nem vagyunk nagy barátok.
Amiben jónak érzem magam az az algoritmikus gondolkozás, feladatok, 'rejtvények' megoldása, mert ezek izgalmasak számomra. De tudom, hogy egy fejlesztő munkája jórészt nem ilyen típusú feladatokból áll.

Ennek ellenére szeretnék a jövőben ezen a területen dolgozni és ezért szeretném az elkövetkező félévben leledző a szabadidőmet a tanulásnak szentelni (munka és gyerek mellett) és ősszel állásokat megpályázni.

És akkor most jönnének a kérdések:
- kezdjek el foglalkozni a manapság egyre népszerűbb javascript keretrendszerekkel front-end oldalon (pl. Angular) vagy ássam magam bele a node.js rejtelmeibe?
- vagy maradjak a PHP-nál és itt ismerkedjek meg keretrendszerekkel (pl. Laravel)
- vagy inkább technológiákkal/architektúrákkal foglalkozzak: microservice, REST
- vagy mi az amibe manapság érdemes munkát fektetni, mert keresett a piacon?


A megtisztelő véleményeket, tanácsokat előre is köszönöm!!!
 
1

Uj nyelvek

janoszen · 2017. Ápr. 6. (Cs), 22.03
En hasonlo problemakkal kuzdottem, es egy par honapja - eleg mely rendszerismeret es jopar ev PHP fejlesztesi tapasztalattal a hatam mogott - belekezdtem a Javaba. Mert miert ne. Eddig erdekes, izgalmas a dolog, plane hogy a mostani munkam egy szep nagy elosztott rendszer fejlesztese. Van minden Dockertol a cloud szolgaltatokon at a Javas cluster rendszerekig.
2

Továbblépés

vbence · 2017. Ápr. 6. (Cs), 23.11
OOP-t, MVC-t ismerem, de nem vagyunk nagy barátok

Ezek szerint látod a logikus következő lépéseket, mi az oka, hogy nem mentél tovább ebbe az irányba? Első PHPs éveimben a technológia fejlődésemet elsősorban a célszerűség motiválta; az OOP hamar előkerült, mint megoldás a soksok duplikált / nehezen módosítható kód elkerülésére. Ugyanígy az MVC is vonzó ötletekett hozott a korábban összedrótozott modell és prezentáció menedzselsésére (bár sose jutottam el tisztán MVC produktumig).

A külső motiváció (jobb állás / szintlépés lehetősége) fontos, de kevés üzemanyagot ad napról-napra. Keress egy projektet amihez felhasználhatod a tault eszközt (mondjuk Laravelt); jó esetben fizet ez eltöltött óráidért és ellát valódi feladatokkal, amik segítenek reálisabban látni az eszközt.
3

Az OOP elengedhetetlen azt én

mahoo · 2017. Ápr. 7. (P), 08.18
Az OOP elengedhetetlen azt én is látom.
Hogy miért alakult így? Egyik ok a kényelem, nehéz beismerni, de ez van. Másrészt pedig akitől tanulhattam, ő egy nagyon szorgalmas ember, de anno, ő is a pályája kezdetén volt és saját maga fejlesztése képen egy saját CMS-t kreált és fejlesztett folyamatosan. Én ezt nem szerettem, mert nem volt hozzá doksi, folyamatosan változott, stb. Így egy kicsit elment ettől a kedvem...

Most olyan munkát keresek, ahol van lehetőség tanulni, kvázi juniorként próbálok elhelyezkedni, de a junior pozíciókból azért nincs olyan sok. Pedig úgy érzem, hogy nagyon motivált vagyok, de itthon család és munka mellett nehéz tanulni. Bár most más utat nem látok.

Kérdés, hogy mit tanuljak? Tényleg jó lenne egy konkrét feladat, kis projekt, ami egy konkrét célt adna. No, de arról meg ki mondja meg, hogy jól csináltam-e meg vagy sem.
Valami mentor program is jó lenne, de el sem tudom képzelni, hogy ott milyen fizetést adnának, pedig a család az már itt van...
4

egy lehetséges út

_subi_ · 2017. Ápr. 7. (P), 10.31
Én talán csinálnék valami kisebb tanulóprojektet, amiben van felhasználókezelés, adminisztrációs felület stb., és első körben összehoznám, hogy "valahogy" működjön. Mindezt mondjuk Laravelben, hiszen az egy elég népszerű keretrendszer.

Közben jó eséllyel futsz majd kisebb-nagyobb problémákba, és akarva-akaratlanul (remélem, inkább akarva) is fogsz szakmai tartalmakat olvasni. Ez jó esetben nem kizárólag a stackoverflow.com-ot fogja jelenteni. :) Más szóval, mire a projekted végére érsz, már jóval többet fogsz tudni, mint az elején.

Mire idáig jutsz, azt is látni fogod, hogy sok mindent megcsinálhattál volna szebben, sok helyen lehetne javítani a felhasználói élményen stb.

Szóval jöhet is a refaktorálás (extrém esetben újraírás), aminek során ismét sokat fogsz tanulni.

Miközben ilyen módon képzed magad, a fél szemedet azért tartsd a munkáltatói elvárásokon és a jellemzően használt eszközökkel (pl. Git) szerezz legalább minimális tapasztalatot.
5

Igen, valószínűleg ez egy jó

mahoo · 2017. Ápr. 7. (P), 19.36
Igen, valószínűleg ez egy jó irány lenne! De olyan jó lenne, ha valaki menet közben azért vezetne, pl ennek és ennek olvass utána a felhasználó kezelésben. Mert a legnagyobb bajom az, hogy egy csomó mindenről nem is hallottam még, azaz megcsinálnám a magam módján és talán sosem tudom meg, hogy ilyen vagy olyan technológiát kellett volna használnom és erre meg arra nem figyeltem.

Nem a tanulással van a gondom, sőt, hanem azzal, hogy ha egyedül csinálom, akkor biztos vagyok benne, hogy nem jó irányba haladnék.
9

Na ez konkrét kérés,

Pepita · 2017. Ápr. 9. (V), 13.09
Konkrét választ érdemel! ;)

Azt nem tudom, hogy pontosan mennyi szabadidőm lesz a következő fél évben, de amennyit tudok, szívesen segítek pl e-mailben, néha Skype on.

Tetszik az, hogy tudást akarsz szerezni, és szeretnél minél több jó tapasztalatot.

Abban van igaza bamegakapa, hogy kell lennie saját véleményednek is, de a kételyed, hogy "egyedül nem jó irányba mennék" nekem nagyon tetszik, mert olyasmi (szerintem egészséges) önkritikát mutat, ami nekem is van, és sokszor hozott lényegesen jobb eredményt, mint az "egyedül eldönteni".

Szóval hajrá, szerintem menni fog!
6

két cent

bamegakapa · 2017. Ápr. 7. (P), 20.20
Én épp azt tapasztaltam, hogy elég sok helyen keresnek juniorokat, különös tekintettel olyanokra, akik lelkesek. Próbálj olyan helyet választani, ami szakmailag erős, vannak ott olyanok, akiktől tudsz tanulni. Nekem ez sokat segített.

Addig is amellett, hogy képzed magad legalább egy adott nyelven (érdemes olyat, amit azért már ismersz, rá fogsz jönni, hogy semmit nem tudsz még róla), ásd bele magad az OOP, fenntartható kód, SOLID, KISS, stb. témákba. Valaki említette a Gitet, az is nagyon hasznos, és az elején igen nehéz ráérezni. Találj ki magadnak feladatokat, amikből nem kell, hogy nyilvános oldal legyen, de készítsd úgy. Szánd rá az időt, ne arra menj, hogy kész legyen, hanem hogy minél minőségibb kódot írj. Keresd, hogy lehetne jobbá tenni, és ne ragaszkodj ahhoz, ami már kész van. Hiába olvasol könyveket, ha nem tudod ültetni a gyakorlatba, üres elméleti tudás lesz. Rá kell jönnöd, az adott technika miben segít, mitől teszi hatékonyabbá a munkádat. Szerencsére ehhez rengeted anyag áll rendelkezésre.

A mentoroktól jellemzően ne várd, hogy irányítsanak, felügyeljenek. Inkább a megfelelő irányba állítanak, ha elakadsz, segítenek, időnként rádnéznek, elmondják, mit lehetne jobban. Ami ennél több, azért már fizetni kell. Hagyd, hogy a saját lelkesedésed, érdeklődésed vigyen előre, és annak mentén igyekezz minél több új dolgot tanulni, minél több addigi beidegződést, technikát megkérdőjelezni.
7

Köszönöm a válaszod! Remélem

mahoo · 2017. Ápr. 9. (V), 11.09
Köszönöm a válaszod!
Remélem találok valami hasonló lehetőséget...
8

Van valamid, ami szerintem jó

Pepita · 2017. Ápr. 9. (V), 12.52
Most olyan munkát keresek, ahol van lehetőség tanulni, kvázi juniorként próbálok elhelyezkedni, de a junior pozíciókból azért nincs olyan sok. Pedig úgy érzem, hogy nagyon motivált vagyok, de itthon család és munka mellett nehéz tanulni. Bár most más utat nem látok.


Ez így tök jó, nekem azt tükrözi, hogy az a hozzáállás, ami egy jövőbeni jó fejlesztőt eredményez, meg van. :)

Szerintem azt el kéne döntened, hogy inkább "melyik oldal" érdekel, Frontend vs Backend. Itt hangsúlyozom, hogy "érdekel".

Keress meg légyszi privátban, írj magadról még pár szót: hol élsz, jelenleg mit csinálsz, mik a céljaid.
Ígérni előre nem tudok többet, mint hogy megkérdezem a management - fejlesztő vagyok, nem HR. :) ;)

De az határozott véleményem (az eddigi szakmai kérdéseid alapján is), hogy a jó hozzáállásod meg van ahhoz, hogy jó fejlesztő legyél.
10

Kérdések

Hidvégi Gábor · 2017. Ápr. 9. (V), 16.53
Hallgasd meg a többieket, de ne higgy senkinek, nekem sem, csak magadnak. Ugyanis mindenki a saját szemszögéből tekint a világra, és nem biztos, hogy neked ugyanazok az érdekeid, mint másoknak.

Egyáltalán nem világos, hogy eddig egyedül dolgoztál-e vagy csapatban, mert nem mindegy, valamint az sem, hogy ez így megfelelt-e számodra, vagy pedig változtatnál (csoportban vagy egyedül folytatnád)?. Azt sem osztottad meg, hogy mi a probléma a jelenlegi státuszoddal, valamint mik az elérendő céljaid. Eddig csak hobbiprojekteken csiszoltad a tudásod a webfejlesztésben vagy profi munkákban vettél részt?

Milyen hátrányok értek eddig az állítólagos juniorságod miatt?
11

Én szeretem meghallgatni

mahoo · 2017. Ápr. 10. (H), 01.18
Én szeretem meghallgatni mások véleményét, fontosak is számomra, de természetesen szűröm is azokat.

Egy kis csapatban dolgoztam, és szerettem így dolgozni. Szeretem, ha tudok valakihez fordulni, ha kérdésem van, mert szerintem ez egyáltalán nem szégyen. Persze azért a kérdést jól kell feltenni :).

A jelenlegi munkámban elértem a 'csúcsra', ami csak egy kisebb dombocskát jelent. Nagyon-nagyon rutinszerűvé vált, mellőzve bármiféle újdonságot, kihívást a szakmai pályafutásomban. A fejlesztés pedig nem ilyen. Egyrészt van mit pótolnom, másrészt mire valamit megtanulok, mellette újabb dolgok jelennek meg. Persze mindenhez nem szeretnék érteni, de a cél, hogy legalább 1-2 területre azt tudjam mondani: 'Ez egész jól megy, ismerem!'.

Biztos vagyok benne, hogy mi is csak a 'konyítok hozzá, de nem biztos hogy, úgy csinálom, ahogy kellene' kategóriát erősítettük a barátommal. Mondom ezt az ő nevében is, mivel ma már ő is látja, hogy anno elég amatőr módon oldottuk meg a feladatokat. Szerencsére ő már tovább fejlődött és meg itt vagyok és keresem az utat a továbblépéshez.
16

Kérdések

Hidvégi Gábor · 2017. Ápr. 14. (P), 18.11
Mindig a kérdések visznek előre, és elemezni kell azt, amit mások mondanak. Például vbence a fenti hozzászólásában a következőt jelenti ki:
Első PHPs éveimben a technológia fejlődésemet elsősorban a célszerűség motiválta; az OOP hamar előkerült, mint megoldás a soksok duplikált / nehezen módosítható kód elkerülésére.
Érdemes a fő paradigmákat megismerni, hogy a leghatékonyabb eszközt választhasd a felmerülő problémákra.

Vegyük például az adatok megjelenítését: tipikusan az történik mindenhol, hogy bejön egy kérés, amit feldolgozol, és előbb összeállítasz egy válasz "objektumot", amiben ott van minden adat, például a fejlécben a felhasználó neve, a bal oldalon az aktuális menü, középen pedig a tartalom. Ebből az adattömbből aztán valamilyen módon HTML-t kell generálni – és erre a transzformációra a funkcionális programozás sokkal hatékonyabb, mint a procedurális vagy az OOP.

Aztán érdemes feltenni a kérdést, hogy csak az OOP alkalmas a nehezen módosítható/duplikált kód kezelésére? Procedurálisan ez nem oldható meg? Jó példa erre a GCC nevű fordító, amely a 4.7-ig tisztán C-ben íródott, ami nem egy OOP nyelv, a forráskódja pedig több mint kétszáz megabájt – de sok ilyet lehet még találni.

Vagy vegyük mondjuk ezt a kódot: az IPv4-ben a 62., az IPv6-ban a 144. sorban kezdődik a setAddress metódus. Ha összevetjük őket, majdnem teljesen megegyeznek, a legnagyobb különbség az IPv6 147.-164. soráig tartó feltétel, azon felül van egy reguláris kifejezés ellenőrzés, utána az IPv4-ben egy értékellenőrzés, majd a végén a privát adattagok írása. A közös függvények csak paraméterben térnek el (például a reguláris kifejezésben), de a kód megegyezik.

A kód OOP, de tele van duplikációval, tehát az OOP önmagában nem megoldás a duplikált kód elkerülésére.

Ez az egész kiváltható a következővel:

function setAddress()
  közös1();
  ha (IPv6) { ... }
  közös2(paraméter1);
  ha (IPv4) { ... }
  közös3(paraméter2);
}

Ebben a procedurális pszeudokódban egy darab duplikáció sincs, azaz a duplikált kód elkerülésére a procedurális megközelítés is megfelel.

Kérdések, kérdések, kérdések. És mindent ki kell próbálni, hogy a válaszokat megkapd, tapasztalatokat gyűjts. A tapasztalat azt jelenti, hogy van az, amit mások állítanak vagy amit te vársz, meg van az igazság. És ezzel nem azt állítom, hogy mások nem mondanak igazat, hanem azt, hogy a világ egy sokismeretlenes egyenlet, amiből mindenki csak pár változót ismer.
17

Hát, nagyon köszönöm

mindfull · 2017. Ápr. 14. (P), 22.13
Hát, nagyon köszönöm mindenkinek a hozzászólását!!!

Az a jó, hogy egyes tanácsok közelebbről, mások pedig távolabbról közelítették meg a problémámat, de úgy gondolom mindegyik közelebb visz ahhoz, hogy jó útra kerüljek...
12

Ne haragudj, hogy ezt mondom,

spapp · 2017. Ápr. 11. (K), 23.25
Ne haragudj, hogy ezt mondom, de a kérdéseidből megitélve, szerintem nem vagy tisztában az okokkal. A problémád gyökere az, hogy ismereteid vannak. Csak. Ne ismereteid legyenek hanem tudásod. És ha így lesz, akkor tovább tudsz lépni. Ha az ismereteidet szélesíted az nem segit. Ha megismered a Laravelt az olyan, mintha megtanulnál egy újabb szerszámot használni. Te valójában szerszámot akarsz megtanulni készíteni, ha jól értettem a problémádat. Szóval a PHP nem Laravel, Zend vagy egyéb framework. A relációs adatbázis nem MySQL. A JavaScript pedig végkép nem JQuery. Nem elegendő az OOP-t és az MVC-t ismerni. Ezeket érteni is kell. Sőt. Van még MVVM, MVP és még vannak tervezési minták is, stb... Egyszóval egy junior és egy senior fejlesztő között nem az a különbség, hogy több lib-et ismer (persze az is, mert az évek alatt sokkal találkozik), hanem a tudásának a mélysége. Ha van analitikus gondolkodásod az jó alap, de tudás nélkül nem sokat ér. Szóval, ha van fél éved csak tanulással tölteni (bárcsak nekem lenne) akkor mélyisd a tudásod. Ismerj kevesebb dolgot, de azt nagyon alaposan. Sok jó könyv van ezekben a témákban.
Szóval én így látom.
13

Nem haragszom :) Egyrészt

mahoo · 2017. Ápr. 12. (Sze), 14.35
Nem haragszom :)
Egyrészt azért sem, mert építő jellegű a hozzászólásod, másrészt pedig egyet is értek veled.

Azért kérdeztem rá konkrét "szerszámokra", mert manapság, ha valaki megnézi az álláshirdetéseket, akkor nem előny, hanem elvárás 1-2 említett technológia ismerete. Természetesen a biztos alapok nélkülözhetetlenek.

És én sem vagyok idő-milliómos, sőt, nem jut sok idő az önálló tanulásra, de azt a keveset igyekszem kihasználni.
14

Ha alkalmazott akarsz lenni,

inf · 2017. Ápr. 12. (Sze), 19.21
Ha alkalmazott akarsz lenni, akkor jelentkezz pár helyre most, aztán ha nem vesznek fel, akkor kezdj el azzal foglalkozni, hogy miért. Fogalmad sincs az elvárásokról, pont te írtad, akkor meg minek tippelnél ahelyett, hogy elmész egy állásinterjúra, és megkérdezed? Szvsz. bármelyikkel, amiket felsoroltál lehet munkát találni, legalábbis azt mondják, hogy hiány van programozóból.
15

Igen, most pályázgatok

mahoo · 2017. Ápr. 14. (P), 09.09
Igen, most pályázgatok juniori poziciókat, remélem sikerül...
18

Sok sikert!

inf · 2017. Ápr. 14. (P), 23.00
Sok sikert!
19

Köszönöm!!! ...kedden

mahoo · 2017. Ápr. 16. (V), 14.40
Köszönöm!!! ...kedden próbanap.