Minden, amit mindig is tudni akartál a programozásról (de féltél megkérdezni)

A programozói karrierről, a diploma szükségességéről, önfejlesztésről és szórakozásról beszélgettünk exkluzív interjú keretében Almási Zsolttal, partnercégünknél, a P92-nél dolgozó fejlesztővel.

 

Egy finom tejeskávé társaságában az A&K Akadémia egyik tantermében

Mesélj kicsit magadról, hogyan lettél programozó?

Neumann János Számítástechnikai Szakgimnáziumba jártam. Akkor úgy gondoltam, hogy ebből 5 év elég is volt, nem akarok programozó lenni. Elmentem két egyetemre, de egyiket sem fejeztem be, fél évig jártam mindkettőre. Több bulin voltam, mint órán, eléggé elhanyagoltam. 🙂 Aztán elvégeztem egy OKJ-t. Ezt csak azért csináltam meg, hogy legyen papírom róla, hogy informatikában jártas vagyok. Véletlenül találkoztam a mostani főnökömmel és beszélgetés közben kiderült, hogy állást keresek, és tudta, hogy értek a programozáshoz, és bár diplomám nincs, behívtak interjúra és végül fel is vettek. Gyorsan pörögtek az események. Elvégeztem egy 6 hónapos belső képzést és aláírtam egy két éves szerződést. Eddig 3 projektben vettem részt. Körülbelül májusban lesz két éve, hogy itt vagyok.

Mi volt a legnehezebb az elején?

Egy olyan keretrendszerrel találkoztam, amit egyáltalán nem ismertem, ráadásul a keretrendszer maga a kód fele, tehát ha nem ismerem, akkor nem ismerem magát a kódot sem. Azt volt nehéz megtanulni, hogy hogyan kell használni. Ráadásul a kód sem volt egyszerű, egy metódus többezer sorral és benne nagy “if”-ekkel.

Hazaviszed a munkát?

Csak ha van kedvem, és ha érdekel annyira, hogy foglalkozzak vele otthon is. Többet szoktam azon gondolkodni, hogy hogyan lehet egy feladatot röviden megoldani, mint hogy nekiálljak a hosszú útnak. Az idő egy része azzal telik, hogy gondolkodom a rövidebb, könnyebb megoldáson. Nem fogok órákat gépelni, hogy ha meg tudom csinálni sokkal egyszerűbben is. A Java-ban az a nehéz, hogy rengeteget kell benne kódolni. Semmi kedve az embernek órákig csinálni. Keresni kell a rövidebb utakat, mert biztosan meg lehet csinálni egyszerűbben is. 🙂

Ha újrakezdhetnéd, akkor mit tennél másképp?

Ha újrakezdhetném, akkor azonnal, ahogy elvégeztem a középiskolát, elmentem volna egy ilyen helyre dolgozni, mint a P92. Ennek van értelme. Esetleg mellette megcsináltam volna az egyetemet, de nem biztos. Szerintem az egyetemnek önmagában semmi értelme nincs, úgy pedig pláne nem, hogy arra 3,5 – 5 évet tisztán rászánjak. Felesleges ebben a szakmában. Itt sokkal többet számít a gyakorlati tapasztalat.

Szerinted mit jelent, ha valaki diplomás?

Az egyetem önmagában annyit jelent, hogy van elég kitartásod elvégezni, tudsz tanulni, képes vagy magadra erőltetni a folyamatos tanulást, különben nem tudod befejezni az egyetemet. Ebben jó. Illetve bizonyos szinteken már kell a matek is, és ott tanítanak ilyet. De ez is ritka, és csak bizonyos pozíciókban van rá szükség. Külön cégek foglalkoznak ilyesmivel. Üzleti szoftverekhez nem kell matek, itt már meg van írva az a rész, csak használni kell tudni.

Gondolkodtál azon, hogy most utólag elvégzed az egyetemet?

Hááát… legfeljebb csak a papírért. Talán. De minden álláshirdetésnél az van odaírva, hogy BSc, MSc vagy azzal egyenértékű tapasztalat az adott területen. Az meg megvan. 🙂

Érezted valaha hátrányos helyzetben magad azért, mert nincs felsőfokú végzettséged?

Nem. Még nem fordult elő, hogy a papír hiányzott volna. Az ott megszerezhető tudás sem nagyon hiányzott. A matek egyszer jól jött volna, mert volt egy könyv a funkcionális programozásról, amit el akartam olvasni, de nagyon belemerült a részletekbe, és nem minden részt értettem pontosan.

Mit tanultál meg a felvételi utáni belső képzésen?

A fél éves belső képzésen a sebességet növeltük, mert ezen a munkahelyen azért kell tartani egy bizonyos tempót. Ezen kívül megtanították, hogy hogyan tudok utána nézni dolgoknak, hogyan tudom fejleszteni saját magam. Meg kellett szokni, hogy mindig újabb és újabb dolgoknak kell utána nézni.

Milyen könyveket ajánlanál kezdőknek?

The pragmatic programmert, a Clean Codert. Egyik sem kódspecifikus, inkább ilyen soft skilles. Ezenkívül a Java Core-t és a Clean codingot is mindenképp ajánlom. Ezeket angolul olvastam, magyarul nincsenek olyan jó könyvek, és ha le is fordítják magyarra, sosem fogod úgy látni azokat a kifejezéseket. A gyakorlatban úgy is minden angolul van. Ha megtanulod magyarul, és rákeresel, akkor nem találsz róla semmit, és fejben átfordítani utána elég nehéz. Jobb eredetiben olvasni.

Szerinted mennyire fontos a szakmai életben az angol? Te hogyan tanultál meg angolul?

Régebben heti 14 órában tanultam az angolt, és most angolul olvasok, tanulok, dolgozom. Az, hogy angolul kell tudni, az nem lehet kérdés. A könyveket meg kell tudni érteni, hogy tudd magad otthon fejleszteni. Informatikai szaknyelvből nem középszinten vagyok, sokkal magasabban. Lehet, hogy középszinten vagyok angolul mondjuk főzésből, mert zöldséget csak kb. tíz darabot tudok mondani. 🙂 De szaknyelvből kellenek a szavak. Sok mindent nem is tudok magyarul, csak angolul.

Most lehet, hogy németül kellene megtanulnom, mert gondolkodtam azon is, hogy kimennék Bécsbe dolgozni. Az is csak 3 óra vonattal, nem távolság, bár ha elkészül a bullet train akkor csak 13 perc lesz. 🙂 Hamarabb kiérnék vele Bécsbe, mint innen a Nyugatiba. Megérné kimenni dolgozni, mert ott még magasabbak a fizetések. A normál fizetés is 60 ezer euró évente. Még ha a harmadik legdrágább európai város, akkor is megéri.

Oda nem elég az angol nyelvtudás?

Az angol alapelvárás, de azért azt minden német álláshirdetésben írják, hogy egy kommunikációs szinten illik tudni németül is. Lehet, hogy a munkatársak egy része nem beszél angolul? Nem tudom.

Visszatérve a korábbi gondolathoz: ha jól értem, te most saját magadat fejleszted?

Igen. Olvasni és tanulni egyszerűen muszáj. Lehet egyedül is tanulni, de persze az a legjobb, ha van egy mentora az embernek, aki segít. Az nagy előny. Csak nehéz jó mentort találni. Nekem szerencsém volt itt a cégnél, mert mellettem volt István, aki csak úgy dobálta nekem a linkeket és könyvcímeket, hogy mi mindent olvassak el, tanuljak meg. Nagyon sokat segített a kifejezésekkel, hogy mire érdemes rákeresni. Ez tök jó volt, mert igazából rám volt bízva, hogy mennyit tanulok. Nagyon sokat segített benne.

Mit tanácsolnál egy teljesen kezdőnek, aki most kezd el először programozni?

Keressen rá a népszerű programnyelvekre, és válasszon egy szimpatikusat közülük! Szerintem a Java nagyon jó. De ahhoz, hogy önállóan tovább tudja saját magát fejleszteni, ahhoz először valahogy el kell érnie egy bizonyos szintet. Hiszen, ha nem tudja, hogy mit keressen, hogyan működik ez az egész, akkor esélytelen. A kezdeteknél mindenképp jó egy mentor. Ha nem tudja, hogy miben kell fejlődnie, akkor az nagy pech, ha egyedül van, és nincs kitől kérdezni, tanácsot kérni.

Milyen a jó mentor, és miért?

Legfőképp türelmes. Programozni elég nehéz dolog. Nem olyan egyszerű, mint ezt olyan sokan mondják, hogy ott van, elég elolvasni és kész. Sok helyen ez jön le a netről, de ez nem igaz. Próbálják könnyűnek mutatni, pedig nem egy könnyű dolog, szerintem. A valódi munka nem arról szól, hogy írsz valami újat. Bele kell nyúlni a meglevőbe! Senki a bolygón nem kap olyan feladatot, hogy magától írjon, tisztán egy programot, ezt megmondom neked itt a széken ülve. A valóság arról szól, hogy egy már meglevő rendszerbe kell belenyúlni felelősséggel, és az nem egyszerű. És nap, mint nap ezt kell csinálni.

 

 Szerinted mire számítsanak a kezdők a tanfolyamunk alatt?

Lesznek nehéz pontok, amin át kell majd esniük ebben biztos vagyok. Mindenkinek lesz olyan, hogy nem érti meg, amit tanul, és ülnie kell rajta 3-4 napot, és még azután is szembe kell néznie azzal, hogy nem érti meg. Idő kell neki, mire az ember rááll. Még a mai napig is simán van olyan, hogy valamit nem tudok megcsinálni és akkor egy héttel később egyszer csak katt, és beugrik. És akkor megvan! Tehát türelem kell, mindenképp! Vannak dolgok, amikhez idő kell, nem megy másképp. Lesz olyan, hogy Andris elmondja egyféleképp, nem értik meg, másképp, harmadik módon és mondhatná tizenötféleképpen, akkor sem megy. Van ilyen. Az a helyzet már nem a magyarázaton múlik. Érnie kell a gondolatnak és majd hetekkel később meg lesz az a megoldás. Erre fel kell készülni. Mindenki másképp működik.

Az elmúlt évek során volt, hogy elvesztetted a motivációdat, és beleuntál?

Persze, unalmas részek is vannak. De mit lehet ilyenkor csinálni? Beleharapok az ajkamba és várok. 🙂 Meghallgatom, megnézem, és ennyi. Ha szükségem van rá, újra és újra rákeresek, utána nézek, és előbb-utóbb megmarad. Amikor gondolkodok rajta, akkor általában gyorsan megtanulom, de bemagolni semmit nem magolok be. Felesleges. A leghatékonyabb tanulás a gyakorlás. Én sokszor elég lusta vagyok ehhez, de én is látom, hogy kell. Be kellene áldozni 1-2 órát gyakorlásra.

Most, hogy ebben dolgozol, most is folyamatosan tanulsz?

A jó pap is holtig tanul, nekünk is muszáj. Szinte havonta változik az egész, tartani kell a lépést. Muszáj olvasni, tanulni. Nem szabad abbahagyni, mert lehagy a szakma. Be kell áldozni valamit, hogy legyen rá idő. Vagy kevesebbet dolgozok konkrétan, és utána járok dolgoknak, vagy ha munka mellett nem fér bele, akkor otthon kell utána járnom. A P92-nél is van lehetőség tanulni. Angolra is lehet járni, Clean code-ra, Refactoringra, stb., heti több órában.

Próbáltad már tanítani azt, amit megtanultál?

Nem, még nem. Ha valakinek van valami problémája, elakadása, akkor szívesen segítek, persze. De tanítani az más dolog.

Milyen álmaid vannak a jövőre nézve?

Több fizetés, esetleg külföld. Volt egy lehetőség itt a P92-nél is, hogy ki lehet menni Amerikába, meg is pályáztam, de sajnos nem engem választottak. Külföldön a legtöbb helyen angol kell, úgyhogy ez nem lesz gond a jövőben sem.

Jelenleg meg vagy elégedve a fizetéseddel?

Meg vagyok elégedve, igen. Többet keresek, mint más ismerőseim, nagy átlagban. Persze vannak elképzeléseim a jövőre nézve, ha lejár a két éves szerződésem, de ez így rendben volt eddig.

Nem aggódsz, hogy mi lesz utána?

Nem. Tele van a net álláshirdetésekkel. Nem szoktam sokat aggódni, nincs miért. Eddig sem kellett sokat interjúra járnom. Anno összesen 2 helyre adtam be a CV-met, a P92 volt az egyik. Szóval kb. azonnal sikerült. Szinte azonnal fel lettem véve. Válogatós vagyok és szerencsére lehet is válogatni. Régebben azért nem mertem sok helyre elküldeni a CV-met, mert tudtam, hogy nem felelek meg, de ez most már nincs így. Most már megfelelek, van önbizalmam.

Van hobbid?

Most tanulok japánul, király. 🙂 Nem a megtérülés miatt, csak egy drága hobbi. De amúgy is tele vagyok olyan hobbikkal, amik időt és pénzt vesznek el. 🙂

A PC-s játékoknak is van haszna, csak nehéz bemutatni őket, de az életben kijön, hogy ha jó vagy ezekben a játékokban, akkor az életben is bizonyos dolgokhoz valahogy jobban értesz. Csak erre nem lehet könnyen rámutatni, hogy ez és ez az a pont, amiben jobb vagy. Játszva tanul velük az ember. Szerintem jók. Ha tudsz párhuzamot vonni a játék és egy másik dolog között, akkor nagyon hasznos. Rendszerezni is megtanulsz, nyelvet gyakorolsz, reakcióidőd is nőhet, persze játéktól függ.

Ezeken kívül sokat olvasok. Egy évben elolvasok vagy húsz ponyvát (pl. a kedvenc kiadóm az Agave), és kb. három komolyabb szakmai könyvet. Egy 400 oldalas ponyvát kb. egy nap alatt elolvasok. Leülök, vagy az utcán olvasok, utazás közben, sőt, séta közben is tudok olvasni.

Hogy állsz a soft skillekkel?

El tudom adni magam. Ha már beszélgetnem kell valakivel, akkor már előnyben vagyok. Nekem ez nem gond. Komoly konfliktusom sem volt munkahelyen senkivel. Kreatív viták vannak, vagy van, hogy hangosabbak vagyunk, de semmi komoly.

A soft skillek fejlesztéséhez van valami jó tanácsod a most induló csoportnak?

Elküldeném őket egy buliba, hogy szedjenek fel egy nőt vagy férfit! Oda pont ugyan ezek a készségek kellenek. 🙂

Köszönjük szépen a beszélgetést! 🙂

Ha tetszett, oszd meg!

Java 9 újdonságai – 5. rész

Collection factory metódusok

A Collection factory metódusok olyan új statikus metódusok, amik segítségével egyszerűbben, tömörebben és biztonságosabban inicializálhatunk collection adatstruktúrákat.

Előzmények

A Collections Framework létezése óta – vagyis már a JDK 1.2 óta (1998) – sok fejlesztőt elgondolkodtatott, hogyan lehet egy ArrayList-et egy sorban inicializálni. Bár a Java nyelvi támogatást nyújt a String literálok esetén, nem ez a helyzet a Collections Framework-nél.

Szimpla kóderek

Bár Collections literálok nincsenek a Java-ban, ahogy más referenciatípusoknál is, itt is jogos az igény az inicializálásra. Erre a legnyilvánvalóbb – mondhatni triviális – megoldás a következő:

Bár ez a megoldás helyes, mégis nagyon bőbeszédű. Tudsz ennél jobbat?

Leleményes kóderek

A fenti megoldás kicsit túl bőbeszédű, indokolatlan mennyiségű kódot kell leírni ahhoz, hogy egyszerűen alapértékre állítsunk be egy listát. Létezik egyszerűbb megoldás:

Így már sikerült egy sorossá tenni ezt az inicializációt, de érdemes megjegyezni, hogy az előző megoldással ez nem ekvivalens, van egy jelentős különbség az így alapértékre állított változó használatában. Ez a különbség névlegesen az, hogy az így példányosított lista nem méretezhető át, vagyis nem adhatunk hozzá újabb elemet és nem is törölhetünk belőle. Ha makacsak vagyunk és mégis megpróbálnánk, akkor futásidőben a virtuális gép egy UnsupportedOperationException-nel lep meg minket.

Figyelmesen elolvasva az Arrays.asList(T… a) metódus javadoc-ját fény derül ennek okára. Itt elmagyarázzák nekünk, hogy ez a metódus a könnyebb átjárhatóságot hivatott biztosítani a régebbi tömb alapú API-k és az újabb Collection alapú API-k között. A visszaadott lista objektumon végzett változtatások „átíródnak” a lista alapját szolgáló tömbbe. Érthető tehát, hogy mivel a tömbök is létrehozásuk után fix méretűek, így az Arrays.asList(T… a) metódus által visszaadott lista is fix méretű lesz.

Még leleményesebb kóderek

Egy egyszerű csavarral az előző megoldásból kerekíthetünk egy módosítható listás megoldást, ami első bőbeszédű változattal egyenértékű funkcionalitásban:

Ez nagyszerű, de kezdünk megint kicsit túl bőbeszédűek lenni. Túl sok billentyűt kell leütni ahhoz, hogy inicializáljuk a listánkat. Vajon van jobb megoldás?

Túl leleményes kóderek

Ha alaposan ismered a Java nyelv alapvető építőköveit, akkor bizonyára hallottál a példány inicializátorokról (instance initializer). Ha ezt vegyítjük egy kis névtelen belső osztállyal, akkor eredményül egy extra trükkös, első ránézésre újszerű szintaxist kapunk:

Elértük, amit szerettünk volna, egy sorban inicializáltuk a listánkat. Még mindig van néhány feleslegesnek tűnő karakter és elég sok szintaktikai elem. Ezt a megoldást szokták dupla kapcsoszárójeles inicializálásnak (double brace initialization) hívni. Bár valóban egysoros lett ez a művelet, számos dolog történik a háttérben. Vegyük sorra:

  1. Először is létrejön az ArrayList osztályból leszármaztatott névtelen osztály.
  2. Ennek az új névtelen osztálynak létrejön egy példánya.
  3. Mivel a belső kapcsoszárójel az egy példány inicializátor blokk, ezért ez a kódblokk lefut a 2. lépésben történő példányosodás során.
  4. Az utasításblokk az add() példány metódust meghívja egymás után különböző paraméterekkel, ami mivel nincs override-olva, ezért a szülő osztályból (ArrayList) megörökölt publikus add() metódust hívja meg, ami hozzáadja a paraméterként kapott elemeket a listához.
  5. A most létrejött névtelen osztály példányának referenciáját hozzárendeli a shoppingList változóhoz.

Elég sok dolog végbemegy egyetlen sorban. Ráadásul a névtelen belső osztály miatt a Java fordító külön class fájlokat gyárt a fájlrendszeren. Ha sokat használjuk ezt a trükköt, akkor a túl sok plusz class fájl miatt a programunk lelassulásának lehetünk tanúi. Az objektumorientáltság egyik alapműveletét a leszármaztatást itt nem arra használjuk, amire hivatott, mondhatni visszaélünk vele.

Tudván ezeket kijelenthetjük, hogy bár érdekes módszer ez, mégis kerülendő, anti-patternnek tekintendő.

Java 9 Collection factories to the rescue!

A Collection factory metódusok, amiket a Java 9-ben vezetnek be, elegáns megoldást nyújtanak:

Ez már tényleg sokkal jobb, mint az eddigi megoldások. Nincs túl sok szintaktikai elem és nem is kell sokat gépelnünk. Mégis van egy kis probléma, ami persze a felhasználók szempontjából igazából lényegtelen, de jó tudni róla.

Ennek az új of metódusnak pontosan mennyi paramétert is tudunk átadni? A példánkban épp 3-at adunk át, de mi van, ha valakinek kevesebb vagy több kell?

A Java 5-ös verziójában bevezették a változó hosszúságú argumentumokat (varargs). Ez lényegében egy szintaktikai édesítőszer, ami lehetővé teszi, hogy egy metódusnak ne tömböt kelljen átadnunk, hanem vesszővel felsorolhassuk az argumentumokat. A következő két metódus egyenértékű:

A változó hosszúságú argumentumoknak persze vannak megkötései, például hogy az ilyen paraméter csak a paraméterlista végén szerepelhet, illetve egy metódusnak csak egy ilyen paramétere lehet. Amikor változó hosszúságú argumentumokat váró metódust hívunk, akkor a háttérben létrejön egy tömb, ami hordozza az elemeinket. Ez persze némi teljesítménybeli visszaesést okoz, főleg ha sokszor futtatunk ilyen kódot, például ciklusban.

Hogy ezt elkerüljék, a Java fejlesztői az új of metódusnak nem csak egy változatát készítették el, hanem másik 10 overloadolt változatát is, ahol az első egy paramétert vár, a második kettőt, a harmadik hármat, és így tovább. Így amikor egy, kettő, három … tíz argumentummal hívjuk, akkor a megfelelő overloadolt változat fut le, és így elkerüljük a varargs esetén fellépő overheadet. Cserébe viszont „teleszemetelték” a Java core kódját egy csomó redundánsnak tekinthető résszel, így ezentúl több kódot kell majd karbantartaniuk az elkövetkezendő verziókban. A Java-t fejlesztő szakemberek ezt a megközelítést tartották célszerűnek.

De nem csak a List és Set kapott új factory metódusokat, hanem a Map is:

Tíz argumentumig itt is overloadolt metódusokat használhatunk a kulcs-érték párok felsorolásához, de efelett szintén változó hosszúságú argumentummal rendelkező factory metódust tudunk hívni, amit Map.Entry<K, V> objektumokba kell csomagolnunk, amihez kapunk cserébe statikus entry() metódust:

Az új statikus Collection factory metódusok fontos tudnivalói

Nem csak a bőbeszédűség csökkentése volt a cél, bár kétségtelenül nagy előny, hogy tömörebben meg tudjuk fogalmazni a kódunkat és könnyebb is átlátni. A programozói hibák is csökkenthetők néhány általános érvényű szabály bevezetésével, amit az elmúlt években már eszközöltek is, és amire most is ügyeltek.

Megfigyelték, hogy a programhibák jelentős százaléka a null értékek helytelen használatából ered. Épp ezért a collection-ös adatstruktúrákban nem használhatjuk a null-t elemként. Ezt ezek az új statikus factory metódusok se engedélyezik.

A másik hibacsökkentési lehetőség az immutabilitás (módosíthatatlanság) bevezetése. Ezek a Collection factory metódusok módosíthatatlan adatstruktúrákat produkálnak. Ez azért jó, mert sok hiba abból fakad, hogy egy módosítható adatstruktúrát a program hívási láncolata mentén végigpasszolva valahol akaratlanul módosítjuk.

Egy másik nagy előnyt azt a Map.ofEntries() megvalósítása nyújtja, ugyanis itt nem tudjuk elrontani a kulcs-érték párok párosítását, ami csak futásidőben derülne ki, mert már fordítási időben hibát kapunk és hamar kijavíthatjuk azt.

A HashSet-ek és HashMap-ek elemei mindig is látszólag véletlenszerű iterálási sorrendet eredményeztek, de volt egy determinisztikus voltuk, hogy ugyanazt a sorrendet követték minden programfutás esetén. Az új immutábilis collection-ök viszont minden futásnál más és más sorrendben iterálnak végig az elemeiken, így ha hibásan egy kódrészlet a rendezetlen elemek valamilyen sorrendjére támaszkodott, akkor most az ilyen hibákra hamar fény fog derülni (ezt hívjuk fail fast viselkedésnek).

Konklúzió

Összességében az új Collection factory metódusok egy nagyszerű új lehetőséget biztosítanak a programozók számára, amivel tömören tudják a kódjukat megfogalmazni. Érdemes tisztában lenni a részleteikkel, mint például, hogy immutábilis példányokkal térnek vissza, tiltják a null használatát és az iterálási sorrendjük is változó lehet.
A JEP 269-ben olvashatod el angolul a motivációt a megvalósítás mögött.
Ha érdekel a Java 9 többi újdonsága is, akkor azokat a Java 9-es blog posztjainkban olvashatod.

Ha tetszett, oszd meg!

Diploma nélkül is lehet valaki programozó?

Megosztó kérdés ez napjainkban, hiszen a legtöbb területen akkor helyezkedhet el az ember, ha igazoltan végzettsége van (talán meglepő, de sok helyen még takarítónak sem állhat be valaki OKJ végzettség nélkül). A programozók élete ebben is, mint sok minden másban, eltér a magyar gyakorlattól. Míg jó magyar szokás szerint más területeken száz helyre adjuk be az önéletrajzunkat, és örülünk, ha egy helyről legalább negatív visszajelzést kapunk (hiszen a többitől még ennyi sem érkezik), addig a programozásban jártas, gyakorlattal rendelkező fejlesztőket kifejezetten keresik a munkaerőpiacon, népszerűek a fejvadász cégeknél és egy megfelelő LinkedIn regisztráció lehetőségek tárházát kínálhatja, már a kezdetektől is. Találhat tehát valaki jól fizető állást diploma nélkül is programozóként?

Mi a valóság diploma nélkül?

Gyakorlati tapasztalatunk az, hogy igen! Lehet valaki programozó diploma nélkül is. Erre élő példa partnercégünk pozitív hozzáállása is a felvételhez. Hasonló véleményeket mutatnak az ebben a témakörben az utóbbi években végzett országos felmérések is.
diploma nélkül is vidáman lehet programozni

Lehet, de mennyiért?

Olvasásra érdemes a KSH 2015-s tájékoztatója alapján készült rangsor a legjobban fizető, diploma nélkül végezhető szakmákról. A programozó dobogós helyet ért el:

Programozó: 300 000 – 500 000 Ft

Villamosenergetikai technikus: 315 000 Ft

Értékesítő: 315 000 Ft

(Forrás: cvonline)

Más források úgy fogalmazzák meg a jelenséget, hogy “diploma nem kell, de képzettség igen”.

Szó nincs tehát arról, hogy tanulás nélkül be lehet kerülni. De aki megfelelő tudást és gyakorlatot tud felmutatni, jó készségekkel rendelkezik, (ajánlólevele van, ahogy a nálunk végzetteknek is), az megtalálhatja a helyét a rendszerben.

A fizetések.hu felmérése is azt mutatta, hogy a diploma nélkül programozók átlag havi bruttó bére 339 és 700 ezer forint között mozog. (forrás: napi.hu)

Akkor teljesen felesleges a diploma?

Bár a tények kétségtelenül bíztatóak, ettől függetlenül azonban tagadhatatlan tény, hogy ha nem is muszáj, de mindenképp hasznos felsőfokú végzettséget szerezni IT területen, ha valaki programozó szeretne lenni. Akkor is, ha nem alapfeltétel egy állás betöltéséhez, a tudás mindig hasznos. Azt viszont érdemes szem előtt tartani, hogy a diploma megléte egyáltalán nem jelenti a szükséges gyakorlat megszerzését (nem véletlenül jelentkeznek hozzánk diplomával rendelkezők is, további gyakorlatias képzés, nyelvoktatás és szakmai személyiségfejlődés reményében). Több felsőoktatási képzés esetén is az a tapasztalatunk, hogy nagyon elméleti és gyenge gyakorlatias tudással érkeznek a hallgatók a munkaerőpiacra a diploma megszerzése után, kevés önbizalommal és zavarbaejtő szóbeli nyelvi készségekkel. A gyakorlati tudás hiánya pedig még diplomával sem kompenzálható egy állásinterjún. Ahogy a nyelvvizsga sem mentesít senkit sem a felvételi interjún az angol szaknyelvi felmérés alól. A munkáltató nem papírt keres!

Mi kell tehát az elhelyezkedéshez?

A magabiztos programozói tudás, a folyékony, magabiztos angol nyelvtudás és erős soft skillek megléte jó esélyeket ad az elhelyezkedésre akkor is, ha nincs diplomád. Ha van, akkor hasznos, de akkor se dőlj hátra, programozz sokat! A legfontosabb a szorgalmas gyakorlás és a folyamatos fejlődés.

Ha további kérdéseid vannak, vagy érdeklődsz képzéseink iránt, írj nekünk!

Ha tetszett, oszd meg!

13+1 dolog, ami megváltozik az életedben

13+1 dolog, ami megváltozik az életedben, ha nálunk tanulsz programozni

  1. Kialakul a programozói gondolkodásod vagy elmélyül a már meglevő tudásod, így esélyed lesz szakmát váltani vagy előrébb lépni a ranglétrán. Nem lesz többé céltalan, monoton robotolás a munka.
  2. Nem fogsz félni az angol nyelvtől, lazán beszélgetsz majd bárhol, bármikor, hiszen egy éven keresztül minden héten ezt teszed majd. Nem jelent majd problémát egy angol nyelvű prezentáció sem. Sőt! Talán kedved lesz még egy nyelvet megtanulni! Abban is segítünk!
  3. Kommunikációs és soft készségeid fejlődnek, és ezt nem csak a munkahelyeden, de a magánéletedben is kamatoztatni fogod. Végre nem lesz akkora stressz a randizás!
  4. Esélyed lesz dupla vagy akár tripla fizetést kapni, mint amennyit most keresel, így nincs többé diák- vagy lakáshitel, sőt, étterembe viheted a párod anélkül, hogy az étlap jobb oldalát figyelnéd.
  5. Jelentősen nő az önismereted, önbizalmad, tele leszel célokkal, tervekkel, amelyeket meg is tudsz majd valósítani. Coaching alkalmakon megbeszéljük, hogyan.
  6. Barátságokat és felbecsülhetetlen szakmai kapcsolatokat köthetsz a képzés alatt és után is. Segítünk ezek fenntartásában is alumni rendezvényeinken.
  7. Gazdagodhatsz egy remek notebookkal, ha szorgalmas vagy és kitartóan készülsz a szintfelmérőkre is. Miért is hagynád ki a lehetőséget, nem igaz?
  8. Nő a türelmed, toleranciád, érzelmi intelligenciád. Tudatosan fejlesztjük. Nincs többé ideges sorban állás a dugóban, számtalan ötletes megoldás lesz a kezedben, hogy mit kezdj az így nyert idővel. A stresszoldás nem lesz kihívás.
  9. Úgy érzed majd, hogy nincs lehetetlen. Egy év alatt törvényszerűen lesznek hullámhegyek és völgyek, lesznek nehéz időszakok, de amikor túljutsz rajtuk, új szintre lépsz az életedben. Maratoni futás, de befutsz a célba a végén és nagyon büszke leszel majd magadra és mi is rád!
  10. Többet fogsz szórakozni, csapatépítő játékokban, önismereti és szituációs feladatokban veszel részt és garantáljuk, hogy olyan dolgokat fogsz kipróbálni, amire ma még csak nem is gondolsz. Önfejleszteni jó buli, együtt nevetni pedig felszabadító élmény.
  11. Megszereted majd a tanulást. Hisszük, hogy nincsenek rossz tanulók, csak nem megfelelő technikák. Mi modern tanulástechnikai eszközökkel dolgozunk, így te is megtalálhatod majd a neked valót, amivel könnyebben fejlődhetsz.
  12. Pozitív hatással leszel a környezetedre is, mert egy ambiciózus, energikus, optimista oldaladdal találkoznak majd, amiből ők is energiát meríthetnek.
  13. Megtanulod, hogyan mutasd be az erősségeidet, saját brandet, stílust alakítasz ki, amely újraformálja nem csak a megjelenésed, de a kisugárzásod is. Egy év után magadra sem fogsz ismerni. Állásinterjú felkészítő csomagoddal és Akadémiai ajánlóleveleddel bárhol bármikor magabiztosan pályázhatsz meg számodra vonzó pozíciókat, ki fogsz tűnni a tömegből.

+1. Ha problémád merül fel a jövőben, hozzánk mindig fordulhatsz. Legyen szó szakmai kérdésekről, munkahelyi vagy magánéleti problémáról, az A&K Akadémián mi segítünk neked megtalálni a megoldást! Számíthatsz ránk!

Ha tetszett, oszd meg!

Mik azok a soft skillek és miért olyan fontosak?

Mik azok a „soft skillek” és miért olyan fontosak?

Meglepően keveset hallhatsz az ún. soft skillek fontosságáról, vagy magyarul a „puha készségekről”, mégis elképesztően nagy hatással vannak a szakmai előmeneteledre és a magánéleted alakulására egyaránt. Nézzük meg, melyek ezek és miért is olyan fontosak!

A soft skillek olyan készségek, amelyek professzionális kisugárzást adnak neked és szimpátiát ébresztenek másokban irántad. Hatékonyan támogatják a munkád bármilyen körülmények között. Akinek fejlettek a soft készségei önbizalmat és határozottságot sugároz magából, egyfajta stabil nyugalmat és magabiztosságot, mintha a kapott feladat nem rendítené meg. Biztosan láttál már olyan embert a környezetedben, akinek irigyelted a karizmatikus megjelenését. Mi is adja ezt az irigylésre méltó összképet?

Pontosan miről is van szó?

Olyan készségek tartoznak a körbe, mint a magas szintű írásbeli és szóbeli kommunikáció, előadói készség, nyilvános prezentációk sikeres megtartása, a munkahelyi etikett magabiztos használata, különböző vezetői készségek megléte, motiváció fenntartása, csapatban való eredményes munka. A problémamegoldás és kritikus gondolkodás, időmenedzsment és szervezési készségek, értő hallgatás és stresszkezelés is alapvető fontosságú.

Az pedig régóta nem titok, hogy az érzelmi intelligencia (EQ) megelőzi az értelmi intelligenciát (IQ-t), ha munkahelyi sikerről, minőségi emberi kapcsolatokról és magánéleti boldogságról van szó.

soft skillek ábra

Forrás: alstntec.com

Egyes források szerint ezeknek a készségeknek a magas szintje még a jó önéletrajznál is fontosabb. (lásd: The Telegraph)

A gyakorlatban hogyan jelentenek előnyt?

Biztos te is kerültél olyan helyzetbe életed során, hogy úgy érezted, többet tanultál, felkészültebb voltál és jobban is teljesítettél egy megmérettetésen, mint a körülötted levők, mégsem kaptad meg a várt elismerést, vagy nem olyan mértékben, mint amennyire számítottál rá. Hétköznapi beszélgetésben úgy szoktuk ezt megfogalmazni, hogy mások „jobban el tudták adni magukat”. Mert valójában erről van szó. Kihasználhatjuk ezeket a soft készségeket és tudatosan irányíthatjuk, hogy a beszélgetőpartnereink számára rokonszenves, a csapat számára befogadható, a munkahelyünk számára professzionális munkaerő legyünk.  Nem arról van szó, hogy nem fontosak a szakmai készségek. Dehogynem. De ha két (nagyjából) egyforma szakértelemmel rendelkező ember közül kell választani, a fejlettebb soft készségekkel rendelkező fogja megkapni az állást, mert egész egyszerűen jobban be tud illeszkedni a munkakörnyezetbe, kedvesebb és szimpatikusabb ember benyomását kelti már az interjún is.

forrás: The Telegraph

Egyes felmérések szerint ezek a készségek akár több mint 40%-ban is befolyásolhatják szakmai előmeneteled. A modern üzleti életben ennyire becsülik a soft készségek fontosságát:

 

Milyen pluszt jelentenek a soft skillek?

A lelkesedés és hozzáállás az egyik legfontosabb tulajdonság. Nagyon fontos, hogy megfelelő hozzáállással állj a munkához, ha sikeres szeretnél lenni. A felvételi bizottságban és később a vezetőségben is, mindenki érezni fogja, hogy mennyire vagy elkötelezett. Egyfajta „energiaként” sugárzod magadból, és erre mások érzékenyen reagálni is fognak, tudatosan vagy tudat alatt. Az, hogy szeretnek –e veled vagy a közvetlen környezetedben dolgozni, nagyon meghatározó. Most biztosan úgy gondolod, hogy „szeretem a munkám, élvezem, amit csinálok és ennyi elég”. Sajnos nem. Nem csak az a fontos, hogy szeresd, amit csinálsz, de az is, hogy ezt mások észre is vegyék rajtad. Biztosan emlékszel a képre, ahol Steven Segal arca alá írnak különböző érzéseket. Na, pont ezt szeretnénk elkerülni. Fontos, hogy az, ami kívül látszik, és ami belül lejátszódik, harmóniában legyen egymással. Ezáltal rengeteg félreértés elkerülhető. Ha számodra nehézséget okoz, hogy kimutasd az érzéseidet, ennek fejlesztésére mindenképp időt kell szánnod! A magánéletedben is érezni fogod a hatását.

Forrás: geekadelphia

Alkalmazkodási készség

Talán azt nem is kell kiemelnünk, hogy mennyire fontos, hogy be tudj illeszkedni az új munkahelyi környezetedbe. A munkatársaiddal kialakított kapcsolatod, a szakmai kapcsolatok és baráti jellegű kapcsolataid egyaránt meghatározzák a mindennapjaidat, és hosszabb távon a jövődet is. Hogy milyen gyorsan érdemes barátságokat kötnöd egy új munkahelyen, szintén kardinális kérdés, ahogy az sem hagyható figyelmen kívül, hogy ki és mit mond rólad, mikor épp nem vagy jelen. Kényes emberi kérdések ezek, melyeket érdemes óvatosan és figyelmesen kezelni. Sok problémától kímélheted meg magad.

Miért fontos a motiváció?

Az, hogy mások motivációját mennyire tudod fenntartani, szintén hatással van a környezetedre, és végső soron a saját motivációdra is. Egy-egy hosszabb projekt, nehezebb feladat vagy probléma megjelenésekor a motivációs készséged akár a sikeresség záloga is lehet. Ráadásul pozitív hangulatú, támogató környezetben a munka hatásfoka is emelkedik. A vezetőség felé egy jó motivátor ügyesen be tudja mutatni kreativitását és helyzetmegoldó képességét is. Coaching beszélgetéseken többek között ezt is gyakorolhatod.

Mennyire áttekinthető a munkád? 

A problémamegoldás és kritikus gondolkodás fontosságát úgy érzem, nem kell hangsúlyozni. Az ésszerű, következetes és rendezett munka nem csak szoftverfejlesztőként előny. Ha a munkatársaid átlátják amit teszel, eredményesen tudják folytatni, kiegészíteni, átvenni az egyes munkarészeket. A legtöbb embert frusztrálttá teszi, ha nem érti, amit lát, különösen a munkahelyén. Az ismeretlentől minden ember tart. Ha logikusan felépített és érthetően prezentált munkát adsz ki a kezedből, nagyobb eséllyel kapsz pozitív visszajelzéseket. A munkahelyen különösen igaz a mondás, hogy “rend a lelke mindennek“. Te mennyire ügyelsz a részletekre?

Az a bizonyos csapatmunka

A siker alapja itt is a jó kommunikáció. Együttműködni másokkal, magabiztosan telefonálni, emailt írni, motiváló előadásokat tartani a csapatod számára, alapvető fontosságú. Alkalmazkodni az egyes igényekhez, ráérezni arra kimondatlanul is, hogy kinek mire van szüksége ahhoz, hogy hatékonyan tudjatok együtt dolgozni, a mindennapi feladataid szerves része. Minél magasabb beosztásban dolgozol, annál inkább.

Időmenedzsment és szervezési készségek fontosság

A magasabb beosztásokhoz rendszerszemléletre, pontos munkavégzésre van szükség. Látszólag elég határidőre leadni egy feladatot, a gyakorlat viszont az, hogy a népszerű szakemberek előbb teljesítenek és többet, mint az elvárt. Ehhez megfelelő kapcsolatok és precíz időbeosztás szükséges. Az időmenedzsment a magánéleted és munkahelyed egyensúlya miatt is nagyon fontos. Képes vagy egy projektet egyedül koordinálni? Összehangolni a részfeladatokat, felkészülni a váratlan helyzetekre?

Hatékony kommunikáció

Ismerős a mondat, hogy „nem az a baj, amit mondasz, hanem az, ahogy mondod?” Ez akkor is igaz, amikor a másik fél ezt nem fejezi ki veled szemben verbálisan. Tévhit, hogy ilyet csak a nők éreznek. Egy rosszul hangsúlyozott mondattal dicsérhetünk és becsmérelhetünk is, és mindez a tudatosság felszíne alatt is végbe mehet.

Konfliktus esetén passzívan háttérbe húzódsz, agresszíven előre törsz az igazadért, vagy asszertíven közös megegyezésre törekszel? Ennek a készségnek a fejlesztése nem csak a munkahelyeden, de a magánéletedben is hatalmas változásokat eredményez: jobb emberi kapcsolatok, eredményesebb munkamegbeszélések, a bérigényed rendezése, a feszültségek csökkentése, a viták elkerülése könnyebbé válik. Érdemes dolgozni rajta, hogy ne csak véletlenszerűen, hanem tudatosan alkalmazd, ha szükséged van rá egy helyzetben!

És végül, de nem utolsó sorban, az a bizonyos emocionális intelligencia

Érzünk, ez nem kérdés. De tudjuk is, hogy mit? Tudatában vagyunk vele, hogy mire van szükségünk és mi az, amit már nem szabad elvállalnunk, mert rosszat okoz hosszú távon? Vállaltad már túl magad? Ragadtál már hozzád nem méltó helyzetben vagy kapcsolatban huzamosabb ideig? Akkor ez a bekezdés neked szól.

Tudod kezelni, ha például valaki elsírja magát a jelenlétedben, érzékeled, ha egy beszélgetés folyamán megváltozik a hangulat? A mások reakcióira való érzékenység nagyon hasznos készség, egy tárgyalás végkimenetelét is meghatározhatja. Vezető beosztásban pedig meg kell találnod az egyensúlyt, amikor még empátiával fordulsz a beosztottak felé, de nem adod át a kezedből az irányítást. Tudtad, hogy érzések alapján hozunk döntéseket és csak utólag racionalizálunk?

A soft skillek magas szintre fejlesztése az életedben olyan változásokat eredményezhet, mint (ha ismered) a Deus Ex játékban a social enhancer implantátum, melynek segítségével még a legdurvább konfliktushelyezetek is békésen megoldhatók.

Érdemes hát felmérni a készségeidet és fejlesztened magad ezen a téren is! Ha szeretnéd, segítünk benne!

Ha tetszett, oszd meg!

Egy év az A&K Akadémián

Egy év az A&K Akadémia programozó képzésén

Régóta szerettünk volna egy olyan “iskolát” létrehozni, ami teljesen más, mint a többi. Ahol nem csak a mennyiség, hanem a minőség is számít. Ahol az igényekre valódi odafigyeléssel reagálhatunk, ahol a rugalmasságot és a személyességet megőrizhetjük. Örülünk, hogy ez most valóra vált és szeretettel köszöntünk téged az A&K AKadémián, ahol szívvel fejlesztünk!

Az A&K Akadémián lehetőséged van Java programozást tanulni online és személyesen is, a teljesen kezdő szinttől a professzionális szintig. Felkészülhetsz nálunk a nemzetközi Oracle vizsgákra is! Az angol szaknyelvi fejlesztésnek köszönhetően nemzetközi cégeknél is elhelyezkedhetsz a képzéseink után. A rengeteg szakmai változást pedig egyéni coaching támogatással tesszük számodra könnyebbé. Ha nem csak szakmailag, de személyiségedben is szeretnél változni, fejlődni, akkor lehetőséged van privát life és business coaching folyamatban részt venni. Hisszük, hogy a komplex szakmai és személyiségfejlődés egy új világot nyit meg mindenki számára.

 

Csatlakozz VIP Klubunkhoz és olvasd el a tananyagokat már ma! Kattins ide:

Érdekelnek az ingyenes, online tananyagok!

 

Nézd meg, hogy néz ki nálunk egy programozó képzés: személyes, kis csoportos (max. 6 fős) tanfolyamaink így épülnek fel:

Programozó képzés tanévi rendje az A&K Akadémián - infografika

Érdekelnek a részletek?

  1. A felvételi folyamat a Jelentkezési portfóliód beküldésével indul. A beérkezést követően rövid időn belül feldolgozzuk, és elérhetőségeid egyikén felvesszük veled a kapcsolatot egy személyes találkozó időpontjának egyeztetésére. Nem tartunk csoportos nyílt napokat, jobban szeretünk mindenkire egyénileg, minőségi időt szánni, megismerni személyesen, válaszolni a felmerülő kérdéseidre. Tömegben elveszik ez a lehetőség. Körülbelül egy órás beszélgetésre készülj, amelyben érintjük az előzetes programozói tapasztalatod, angol nyelvtudásod, soft skilljeid, motivációd. Ez nem egy szokásos vizsga, a drukkot hagyd nyugodtan otthon!
  2. A személyes találkozó után rövidesen értesítünk, hogy felvételt nyertél-e, és te is jelezheted felénk beiratkozási szándékod. Ha kölcsönösen úgy éreztük, hogy együtt szeretnénk dolgozni a karriered építésén, akkor kezdetét veheti az aktív tanév. A csoport kialakulása után közösen döntötök a megfelelő időpontokról, sebességről, és figyelembe vesszük az egyéni igényeket is. A képzés Java programozást, szakórákba ágyazott angol szaknyelvi képzést, felmerülő igény esetén felzárkóztató angol nyelvi órákat, soft skilleket fejlesztő foglalkozásokat, csoportos coaching beszélgetéseket, és ha szeretnéd, akkor egyéni, privát coachingot is tartalmaz. A programozó képzés résztvevőinek egy 5 órás egyéni próba coaching beszélgetés sorozat ingyenes, és ezen felül a továbbiakban közel – 60%-os kedvezménnyel veheted igénybe a teljes tanév alatt ezt a szolgáltatásunkat. Ha bármikor lelki támogatásra van szükséged, ott leszünk! További részletek: A&K Coaching

Mit jelent nálunk a személyesség? 

  1. Természetesen a fejlődésed monitorozására is szükség van, hogy te is, és mi is lássuk, hogy megfelelő úton haladsz-e a kezdetekkor kitűzött céljaid felé. Erre írásbeli és szóbeli évközi felmérő alkalmakat tartunk, és veled együtt, részletesen értékeljük azokat. Meetingekre és a képzési paraméterek változtatására a teljes képzés ideje alatt lehetőség van. Az aktív tanévet záróvizsgával zárjuk, ahol mindannyian megbizonyosodhatunk róla, hogy kihoztad magadból a maximumot a nálunk töltött egy év alatt. Közösen összefoglaljuk a tapasztalatainkat, jövőbeni célok lehetőségét vetjük fel, és végül, de nem utolsó sorban: megünnepeljük az elért sikereidet!
  2. Az ünneplésre tökéletes helyszín a záróbankett! Örömteli hangulatban oklevélátadó ünnepséget tartunk, a záróvizsga eredményeit is itt ismertetjük, és ekkor osztjuk ki az elért eredmények után járó bónuszokat is: az állásinterjú felkészítő csomag nyereményeket, névre szóló Akadémiai ajánlóleveleket és az ajándék notebookokat. Csoportfényképek, pezsgős koccintás a sikerekre és egy finom vacsora baráti körben, felejthetetlen élmény lesz!

Mi történik a programozó képzés elvégzése után? 

  1. Ha elérted a szükséges szintet (70%) az állásinterjú bónuszhoz, és úgy döntesz, hogy igénybe veszed, akkor a továbbiakban egy nagyon izgalmas folyamatban vehetsz részt. Segítünk kialakítani a személyes branded. Professzionális business fotózáson veszel majd részt, közösen összeállítjuk az álláskereséshez szükséges csomagod: önéletrajz, motivációs levelek. Próbainterjú lehetőséget biztosítunk neked, melyen kipróbálhatod magad a valódi megmérettetés előtt, és végül, de nem utolsó sorban partnercégünknél garantált állásinterjún is részt vehetsz. Elindulhat (vagy egy magasabb szinten folytatódhat) programozói karriered!
  2. A továbbiakban sem engedjük el a kezed, vár az alumni programunk! Ha szeretnéd, további képzéseinken folyamatosan fejlesztheted magad, és coachingra is bármikor szívesen látunk. Lehetőséged van Oracle vizsgafelkészítést kérni és rendszeres csoporttalálkozókon szeretettel látunk ismét az A&K Akadémián! Nálunk végzett tanulóinkkal a továbbiakban is szeretnénk tartani a kapcsolatot és tervben van egy szerteágazó szakmai előadássorozat megszervezése is, ahol bemutathatjátok magatokat és a munkátokat, és segítünk a kapcsolatépítésben, a kapcsolatok fenntartásban is.

Ha további kérdésed van, írj nekünk!

Szeretettel várunk az A&K Akadémia ősszel induló csoportjaiban!

Ha tetszett, oszd meg!