Egy szoftverfejlesztő "kalandjai"

Mit is csinál egy szoftverfejlesztő?

Elmondhatjuk, hogy szerencsés vagyok és vannak barátaim, mármint olyanok is, akiknek nem „.jpg”-vel végződik a neve. Olyanok is, akik nem szoftverfejlesztők, bár amikor végiggörgettem a Facebookon fejemben az ismerőslistám, rá kellett ébrednem, hogy a férfiismerőseim 99%-a ebben az iparban dolgozik. Igen, azt hiszem ezek után nem csodálom, hogy furcsán nézek a humánabb beállítottságú fiúkra, akik nem értik az informatikusvicceket, és a „brute force” szóról valami macsó dologra asszociálnak.

Ellenben a nőismerőseim jó része nem informatikus, ami egyrészt szomorú, másrészt nem igazán tudok velük a munkámról beszélgetni, egyrészt, mert nem értik, hogy mi is mondjuk az a null pointer, amire fél délután vadásztam, mire sikerült elkapnom. Ezekre a bensőséges beszélgetésekre továbbra is a húgom kell megtartanom, aki követte a példám és szintén szoftverfejlesztőként végezte. Másrészt, igazából nem is érdekli őket.Harmadrészt igazából nem is tudják, hogy mit csinálok pontosan, de eddig minden magyarázkodási kísérletem kudarcba fulladt, annyi tudatosult bennük, hogy értek a számítógépekhez. Azt, hogy egy nőt mi foghat meg ebben a szakmában, majd másik posztban elemzem, de egy dolgot megállapítottam: szoftverfejlesztőként nehéz barátnőket találni, mivel egyrészt sok nőnek fogalma sincs arról, hogy mit is csinálok én pontosan, a cégüknél dolgozó rendszergazdák és informatikusok miatt már eleve előítéletesek, illetve nekem is túl kell lendülni a hülye kérdéseken, amiket valamikor jól tolerálok valamikor viszont rosszul.

A bátrabbak és merészebbek egy idő után felteszik a következő kérdést: mit is csinálsz te pontosan?

Ilyenkor általában elintézem egy rövid válasszal, ülök a gép előtt és pötyögök, mire kapok egy pár nyugtalan pillantást. 

Tehát mit is csinál pontosan egy szoftverfejlesztő?

Kábé amúgy ezt…

Tényleg ül a gép előtt és pötyög, de ez már a munka egyik legutolsó stádiuma, mondhatnám, hogy ez az érdekes része, de valamikor már csak szarlapátolásként fogja fel az ember. Velősen megfogalmazva szoftverfejlesztőként a szoftvert állítjuk elő, ami egy szellemi termék, ezt adjuk el ügyfeleknek. Viszont szoftverfejlesztő nem csak szoftver kódját készíti el, a cég struktúrájától és a saját tapasztalatától és képességétől függően részt vesz a tervezési folyamatban, a kódolásban, tesztelésben és a szoftver kiadása után annak supportjában is. Tehát a szoftverfejlesztő és a programozó nem ugyanazt takarja, előbbi egy magasabb absztrakciós szint, a programozó pedig egy olyan személy, aki a terv alapján (jobb esetben) kódol. A szoftver kódja pedig gyakorlatban szöveges fájlokat jelent, amiben egy adott programozási nyelven írt szöveg található. Ezt elvileg bárki, aki ismeri az adott programozási nyelvet képes olvasni és értelmezni, de hogy gyakorlatban mi történik, azt inkább hagyjuk, mert elsírom magam…

Szóval konyhanyelven megfogalmazva ez lenne egy fejlesztő munkája, ami gyakorlatban a következő szemléltet (ez egy elég elrugaszkodott és negatív példa, van amikor nem ennyire katasztrofális a helyzet).

Általában érkeznek ún. új requestek, azaz igények az ügyféltől, amik ritkábban értelmesebbek, de inkább totál hülyeségek. Ilyenkor megindul a pofozkodás a management és az ügyfél között, de egy bizonyos összeg elhangzása után te, mint szoftverfejlesztő, azon kapod magad, hogy leöntöttek egy nagy adag lótrágyával, azaz, rájössz arra, hogy amikor közölték az új feladatod, az nem stand-up comedy volt, hanem tényleg ezt kell megcsinálni. Ekkor nagyon sok meetingre kell bemenned, amin elhangzik egy tarthatatlan határidő, és egy pár olyan feltétel és fenyegetés (ez az ügyfél nagyon fontos és rengeteg pénzt bukhatunk), hogy elgondolkozol azon, hogy Venezuelában vagy Észak-Koreában kérj menekültstátuszt. De te lelkes vagy szereted a munkád (és a fizetésed), ezért a kis csapatoddal és más kis csapatokkal nekiállsz megtervezni az új feature-t, ami nagyjából ahhoz hasonlít, amikor majmok dobálják egymásra a kakit az állatkertben. Ezek után nekikezdtek kódolni, aminek hatékonysága a határidő közeledtével exponenciálisan javul, ugyanekkor a kávéfogyasztásod az egekig szökken, de a legerősebb koffeinadag, ami egy elefántot is kiütnie sem hat már meg. A kódolás során az addigi forrásfájlba új sorokat pötyögtök nagyon ügyelve arra, hogy lehetőleg ne töröljetek ki semmit, ami addig ott volt. Közben azt látjátok, hogy a tesztelők pingpongozni járnak, naphosszat kávéznak, a managerek meg óránként háromszor járnak arra véletlenül, hogy arról érdeklődjenek, hogy mikor lesztek már kész. Általában a határidő napjához túl közel az egész szart addig elkészült terméket átpasszolják a tesztelőknek, akik megállapítják, hogy minden rossz. Ilyenkor jön a tákolásnak nevezett szakasz, amikor a tesztekre igazítjátok a szoftvert, hogy legalább moshassátok kezeiteket. Kéne egy code reviewt – amikor átnézitek a forrásfájlokat és fikázzátok egymás munkáját – is tartani, de ilyenkor már pattog az ügyfél, így ettől a manager nagyvonalúan eltekint, tehát az ügyfél megkapja a feature-t, te meg boldogan hátradőlsz, megnézed a naptárad, hogy mikor menj három hét vakációra, mert a többi (értsd: befejezni a feature-t és működésre bírni) már a support dolga és nekik csúnya keresztkérdéseik szoktak lenni…

Elvileg lennének bizonyos irányelvek, amik alapján ezt a folyamatot jól lehetne szervezni, de az egy külön poszt témája lehetne, hogy mi az elv és hogy nem alkalmazzák ezt gyakorlatban.

A kávé ereje legyen veletek!

Kommentek


Kommenteléshez kérlek, jelentkezz be:

| Regisztráció


Mobil nézetre váltás Teljes nézetre váltás
Üdvözlünk a Cafeblogon! Belépés Regisztráció Tovább az nlc-re!