Érdemes lehet-e egyetemre, programozói képzésre mennünk, ha programozni szeretnénk?
Sokan talán nem tudják, hogy milyen kiváló módszerek vannak, amennyiben meg szeretnének tanulni programozni. Természetesen, mindegyiknek vannak előnyei, és hátrányai, ez a kis összefoglaló erre szeretne kitérni.
Nagyon sokszor jön elő programozók körében az a kérdés, hogy megéri-e egyetemre menni programozóként, vagy tanulni bármilyen egyéb, "szervezett" formában. Szinte minden hónapban van legalább 1-2 post a Programozói Facebook-csoportokban arról, hogy valaki szeretne egyetemre menni, de nem tudja, mennyi értelme lenne ennek. Éppen ezért szeretnék egy bejegyzést szentelni a témának.
A helyzet azért is érdekes, mert felmerülhet a kérdés: tulajdonképpen ki tudna ebben a témában releváns blogcikket írni? Hisz nincs olyan ember, aki az összes lehetőséggel szembekerült volna, ami fel lesz vázolva, és elmondható, hogy mindenki más-és más háttérrel kezdett el programozni. Ami alapján lehet következtetéseket levonni, az:
- Egyéni tapasztalatok: Pl.: ha valaki nem ment egyetemre, milyen hátrányokkal számolt el ebből adódóan később.
- Rendszeres, ilyen jellegű postok megtárgyalása sok programozó részéről.
- Mennyire releváns a legtöbb tudás, amit egy képzés folyamán megkaphatunk.
Milyen előnyei lehetnek a különféle képzéseknek?
Pontokba szedve szerettem volna összegyűjteni, hogy milyen előnyei lehetnek a különféle képzéseknek. Nagyon sok minden függ attól, hogy az embert
- Milyen szakterület érdekli
- Milyen szinten van jelenleg programozóként
- Milyen a családi/anyagi helyzete
- Milyen jellegű, formájú lenne maga a képzés
Könnyebb elkezdeni
Én magam annak idején mérnöki (gépészmérnöki) szakra jártam, és a közben jöttem rá, hogy a webfejlesztés világában érzem magam otthon. Alapvetően egyedül, önállóan kezdtem el képezni magam, és sikerült is eljutnom arra a szintre (fél év nagyon aktív tanulás után), hogy kezdőbbként felvegyenek valahová heti 20 órában dolgozni. Habár akkor úgy érzem, igen nagy szerencsém volt, hogy ez ennyi idő alatt sikerült, ebben nagyon nagy szerepet játszott az, hogy diákként
- A legtöbb cégnél kevesebb, kezdőbbek számára való munka van, ezért a 20 órás munkaviszony kedvező sok cég számára.
- Kedvezményesebben lehet dolgozni, mint teljes állásban (adózási szempont cégek részéről).
- Kisebb a felelősség, és a kockázat. Ha az embernek van egy jól fizető állása, és úgy akar programozásra váltani, akkor jó eséllyel kevesebbet fog keresni kezdetben, mint a régi munkájával, és ha nem jön össze a munka, az kevésbé lesz kellemetlen. Volt ismerősöm, aki nem diákként elveszítette a munkáját, és 3-4 hónap volt neki újat találni.
Nagyok az elvárások a programozói piacon
Sajnos, nagy elvárások vannak a kezdő programozókkal szemben, én is szembesültem ezzel, mikor elkezdtem programozóként dolgozni. A mérnöki szakmával összehasonlítva: ha valaki tud 3D-ben modellezni alkatrészeket, vagy AutoCad programmal rajzolni, akkor azzal már nagyon könnyen el lehet helyezkedni, hogy valaki gyakornokként szeretne dolgozni. Egy szoftvert kell ismerni, de azt nagyon. És mivel, a mérnökök nem Home Officehoz vannak szokva, ezért ha valamiben elakadunk, akkor könnyebben segíthetnek nekünk.
Pályakezdőként programozóként az ember sajnos nem ezzel szembesül. Rengeteg helyen a csapat nagy része Home Officeban van, akár évek óta, és ha valaki valamilyen technikai kérdésben elakad, akkor nagyon nehéz egyről a kettőre jutni. Ráadásul a Senior, tapasztalt programozók órabére magas, emiatt sokszor kevesebb idő jut a mentorálásra. Emellett, nem elég egyetlen programnyelvet ismerni, hanem mindennel egy elfogadható szinten tisztában kell lenni: ez nálam az OOP Php, JavaScript, Html, CSS, MySQL, valamint az ezekre épülő keretrendszerek (Laravel, Vue.js) volt annak idején. Ezen felül, alapvető elvárás a Git magabiztos használata.
Technikailag egyik sem számít nehéznek, viszont nagyon sok gyakorlást, és tanulást igényel, hogy valaki ezeket a kellő magabiztossággal tudja használni. Mikor interjúkra mentem, akkor megfigyeltem, hogy mindenhol a két dolog valamelyikét várják el az embertől:
- Legyen az általános technikai tudás magas (pl OOP szemlélet, átláthatósága a munkánknak), VAGY
- Ismerjük pontosan azokat a nyelveket, keretrendszereket, amikkel dolgoznunk kell.
Az elsőt szinte senki nem teljesíti, aki magától kezdett el tanulgatni, tehát a másodikat kell, ha dolgozni szeretnénk, ez pedig óriási mennyiségű anyag.
Itt, az elvárások tisztázásánál csupán azt szerettem volna kiemelni, hogy alapvetően-függetlenül attól, hogy mennyire releváns dolgokat tanul az ember egy bármilyen képzésen-a diákstátusz, és a diákérzet egy óriási előny. De nyilván, senki nem tanulna olyasmit, aminek semmi értelme, lássuk, hogy választhatunk a legjobban!
Milyen képzések közül érdemes választanunk, helyzetünktől függően?
Alapvetően lehet egyetemre menni, vagy valamilyen OKJ-re, fizetős képzésre, vagy spontán tanulni, önállóan. Ezekről szeretnék kicsit beszélni.
Az egyetemi képzés
Először azt kellene végig gondolnunk, hogy mi az, ami érdekel minket. Az programozói szakokról általánosságban véve mondják, hogy nagyon sok matematikai jellegű tantárgy van, amit meg kell tanulni. Illetve, hogy a C,C++,JAVA nyelvek a leginkább megtanulandók.
Amennyiben a játékfejlesztés, deep learning, ipari szoftverfejlesztés (pl. mérőműszerek fejlesztése) témakörök valamelyike érdekel minket, akkor alapvetően érdemes lehet kifejezetten programozói szakra mennünk. Ezekben ugyanis nagyon keményen ott van a matematika, tehát a megszerzett tudás nagy része egyáltalán nem megy veszendőbe. A matematikai tudás hasznosítható lesz számunkra, és ezeken a területeken ráadásul olyan programnyelveken kell dolgozni, amiket az egyetemen várnak el.
Amennyiben webáruház készítésen törjük a fejünket, tehát Php/JavaScript témakörben vagyunk otthon, akkor ezekből szinte semmi hasznosítható nem lesz számunka.
Ha a marketing világa is érdekel minket, tehát, az értékesítés, UI/UX design, keresőoptimalizálás, és emellett szeretnénk weboldalakat, webáruházakat készíteni, online marketinggel foglalkozni, akkor érdemes lehet egy gazdaságinformatikus, vagy akár szimplán gazdasági képzésbe belekezdeni. Ennek mérlegelése függhet attól, hogy mennyire hajlunk a marketing felé, és hogy miket várnak el egy gazdinfós szakon.
Általánosságban vett tanács, hogy oda járó emberektől kérdezzük meg, hogy mennyire sok időt kell beleölni a tantárgyak teljesítésébe. Van ismerősöm, aki egy kemény informatikai Msc-re jelentkezett, nem programozói háttérrel, és panaszkodott arra, hogy soha nem volt arra ideje, hogy kicsit olyasmivel is foglalkozzon, ami ténylegesen érdekli is őt.
A mérlegelés során azokat kell figyelembe venni, hogy
- Mennyire lenne hasznosítható valamilyen formában a megszerzett tudás
- Mennyire sok energiát kellene a képzésbe beleölnünk
- Megváltoznának-e a lehetőségeink, ha bele kezdenénk az egyetembe. Egy egyetemi városban több lehetőség van egy munkahelyre bekerülni, mint vidéken.
Nekem az a meglátásom, hogy nem igaz az, hogy az egyetemi képzések nem érnek semmit. Érhetnek, ezt nekünk kell meggondolnunk, hogy a mi céljainkhoz milyen jellegű illene a leginkább.
A legtöbb ember sajnos nincs olyan szinten, hogy teljes állásban el tudjon helyezkedni a középiskola végén programozóként, és akár így, akár úgy, az hogy valaki diák lehet, ad egy biztonságérzetet. Van ismerősöm, akit annak idején 10 helyen utasítottak vissza, mikor középiskola végén el akart kezdeni dolgozni, és végül kapott is munkát, ma pedig már nagyon jól keres, viszont elkezdeni sokkal stresszesebb, és rizikósabb.
Ingyenes OKJ képzések
Az ingyenes OKJ képzések nagy részére azt mondják, hogy nem ad piacképes tudást, ennek ellenére megvan az a legfőbb előnye, ami az egyetemnek: lehet mellette dolgozni, és képezni saját magunkat. A konkrét technológiákat jó eséllyel nem egy ilyen helyen fogják megtanítani, viszont ez sajnos a legtöbb helyen így van.
Fizetős Bootcampek
A fizetős képzések meglehetősen drágák, egy 5 hónapos nagyon intenzív Green Fox, vagy egy másfél éves Codecool képzés sokba kerülhet, akár kisebb milliós összegbe is. A Green Foxról azt mondják sokan, hogy 90%-os elhelyezkedési rátájuk van, habár ezt vitatja az Index által lehozott cikk, mely szerint csupán 60%-uk kapott munkát a közeljövőben.
A cikk részletesen leírja a hátrányait egy ilyen képzésnek: mivel nagyon aktív, ezért szűk fél évig csak úgy lehet teljesíteni, hogy az ember az előző munkahelyén felmond, ami mindenképp nagy kockázatot rejt magában. És a cikk szerint, a siker sem olyan biztos: sokkal alacsonyabb volt nekik az elhelyezkedési rátájuk, mint 90%.
Én mikor elkezdtem programozni tanulni, akkor én magam is, noha egyedül, nem profi mentorokkal, éjjel nappal programoztam, mert szerettem és érdekelt, és véleményem szerint nagyon nehéz ennyi idő alatt (5 hónap) eljutni nullról arra a szintre, hogy valakit teljes állásban felvegyenek.
Ez összeségében véve nem jelenti azt, hogy rossz választás lehet egy ilyen képzés: én sosem jártam ilyenre, viszont véleményem szerint ez rejti magában a legnagyobb kockázatot. Például, családos emberként sokkal nehezebb így megpróbálni. Ettől függetlenül, sok ember van, aki nagyon dicséri ezt, vagy akár a Codecoolt is, ami nem annyira intenzív képzés, van mellette idő másra is: igaz több idő elvégezni.
Az ilyen képzések megfontolásakor érdemes végig gondolnunk, hogy mi az, ami érdekel minket, mert ha például nem szeretjük a JAVA nyelvet, akkor nem érdemes egy ilyenre beruházni, ha ott azt tanítják.
Mi az, ami mindig működik?
Ami mindig járható út-és ez kicsit furán hangzik, vagy nehéznek-az az, ha az ember leül egyedül, és elkezd tanulni. Vannak akár magyar nyelvű oktató videók is, amik egy kezdőnek teljesen megfelelhetnek, még angolul sem kell ismernünk a szaknyelvet, hogy elkezdjük, az majd jön magától. Korábban írtam arról egy cikket, hogy hogyan tanulhatunk meg önállóan programozni, érdemes lehet elolvasni, mert jó tippeket nyújthat.
Ez a módszer családi, anyagi helyzettől függetlenül mindig működik, és sokkal jobban láthatja az ember, hogy mi az, ami neki való akár a programozáson belül is, és mi az, ami nem. Illetve, egy kicsi próbálkozással ki lehet deríteni, hogy tényleg lenne-e kedvünk egyáltalán bármilyen nyelven programozni. Az sokkal kellemetlenebb lehet, ha valaki egy fizetős képzés során jön rá, hogy nem szeretne ezzel foglalkozni.