A frontend (FE) fejlesztő a kliensoldali fejlesztésekért felelős, vagyis a felhasználói felületért (UI); annak a környezetnek a fejlesztésével foglalkozik, amellyel a felhasználók találkoznak. Viszont a frontend fejlesztő nem egyenlő a webtervezővel. A frontend-fejlesztő felhasználja a designer által Photoshopban vagy más programban készített vizuális elemeket a fejlesztés során. Egy jó FE fejlesztőnek otthonosan kell mozognia a HTML, CSS, és JavaScript nyelvekben. Ezek mellett biztosan nagy gyakorlatot fog szerezni olyan keretrendszerek használatával, mint az Angular vagy Bootstrap, és olyan JavaScript könyvtárakkal, mint például a jQuery.
A backend fejlesztő ezzel szemben a szerveroldali fejlesztésekért felel, vagyis azért, hogy a weboldal hogyan működik, a változások és frissítések hogyan és miképp mennek végbe, biztosítja a kommunikációt az adatbázis és az adott applikáció között, hogy azzal a felhasználói élményt negatívan ne befolyásolja. Ezek mellett figyelembe kell vennie a biztonságot, és teljesítményhatékonyságot is. A backendesek sokszor tudják szerkeszteni és olvasni a CSS és HTML kódokat, de nem ez a fő fókuszuk. Mivel a mai weboldalak túlnyomó többsége nem statikus, hanem dinamikus, ezért a BE fejlesztőnek kell értenie az adatbázisok nyelvén, úgy mint SQL vagy PHP. A legelterjedtebb programnyelvek, amelyeket a backend fejlesztők használnak: Java, Python és C/C++.
Gondolhatnánk, hogy a full-stack fejlesztő a Jolly Joker, hiszen valamilyen webes keretrendszer használatával - általában Java, Python vagy C# nyelven - képes front-, vagy backend területen dolgozni. Általánosságban elmondható, hogy a munkája részét képezi a tervezés, a tesztelés és az implementáció. Ahhoz, hogy valaki jó FS fejlesztő legyen, jó pár évet érdemes lehúznia külön front- és backend oldalon, hogy valóban mély és szerteágazó tapasztalatra tegyen szert.
Fontos leszögezni, hogy a határok a három munkakör között nem mindig válnak el élesen. Sok múlik az adott cégen, hogy miképpen szabják meg az adott munkakörhöz tartozó kompetenciákat és feladatokat.
A mobilszoftver-fejlesztőknek két nagy csoportja van: Android és iOS (bocsi Windows Phone). Ami miatt speciális ez a terület, hogy a mobilappok fejlesztése más logikát igényel, mint például egy webes applikációé, hiszen egy mobilapp életciklusa teljesen más, a különböző képernyőfelbontásokat kezelnie kell az adott programnak, hogy az egyidejűleg aktív platformverziókról és hardverek közti minőségi különbségekről ne is beszéljünk. Android esetében Java-nyelvtudás kell, iOS-nél Swift.
A beágyazott szoftverek fejlesztőinek feladata valamilyen célfeladatot ellátó mechanikus vagy elektronikus eszközök programozása (robotok, autók, repülők komponensei, például intelligens fékrendszer). Ehhez a munkakörhöz szinte mindig kapcsolódik áramkörtervezés is, ezért a C/C++ nyelvek mellett valamilyen tervezőszoftver (például CAD) ismerete is elvárás.
Kiből lehet fejlesztő?
A felsoroltak közül egyedül a beágyazott fejlesztői munkakört nem lehet villamosmérnök vagy más mérnöki végzettség és informatikai tudás nélkül betölteni. A többinél elég a logikus gondolkodás (nem kell matekzseninek lenni), a középszintű angolnyelvtudás és a sikeresen elvégzett bootcamp. Frontend fejlesztőnek általában azok mennek, akik szeretik gyakorlatban is látni a munkájukat, míg a backend fejlesztőkre inkább az elvont gondolkodás jellemző, ahogy a mobilfejlesztőkre és a beágyazott szoftverek fejlesztőire is. Mindegy, mennyire vagyunk befelé vagy kifelé fordulók, úgyis az adott csapatba kell majd beilleszkednünk, amelyben mindkét személyiségtípus megtalálható egészséges arányban.
Mennyi az annyi?
A bérezések fejlesztői oldalon meglehetősen együtt mozognak. Kezdő fejlesztő Budapesten angol nyelvtudással és középiskolai végzettséggel átlagosan bruttó 450 ezer forint/hónap, míg végzettséggel bruttó 500 ezer forint/hónap fizetéssel számolhatott 2019-ben. Medior (3-5 év releváns munkatapasztalat) szinten az iskolai végzettség már nem számít; bruttó 650-900 ezer forint/hónap. Szenior (5+ év munkatapasztalat) szinten bruttó 850-1,200 ezer forint/hónap között lehetett keresni. A bér nagyban függ attól, mekkora kereslet van a legmagasabb szinten ismert programozási nyelvre, hiszen munkaerőhiány ide vagy oda, ha a cégnek Python tudással kell fejlesztő, mit sem ér 7 év Java programozói tapasztalat.
Bérek és tapasztalatok között pályakezdő és medior között egyébként nincs akkora szakadék, mint amekkorát a betanításra szánt idő és költség indokolna, ezért pályakezdőknek azt javaslom, hogy az első pár évben a tapasztalatszerzés legyen az elsődleges. A munkáltató dönthet, és nem egyszer döntött már úgy, hogy a magas kezdő bér miatt inkább tapasztalt fejlesztőnek ad ajánlatot a kezdő kárára.