Programozó vagy szoftverfejlesztő?

Ki mit csinál az IT szektorban? Kinek mi a fő feladata, és miben térnek el az egyes szakmák? Alábbi cikkünkben feltárjuk az egyes szakterületek szerepét, hatáskörét azok számára, akik nem olyan jártasak ebben a témában.

Mi a különbség...

Programozó és szoftverfejlesztő között

A hétköznapi szóhasználatban gyakran felcserélik a két kifejezést, sőt a programozás és fejlesztés mellett a kódolás is gyakran előfordul (angolul programmer, developer, coder). Ezek a megnevezések tulajdonképpen azt jelentik, hogy valaki valamilyen kódnyelvet használva olyan utasítássorokat hoz létre, amely a gépek számára értelmezhető, s amin keresztül létrejön a felhasználói szoftver.

A mindennapi nyelvhasználatban a programozó, vagy szoftverfejlesztő kifejezések általában ugyanazt jelentik, de egyes munkaadók differenciálhatják, hogy mit értenek a különböző kifejezések alatt. Lehetséges, hogy amíg szoftverfejlesztés alatt egy átfogó tervezői feladatot értenek, magas döntéshozatallal, addig a programozást – a tervezők iránymutatása alapján – a konkrét programsorok megírásában látják.

Szoftvermérnök és programozó között

A szoftvermérnök, azaz a Software Engineer, ahogy a nevében is benne van minden esetben mérnöki végzettségű, legalább BsC diplomával rendelkezik informatikai területen. Feladatait és hatáskörét az adott cég határozza meg. Az egyetemi évek alatt a Computer Science (számítástechnika, számítástudomány, informatika) elméleti és matematikai alapjain van a hangsúly, a programozás kevésbé van előnyben.

Ha nem szoftvermérnököt keresnek egy pozícióra, hanem programozót vagy szoftverfejlesztőt, akkor nem okvetlen elvárás a diploma, elég lehet valamilyen tanfolyamon megszerzett végzettség is.

Webdesigner és webfejlesztő között

Egy szinte “tökéletes” weboldal elkészítése nem kis feladat. Minden szakembernek meg van a maga szerepe a tervezésben és kivitelezésben egyaránt. A webdesigner a weboldalak vizuális megjelenését tervezi meg, s olyan grafikai tervezőszoftvereket használ, mint Photoshop, Illustrator, Sketch, stb. Többek között érteniük kell a színelmélethez és a tipográfiához, de előnyükre válhat a vektorgrafika és az alapvető nyomdai ismeretek is. Mindezen felül tisztában kell lennie egy honlap alapvető felépítésével, így a HTML és CSS, azaz a sitebuilding nyelvek elsajátítása is lényeges lehet.

A webfejlesztő feldata maga a weblap létrehozása és működtetése olyan webes nyelvek használatával, mint HTML, CSS, JavaScript, esetleg Java, Python, PHP, SQL, stb. A designer elsősorban tervez, a fejlesztő pedig programoz.

UI designer és UX designer között

Az UI az angol User Interface szóból ered, ami magyarul felhasználói felületet jelent. Ennek megtervezésekor az esztétikai szempontok mellett a felhasználói igényeket és a brand arculatát is figyelembe kell venni és ez alapján kell designt alkotni. Az UI designer a weboldalakon látható színeket, ábrákat, gombokat, vizuális elemeket, stb. tervezi meg.

Az UX az angol User Experience szóból ered, ami magyarul felhasználói élményt jelent. A felhasználói igények pontos felmérésére általában interjúkat készítenek és visszajelzéseket kérnek a felhasználóktól. Az UX designer erre alapozva tervezi meg az oldal szerkezetét, a különböző menüpontokat, a navigációs gombokat, stb.

Frontend, backend és full-stack fejlesztő között

A frontend jelenti a kliens oldalt, magyarán azt a részt, amit látunk egy honlapból: gombok, képek, szöveg, interakciók. Frontend fejlesztőnek azokat az embereket hívjuk, akik a designerek tervei alapján hozzák létre a weblap felületét, azaz a frontendet, vagyis mindent, amit a felhasználó lát és amivel kapcsolatba lép. Általában HTML, CSS és JavaScript nyelveket használnak.

A backend a szerver oldal, amit mi tulajdonképpen nem látunk egy honlapból. Ilyen az adatok betöltése és mentése az adatbázisokból, a klienstől érkező kérések kiszolgálása, API végpontok biztosítása. A backend fejlesztők szerveroldali programozók, akik leggyakrabban Python, Node.js, PHP és a Java nyelveket használnak.

Végül, de nem utolsó sorban Full-stack fejlesztőnek hívjuk azokat a fejlesztőket, akik kliens- és szerveroldali programozáshoz egyaránt értenek.

Rendszeradminisztrátor és egy DevOps mérnök között

A rendszeradminisztrátor, hétköznapibb nevén rendszergazdaangolul system administrator (sysadmin)felelőssége többek között a szerverek megfelelő működtetése és karbantartása, a külünböző rendszerek támogatása és kezelése. Részletesebben olvashatsz korábbi cikkünkben az ő feladataikról és munkásságukról.

A DevOps mérnök egy válaszvonalat jelent a rendszergazdák és fejlesztők között. Vannak olyan fejlesztők, akik infrastruktúra telepítésével, tesztelésével és üzemeltetésével foglalkoznak többnyire, és léteznek olyan rendszeradminisztrátorok, akik sokkal magabiztosabbak a programozásban és frissítik, aktualizálják a szükséges kódokat.

A DevOps mérnök legfontosabb feladata a rendszer biztonságának kialakítása és a hackertámadások elleni védelem biztosítása. Munkája során kapcsolatot kell tartania a felhasználókkal, fejlesztőkkel és rendszergazdákkal egyaránt.

Data analyst és a data scientist között

Magyarországon sajnos sem az adatszakértő, sem pedig az adattudós kifejezés nem terjedt el, leginkább data analyst és data scientist néven utalnak az adatelemzőkre.

A data analyst feladata az adatok tisztítása és átalakítása, valamint segít a csapat tagjainak megérteni és vizualizálni azokat. Legfőbb programok, amelyekkel dolgozik: az Excel, SQL, R és adatvizualizációs eszközök, pl. Tableau, Data Studio.

A data scientist feladata sokkal komplexebb. Adatok elemzésével trendeket és mintákat állapít meg, majd elemzéseket készít és információkat szolgáltat a különböző döntési folyamatok támogatására. Fontos, hogy magas szintű matematikai, statisztikai és programozói ismeretekkel rendelkezzen. Leginkább SASSPython, R, Tensorflow, Hadoop, Spark eszközökkel dolgozik. Manapság nagyon keresett szakma, de komplexitása miatt nagy tudást és tapasztalatot igényel.

Szoftver fejlesztő

Eddig szakmákat hasonlítottunk össze, de nézzük meg, hogy "Mit csinál egy..."

Mérnökinformatikus

A mérnökinformatikus az informatika eszköztárát mozgósítja, de mérnöki szemlélettel közelíti meg munkáját. Az ezen szakterületen tevékenykedő szakember egyetemet végzett, és széleskörű ismeretei vannak az informatikai területek elméletéről, kisebb részben gyakorlatáról is. Bele lát a programozásba, a rendszerüzemeltetésbe, a távközlésbe, stb., és ezek közül specializálódik valamilyen szakterületre, szakirányú képzés keretében.

Szoftver architect

A szoftver architect nagy tudást és tapasztalatot igénylő fejlesztői szerepkör. A magyar IT közegben is architect néven hivatkoznak rá, nem szokás fordítani.

Ezen a szakterületen magas szintű tervezési és kivitelezési kérdésekben kell dönteni, a szoftver tervezés és fejlesztés lehetőségeinek, tecgnológiáinak széles eszköztárát kell ismerni.

Etikus hacker

A hacker szó hallatára általában mindenkinek olyan informatikus szakemberek jutnak eszükbe, akik tudásukkal és tapasztalatukkal visszaélve illetéktelenül törnek be számítógépes rendszerekbe, adatlopás és károkozás céljából.

Az etikus hacker hivatalos felhatalmazással, szerződéssel méri fel egy informatikai rendszer biztonságát úgy, hogy megpróbál bejutni és adatokat szerezni. Tudását és tapasztalatát biztonsági hibák feltárására használja, a folyamatot részletesen dokumentálja és ismerteti a rendszer üzemeltetőivel a talált biztonsági réseket.

Szoftvertesztelő

Alapvetően kétféle tesztelési metódust különböztetünk meg: manuális és automatizált.

A manuális tesztelők végfelhasználóként próbálják ki a szoftver működését és funkcióit, majd részletesen dokumentálják is a talált hibákat. Egyedi és hétköznapi helyzeteket modelleznek, mint pl. mi történik, ha a felhasználó véletlenül hozzáér a képernyőhöz, vagy milyen hibaüzenetet kap, ha nem létező felhasználónévvel próbál belépni. Az ilyen tesztelők általában pontos forgatókönyv alapján tesztelnek. A tesztelés pontos protokollját és a szükséges fogalmakat néhány hónap alatt el lehet sajátítani, majd némi gyakorlatot követően lehetőség nyílik elhelyezkedni az IT területen.

Az automatizált tesztelés során nem egy adott tesztelő megy végig a felületen, hanem tesztelésre specializált eszközöket használ és hoz létre. A tesztautomatizálók maguk is programoznak.

Reméljük hasznos volt a fenti cikk, amennyiben további hasonló tartalmakat szeretnél látni, kövess minket FacebookInstagramTwitter, vagy TikTok oldalunkon.