Gondolatok
a programozásról
Lehet, hogy sokan azt gondolják: szegény
fejlesztőről lehúzzák a rókabőröket, odadobnak neki valami aprót, mint a
koldusnak az aluljáróban, és a cápák felmarkolják a milliókat, pedig mindenki
jobban járna, ha a kliens közvetlenül a programozó ajtaján kopogtatna” –
nos, ez lehet, hogy jól hangzik, de szerintem a dolgok sajnos / szerencsére nem
így működnek.
Programozás
- művészet vagy sem?
Volt egyszer hol nem volt, volt egyszer
elképzelésem a programírásról, mely időközben sokat változott. Csak a
programozás iránt érzett „szerelmem“ nem változott, és az a meggyőződésem, hogy
a programírás egyfajta művészet – olyan, mintha verset írnál.
Egy gondolatot idéznék:
“A legjobb gondolataim
postosvesszőben végződnek.”
Sokan divatból végeznek el egy szakirányú főiskolát,
egyetemet: “trendi” lett programozni, meg jól is fizetik. Ezért, az utóbbi időben
egyre több a botcsinálta programozó, aki igazából nem szereti, amit csinál, és
csak azért nem lett például vegyészmérnök, mert informatikusként kétszer annyit
kereshet...
Véleményem szerint elhivatottság nélkül nem lenne
szabad alkalmazásokat fejleszteni. Az, aki még soha nem írt egy programot csak
úgy, “l’art pour l’art”, nem érzi át a dolog lényegét, igazából nem is neki
való ez a hivatás.
Az IT
mint iparág
A programírás nem csak abból áll, hogy nekiugrunk
a billentyűzetnek, és hajrá! Számos egyéb tevékenységet von magával, melyek
nélkül maximum egy házi feladat “project”-hez lehet hozzáfogni.
Az az igazság, hogy a szerencsétlen programozónak
sem ideje, sem megfelelő ismeretei nincsenek ahhoz, hogy mindent
megszervezzen.
Gondoljunk csak bele, nem mindegy, hogy Pista
bácsinak írunk egy programot, mely figyeli, hogy kedves felesége mikor és
hányszor lép be a "Kéjes vágyak" IRC-csatornára, vagy egy forgalmas
kereszteződés forgalmi lámpáit irányító szoftvert kell megalkossunk!
A fejlesztés összetett tevékenységekből áll, melynek csak egy nagyon kis
hányada maga a programírás:
- ügyfelek felkeresése, piackutatás, reklám
- üzlet megkötése, előleg megállapítása, garanciák
vállalása, határidők egyeztetése
- követelmény elemzése – mi az, ami ténylegesen
kell az ügyfélnek
- folyamatos kapcsolattartás az ügyfelekkel
- tervezés – a program átfogó tervének
elkészítése, folyamatábrák, use-case-ek, osztály diagrammok
- működésbeli specifikációk meghatározása – avagy mit is tud a program
- dokumentációk készítése
- tesztforgatókönyv összeállítása, karbantartása,
frissítése - a lehető legtöbb hibaeset lefedése (egészen szélsőséges esetek
kezelése - pl. mi történik, ha a felhasználó írás közben kiszedi a floppy-t,
vagy átvitel közben lehúzza a hálózati kábelt?)
- tesztprogramok írása
- átfogó tesztelés a fejlesztés különböző
szakaszaiban (ún. V-Trace)
- minőségügyi, kódolási előírások betartatása /
figyelése
- verziókövetés, (bináris) build-ek generálása
- felhasználói panaszok figyelése, kezelése,
dokumentálása
- elérhetőség biztosítása (telefon, internet)
- marketing, termék reklámozása
- a dolgozók folyamatos képzése
- jó munkakörülmények, kellemes környezet biztosítása, (klímaberendezés,
növények, üdítő, ásványvíz, különböző juttatások a dolgozók részére)
- hardver / szoftver-állomány karbantartása, frissítése, javít(tat)ása
- stb.
A felsorolt tevékenységek többségéhez nem elegendő
a programozó tudása, a sok adminisztratív illetve jogi, üzleti jellegű
tevékenységhez sem ideje, sem képesítése. A részfeladatok többségéhez általában
méregdrága szoftvereket használnak (Rational Rose a tervezéshez, Rational
ClearCase a verziókövetéshez, stb.), a fejlesztőeszközökhöz, operációs
rendszerekhez, egyéb szoftverekhez licenc kell – akár több millió forintról
beszélünk, és még hozzá sem fogtunk a munkához!
A programozó, ha nem áll mögötte egy komolyabb
cég, nem tud megfelelni ezeknek a követelményeknek, sem tudásban, sem
anyagilag.
Ha mindez adott, akkor sem leányálom a programozók
élete, pedig a felsorolt feladatoknak csak egy kis részletét látják el.
Általában közvetlenül a határidő előtt egy – két héttel (rossz esetben nappal!)
derülnek ki az igazán durva vagy véletlenszerű hibák, esetleg a megrendelő úgy
gondolja, hogy nem is erre a szoftverre van szüksége. Ebben az esetben, ha
ügyesen kötöttük a szerződést, már nem tud kibújni a alóla. Ellenben ha csak
szóbeli megegyezés történt, és még előleg sem volt, akkor feleslegesen
dolgoztunk hetekig, hónapokig (saját tapasztalat L).
Elmúltak már azok az idők, mikor valaki magányos
farkasként programozgat, és kizárólag abból meg is él – lehet, hogy soha nem is
volt ilyen.
A programozás persze hobbinak is kitűnő, a lényeg,
hogy azért csináljuk, mert szeretjük.
A Kód legyen Veletek!