Filmekben már biztosan te is láttad, amikor szemüveges férfiak egy sötét szobában kalapálják a billentyűzetet, miközben a monitoron indokolatlanul sok karakter jelenik meg egy-egy gomb lenyomása után. A valóságban azonban a programozás nem ilyen misztikus szakma: rengeteg elemzés és kreativitás kell ahhoz, hogy a felhasználói- és ügyféligényeknek maximálisan megfeleljen a munkájuk. És persze, ahogy más szakmában, itt sincs sok eredménye az egyedüli munkának – csapattagként minden programozó munkája értékesebbé válik.
A legnagyobb techcégek ikonikus alakjai is programozóként kezdték. Mark Zuckerberg a Facebook, Steve Wozniak az Apple részéről volt jelen technikai tudású alapítóként.
Ebből is látszik, hogy nem csak ma, hanem már évtizedek óta a digitális ötletek megvalósításához elengedhetetlen tudást jelent a programozás. Manapság pedig még relevánsabbnak számít a kódolás. A Statista áprilisi kutatási eredményei alapján világszerte 3,8 milliárd okostelefont használnak. A személyi számítógépek száma pedig 2019-ben két milliárd volt az SCMO adatai szerint. A közönség, a végfelhasználók száma tehát óriási, ezzel együtt változatos igényeknek is meg kell felelnie az IT szektornak.
A programozást, mint hivatást sok misztikum övezi a kívülállók számára, pedig cseppet sem elrugaszkodott feladatokat kell végrehajtania az IT szakembereknek. Csupán a megfelelő szaktudás szükséges hozzá – ami egyre inkább elérhető az érdeklődőknek. Ilyen például a Progmatic Academy junior fejlesztő képzése is. Vegyük végig, pontosan mit is csinál egy programozó.
Kreatív és elemző feladatok
A programozók munkája biztosítja tehát, hogy a telefonjainkkal, számítógépeinkkel képesek legyünk feladatok elvégzésére.
Ez ugyanúgy igaz a telefonodon lévő netbank alkalmazásra, mint a PS-eden futó Uncharted 4-re, esetleg a sikeres műtétekhez használt szoftverekre, amelyek segítségével az orvosok jobban fel tudják térképezni a beavatkozásra váró területet, mielőtt szikéhez nyúlnának.
Bármilyen területre is gyártanak szoftvereket, a programozók feladata, hogy kreatív munkaerőként a felhasználói- és ügyféligények találkozási pontjait elemezze és optimalizálja – végső soron megvalósítsa a szoftveren dolgozó csapat tagjaként.
A kódok írása már rengeteg nyelvben megvalósulhat. Gyakran használt nyelvek a Python, a C++ és a Java. Miután megvan a kód, egy rakás tesztelés vár még a már elkészült funkciókra. Ezt olykor tesztelők végzik, máskor maguk a programozók ellenőrzik a saját munkájukat működés közben. Az esetleges működésbeli problémák felbukkanása után jön azoknak a kijavítása. Sokszor felmerülnek azonban olyan javítandó elemek is, amelyek nem a kód hibájából fakadnak. Olykor egyszerűen a felhasználói élmény optimalizálása miatt van rájuk szükség, máskor az ügyfél visszajelzése alapján kell finomítani az elkészült funkciókon.
A programozás csapatjáték
Az már nyilván az előzőekből is kitűnt, hogy a programozók egy csapat tagjaként dolgoznak. A szoftverek ugyanis nem csak kódok sorainak millióiból állnak, hanem például felhasználói felületből is, amelyet erre a területre specializálódott tervezők, azaz a UI tervezők alkotnak meg.
Ha valaki webfejlesztőként a front end fejlesztéssel kapcsolatos feladatokat látja el, akkor az ő munkáját meghatározza a UI dizájn. A UI dizájn egy olyan terv, amely az alkalmazások funkcióit helyezi el a felhasználó számára látható felületen. A UX, azaz a felhasználói élmény pedig azt határozza meg, hogy például az ételrendelő appon a “Fizetés” gomb miért ott helyezkedik el, ahol.
A back end fejlesztők nem igazán foglalkoznak a UI-jal. Az ő feladatuk, hogy az elkészített webalkalmazás teljes egészként sikeresen működjön: maradva az előbbi példánál, az ételrendelő app eljuttassa az információt a rendelt négysajtos pizzáról az étterembe, ahol azt majd elkészítik. Röviden összefoglalva tehát, a back end fejlesztők inkább a funkciók összeegyeztetéséért dolgoznak.
Fontos eleme a csapatdinamikának az elérhetőség is. Bármilyen konstrukcióban dolgozik egy programozó – irodai jelenléttel vagy távolról –, a csapattagok számára elérhetőnek kell lennie. A különböző szakterületek miatt fontos, hogy a szoftverfejlesztő csapatok gyakran egyeztessenek egymással. Hiszen így az erőforrásaikat is könnyebben tudják ütemezni, illetve az esetleges akadályozó tényezőket könnyebben elháríthatják. Sajnos azonban gyakran előfordul az is, hogy sürgős, váratlan javítások a hétvégék nyugalmát zavarják meg.
Végül pedig, a programozók egyik legfontosabb erénye, hogy érthetően el tudják magyarázni a megírt kód működését laikusok számára is. Ez talán a csapaton belül nem annyira fontos, mint az ügyféllel tartott megbeszélések kapcsán – hiszen általában az ügyfélnek nincs akkora technikai tudása, mint egy programozónak.