Bizonyos helyzetekben egy programozó és egy fejlesztő munkája között nem sok különbséget látunk. Ez azonban csak addig van így, amíg nem ismerkedünk meg azzal, hogy mit is takar pontosan ennek a két szakmának a tényleges munkakörre. Ha neked sem egyértelmű, hogy melyikük mit is csinál pontosan, ebből a cikkből megtudhatod, hogy milyen feladatokat lát el egy programozó, illetve egy fejlesztő, és milyen kapcsolatban állnak egymással a munkájuk okán.
Sokan vannak, akik nem látnak bele abba, hogy milyen különbségek vannak a programozók és a fejlesztők felelősségi- és munkakörei között. Ennek az egyik magyarázata, hogy alapvetően mindketten IT-szakembereknek tekinthetők, azonban egy szoftver fejlesztésének szempontjából más-más szinten végzik el munkájukat. A különbség rendkívül markáns, ugyanis egy programozó és egy fejlesztő szerepe már a szoftver elkészítésekor időrendileg is eltér.
Alapvetés, ahogy mondjuk egy focicsapatnál, úgy az IT-cégekben is, hogy mindenkinek megvan a maga szerepe. Ha úgy nézzük, Cristiano Ronaldo egy focista, de vajon akkor is világklasszisként tekintenének rá, ha kapus lenne? Nagy valószínűséggel nem. Ezért is fontos megkülönböztetni a programozókat és a fejlesztőket, hiszen ők is más képességeiket alkalmazzák az egyes termékek fejlesztése során.
Mit csinál egy programozó?
Először vizsgáljuk meg, hogy mivel is foglalkozik egy programozó a szoftverek fejlesztésének folyamata során. Nem különösebben nehéz feladat magából az elnevezésből kikövetkeztetni, hogy ők bizony programoznak. Ez azt jelenti, hogy a kért fejlesztéseket önállóan el tudja végezni, illetve a legtöbb esetben azt is képes átlátni, hogy az adott feladat hogyan illeszkedik a teljes szoftver egészének a fejlesztésébe.
A kódolás mellett persze egy egész csomó más feladatot is el kell látniuk. Ilyen például a hibák feltérképezése és elemzése, azoknak a kijavítása, vagyis összességében a programkód működőképes fenntartása. Ezzel összhangban az elkészült kódot is nekik kell tesztelniük. Gyakran foglalkoznak könyvtárakkal, keretrendszerekkel, hogy a lehető leghatékonyabb és legkevesebb hibával rendelkező kódot készítsék el. Az ehhez szükséges feladatok programozó iskolákban is elsajátíthatók – ilyen képzéseket nyújt többek között a Progmatic Academy is.
Ezeket a feladatokat egy fejlesztő is el tudná látni, viszont a fejlesztő felelősségi köre ennél jóval kiterjedtebb.
Mit csinál egy fejlesztő?
Az első és legfontosabb különbség, hogy a fejlesztő és a programozó között alá-fölérendeltségi viszony van. De ezt nem úgy kell érteni, hogy a fejlesztő a programozó főnöke lenne.
A fejlesztő egy szoftver fejlesztésében hamarabb részt vesz, ugyanis ő jelen van már akkor, amikor a felhasználói igényeket térképezi fel a csapat. Ha ezen túl vannak, a fejlesztő megtervezheti, hogyan és milyen ütemben fogják elkészíteni az igényelt fejlesztéseket, illetve milyen instrukciók mentén kell a programozóknak dolgozniuk.
Az már a cégek méretétől, kialakításától függ, hogy ezt követően, a konkrét programozásból mennyire veszik ki a részüket. Ha kisebb cégről van szó, ott nagy valószínűséggel többet programoznak, mint azok a fejlesztők, akik nagyobb vállalatoknál kamatoztatják képességeiket. A nagyobb cégek fejlesztői jellemzően valamilyen projektmenedzseri felelősségi körrel viszik a projekteket, ők specifikálják azokat a funkciókat, amiket a programozóknak el kell készíteniük.
A közös mindkét fenti esetben, hogy a fejlesztőnek kell a teljes fejlesztési folyamat menetét, valamint a szoftver működését, felépítését is megtervezni. Mindemellett az ügyféllel való kapcsolattartás és a szoftver megfelelő dokumentációjának a biztosítása is az ő feladatuk. Tehát az ő munkájuk nagyon magas fokú odafigyelést igényel, amellett, hogy már maga a programozás is megköveteli az extra igényes munkát.
Nagyon leegyszerűsítve azt mondhatjuk, hogy a fejlesztő feladata, hogy meghatározza, az egyes programozók miként oldják meg a felhasználók problémáit.
A projektmenedzseri felelősségi kör miatt olyan soft skillek birtokában vannak, amelyek lehetővé teszik számukra a fejlesztések összefogását és a projektek előremozdítását.
Összegezve
Jól látható, hogy a programozók és a fejlesztők hogyan működnek együtt egy fejlesztés során. A fejlesztőnek el kell érnie, hogy a programozó a fejlesztő ötleteit a szoftvernyelvek segítségével megfogalmazza, hogy utána a gépek végre tudják hajtani a megtervezett megoldásokat.
És akkor mi a különbség a kódoló, illetve a programozó között?
A kódoló egy rendkívül tág fogalom. Tulajdonképpen bárki kódolónak számít, aki képes rá, hogy adott utasításokat figyelembe véve működőképes kódot alkosson. Ezzel szemben a programozó előkészíti és megtervezi a kódot, majd csak ezután vág bele az összetett kód elkészítésébe. Vagyis a programozó képes a tudását alkalmazhatóan felhasználni egy szoftver fejlesztése során, illetve a teljes szoftver működésének logikáját megalkotni.