2011. július 17., vasárnap

Gyárlátogatás: saját főztöm

11 évvel ezelött landoltam egy új munkahelyen -azóta rég beszünt- , ahol valami tetűnagy rendszert fejlesztettünk C++-ban. Volt a dologban egy kis CORBA (béke poraira) és Oracle RDBMS, mert azt már akkor sem lehetett kihagyni semmiből. Érkezés után az űberführer mondta el, hogy mi is ez az egész. Egy chat szerver volt végülis, sok klienshez. Nem IRC protokol kompatibilis, hanem custom webes chat. Szóval az első reakcióm az volt, hogy "Klassz! Próbáljuk ki!", mire az űberführer már az első napomon korán reggel jól lecseszett: "Figyelj, nem érünk rá játszani, nagyon sok dolgunk van!"
Ez nekem ilyen tréfás emlék arról a cégről, mert végig ilyen volt, a termékeket soha nem próbálgattuk. Tellt-múlt az idő. Úgy kb 8-10 helyen dolgoztam azóta, ebből 2 helyen volt olyan ember, hogy "tesztelő". Igazából csak az egyik esetében jelentette ez azt, hogy az az ember automatizált teszteket programoz. Most már biztosan változott a kép, a sok kis magyar cég helyére többnyire multik jöttek, többszáz embert alkalmaznak és náluk nem az a QA, hogy "aha, kipróbáltam..."

A tesztelő mellett kiválló input lehet egy ügyfél (illetve a felhasználó, mert az nem ugyanaz) is, bár az kicsit változatosabb tud lenni minőségben. Például az egyik külföldi munkatársnő egyetlen hibajelzést tud leadni: "nem működik". Ilyenkor 10 email váltás, telefonon felhívom, satöbbi, fél óra amíg kiderül hogy a loginig el sem jutott, a browsere nem jut át a proxyn. Más felhasználókból egész értelmes dolgokat lehet kihúzni, mint például hogy nem értették hogy mire való az a gomb és nem merték megnyomni, nem találták a dokumentációban, pár kör levelezés után megegyezünk abban hogy hogyan tudunk segíteni.
Ez SCRUM-ban talán a product owner feladata lenne, de a személyes kapcsolat a felhasználóval azon túl hogy baromi sok időt emészt fel és néha még éjszaka is a munkahelyi leveleimet válaszolgatom meg, egyébként szerintem egyrészt sokat lehet belőle tanulni, másrészt pedig tényleg elhozza az egész problémakört oda. Ebben a problémakörben nem csak dolgozol, hanem ebben élsz. Azok, akikkel naponta spanolsz kint a konyhában vagy felhívnak valami problémájukkal, azok lesznek a társadalmi kapcsolataid, a te saját kicsi világod. Így egy kicsit más érzés egy problémán dolgozni. Nem azért csinálod, mert a managered azt mondta, vagy mert van egy jira issue rá és bekerült az iterációba, hanem azért, mert valakinek a környezetedből gubanc. Például volt egy hely, ahol ketten dolgoztunk 150 callcenteres nő között. Nekik az üzleti logikától nagyban fügött, hogy mennyi pénzt vihetnek haza hó végén, ezért munka végén volt aki bejött és megköszönte hogy jó munkát osztottunk neki (illetve a kód amit írtunk), vagy ránköntötte minden haragját amiért nem.

Csodálatos visszajelzés az üzemeltető csapat, amennyiben van ilyen :). Ők nem fogják megmondani neked a hiba okát, van ezer más bajuk, viszont nagyon precíz információkat tudnak adni arról hogy milyen hibajelenséget láttak és ez mennyire fáj. (rendszer outage, crash, túlterhelés, lassulás, memory leak, restart, satöbbi) Aztán persze tesznek rá, hogy a kód helyesen működik-e vagy sem, az már valaki más baja. Például az tök jó, hogy a vasműben minden nap többször is összefutok az üzemeltetőkkel. Másként nem tudok bemenni és kijönni. Szóval ha bármi gubanc volt, ők biztosan nem felejtik el.

Persze direktben a felhasználótól kapni vissza az élménybeszámolókat egy bizonyos mennyiségű felhasználó felett már nem szórakoztató, ilyenkor bejön a support, management, satöbbi. Csak szerintem annyira gyakran van az, hogy a management beáll középre a kommunikációt bonyolítani és nagyon lényeges információk vesznek el ezen a ponton.

No, ennyi jutott eszembe erről az eating your own dogfood témáról. Ja meg hogy csütörtökön palacsinta, az is a saját főztöm lesz :-)

2011. július 12., kedd

Cassandra - eddig

Mostanában szabad pillanataimban a Cassandra adatbáziskezelőt próbálgatom. Ez amolyan szakmai kirándulásféle nálam, mindenféle konkrét cél nélkül kipróbálok dolgokat. Nem jutottam még messzire vele, tényleg a bemelegítő gyakorlatok: működtetés, programozás, őszintén szólva nekem a thrift is teljesen új volt - bár nem újszerű, engem a dolog valahogy nagyon emlékeztet a CORBA-ra, de nem jutottam ezzel se olyan messzire, hogy elkezdjem osztani az észt két kézzel.

Eddigi olyan igazi járatlan út szaga van a Cassandrának. A dokumentáció felületes és jobbára törött, az API minden release-ben változik, programozni kicsit hosszadalmas és fapados érzés, a hibaüzeneteihez tolmácsra van szükség. A legtragikusabbnak az üzemeltetés tűnik.

Viszont amire kitalálták, arra ailghanem jó: nagy mennyiségű adat analízis jellegű feldolgozása. Majd ha befejeztem a teszteket akkor valószinűleg én is azt mondom majd, hogy baró és tetszik. De  legtöbb embernek nincsen annyi adata, hogy ilyenekre legyen szüksége. Ez egy igencsak speciális eszköz. Kéremszépen legyenek szivesek megtekinteni a wikipédiát, ami kiválló példa arra, hogy a legtradícionálisabb LAMP architektúra is képes top 10 weboldalra jellemző terhelést elvinni. A lenézett és döglődő MySQL szolgálja ki.

Komolyan tartok tőle, hogy a NoSQL felhasználók jelentős része valójában csak a szép új technológia miatt nyomul az új generációs adatbáziskezelők körül.

2011. július 7., csütörtök

Indigo - eddig

Nagyjából átálltam az új eclipse release-re minden projectemmel, pár észrevétel eddig:

  • Mi a szösznek van még mindig benne a CVS kliens? Ki használ CVS-t 2011-ben?
  • Viszont defaultból benne volt az egit, az szép.
  • Szintén az alap csomagban benne volt a maven plugin is (m2eclipse) - na végre, csókolom, 2011 van!
  • Megintcsak az alapcsomag része google által bedobott GUI designer, amit a heliosba is belegyömöszöltem, de ebben alapból benne van. Öszintén szólva az egyetlen dolog amiért hajlandó voltam átbóklászni néha netbeans-re az a GUI designer volt, viszont ez jobban tetszik. Végre egy használható GUI designer swinghez, SWT-hez és azt hiszem GWT-hez is működik.
  • Egy csomó szép új plugint felfedeztem. Ilyenkor néha elszáll az agyam és próbálgatok, de az igazat megvallva nagyon kevés plugin éli túl nálam az első hónapot. Meglátjuk hogy lesz most.
  • Egyes pluginokat nagyon nehezen sikerült beszerezni. Pl a google web toolkit plugint égen földön kerestem a marketplace-ben, aztán a GWT UI létrehozásakor felajánlotta hogy letölti.
  • A legtöbben az eclispe marketplace-t használják (én is preferálom) pluginok beszerzéséhez. Hát ez az utóbbi időben a legváltozatosabb hibákat generálja a szerver oldalán.
Szóval 2011-ben is, eclipse az IDE.

2011. július 1., péntek

Ez nem egy magyar blog

Ma lépett életbe Magyarországon a sajtótörvény és aki valamennyire is ismer, az sejtheti rólam, hogy nem regisztráltam be ezt a blogot. Következő okokból:

  1. Egyszerűen lusta vagyok hozzá. Még a postára se járok el, nyilván majd ugrok minden alkalomra ha valami jó kis nyomtatványkitöltésre nyílik kilátás :-)
  2. A törvény szövegéből nem értek egy kukkot sem. Nem derül ki egyértelműen hogy rám és a blogomra vonatkozik-e vagy sem. A nagy általános érvényessége alapján a marslakókat is be lehetne perelni vele.
    Persze a törvény nem ismerete közismerten nem ment fel, de viszont nem kellene egy tesztelő csapat a törvényekhez is? Hogy érthető és használható-e? Nem ad lehetőséget hatalommal való visszaélésre, stb?
  3. A blogot nem Magyarországról szolgája ki a Google. Köszi Google!
    Amúgy sem magyaroknak írtam, hanem csak úgy magamnak és az internet járókelőinek.
  4. Pár héten belül befejezem a munkát Magyarországon és Csehországba költözök, Brno-ba. Az ismert médiacéget elcseréltem egy ismert technológiai cégre (Linux, Java, satöbbi, szóval nekem való helynek tűnik).
    Mondta is valamelyik űberführer, hogy ha nem tetszik el lehet menni. Na, szóval én már megyek is.
Szóval úgy gondoltam, hogy ezek alapján rám biztosan nem vonatkozik, meg ha igen, akkor pár héten belül már nem. Nemsokára külföldi leszek...