Frontend fejlesztő, backend fejlesztő – mi micsoda?

Sokan közületek bizonyára már megnéztek egy-két programozó álláshirdetést, és azon kívül, hogy találkoztak néhány programozási nyelvvel, bizonyára láttátok a frontend fejlesztő, backend fejlesztő kifejezéseket is.

Mik is ezek?

Ezeket a szavakat általában a webes fejlesztés témakörén belül szokták használni.
Ha lefordítjuk a szavakat, akkor a frontend valaminek az elejét (első vége), a backend pedig a végét (hátsó vége) jelenti. Mégis honnan nézve? Nos, a felhasználótól. A felhasználóhoz közelebb eső vége a programnak a frontend, a felhasználótól távol eső vége a backend. Funkcióját tekintve a frontend az, ami megjeleníti az információkat a felhasználónak, a backend pedig az, ami előállítja. A frontendet látjuk, a backendet nem látjuk, csak tapasztaljuk.

Miért kell a kettőt különválasztani?

Egyrészt programozási alapelv, hogy ha szétbontunk egy nagy problémát kettőbe, akkor két, összességében kisebb problémát kapunk. Persze nem muszáj így tennünk, de a legtöbb esetben a felbontással jobban járunk. Egy ilyen természetes felbontás a frontend-backend szétválasztás.

Másrészt ha nagy programot fejlesztünk, akkor minden részt több ember fog csinálni, jobb, ha mindenki specializálódni tud egy-egy témára. Az egyik típusú programozó (frontend fejlesztő) a kinézet megírásáért lesz felelős, a másik típusú pedig az adatok feldolgozásáért.

Harmadrészt részben más-más eszközök is szerepelnek egyik, illetve másik programozó eszköztárában. A dolog pikantériája, hogy abból, hogy milyen nyelvet használ egy fejlesztő, még nem lehet megmondani, hogy ő frontend vagy backend fejlesztő. Lehet Javát is, Javascriptet is, PHP-t is használni mindkettőre, mindhárom esetében számos olyan eszköz (ún. keretrendszer) létezik, amelyik segíti egyik vagy másik esetleg mindkét oldal fejlesztését. (Javascript: Angular, jQuery, NodeJS…; Java: Spring, Struts, Vaadin, JSF, bizonyos értelemben Android…; PHP: Laravel, Symfony, CodeIgniter,…)
Hogy egy cégnél melyiket használják, az viszont teljesen egyedi. Ami viszont jó hír, hogy gondolkodásmódját tekintve a keretrendszerek nem állnak messze egymástól, így ha egyet megtanultál, akkor a másik már gyorsabban fog menni.

És még van egy csavar a történetben: létezik olyan szakember, aki mindkét irányhoz ért. Őt hívják full-stack developernek. Hogy jön ide a stack, azaz a kupac? Az informatikusok vonzódnak a „réteg” fogalmához, amit kb. a blogcikk képének használt manókkal tudnék leírni, ugyanígy rakják a rétegeket egymásra az informatikusok (pl. a backend és a frontend is ilyen rétegek), aztán azt mondják, hogy minden réteg önmagával illetve az alatta és fölötte lévővel áll kapcsolatban, sőt, néha egyirányú módon: pl. a frontend használhatja a backend funkcióit, de fordítva nem. (a fentebbi manó áll a lentebbi fején, de fordítva nem igaz).
Ha valaki a backend rétegét is tudja fejleszteni és a frontend rétegét is, akkor a teljes kupachoz ért, így lesz belőle full-stack (egész kupac) fejlesztő.
Sok cégnél a frontendes-backendes nincs is elkülönítve, úgyhogy oda inkább univerzális embereket keresnek.

Merre indulj el?

Alapvetően nekünk az a célunk, hogy olyan programozókat adjunk a világnak, akik elboldogulnak frontend és backend környezetben is, tehát bárhová alkalmasak (így lesz ugyanis legnagyobb az elhelyezkedési esélyed). Az biztos, hogy mindenképpen meg kell tanulnod programozni. Erre nagyon jó a Java, ami kellően univerzális, és a szükséges mértékig rigorózus nyelv. Meg kell tanulnod a projekteket összefogó, kezelő, fordító valamilyen eszközt (Java esetében a Maven ilyen), meg kell tanulnod a projektjeidet egy „verziókezelő”, csoportmunkát is biztosító rendszerben tárolni (Git, SVN,…). A backendeseknek kell tudni a Spring és a JPA/Hibernate használatát, a frontendesnek a HTML, CSS, Javascript és valamilyen Javascript keretrendszer (pl. Angular, ReactJS) rejtelmeivel kell tisztába jönnie (és egy kis Spring neki sem árt).

A frontendes a látványosabb, míg a backendes a komolyabb kihívással rendelkező (számolósabb, gondolkodósabb), de egyáltalán nem látványos részeket fejleszti.

Valójában ezen még ráérsz később is gondolkozni, kezdd el a tanulást, erről a témáról az oktatóddal is tudsz majd beszélgetni.

Első lépés a Programozási alkalmassági tesztünk kitöltése, majd elég jó eredmény (min. 55%) esetén a képzés ingyenes részeinek elkezdése.