Érdekelt valaha, hogy miként is működik az új munkaerő betanítása, valamint a termékek és szoftverek fejlesztése egy olyan, gyakorlatilag a világ legismertebb és leglátogatottabb szolgáltatását képező oldalánál, mint a Facebook-nál? Mákod van - most ugyanis megtudhatod egy a napokban megjelent írásból, amely alapján nagyjából elég pontos képet kaphatunk arról, miként is zajlanak ezek a dolgok a Mark Zuckerberg alapította vállalatnál.

Ezek szerint az odakerülő programozók első dolga egy egy-másfél hónapos "kiképzőtábor" elvégzése, amelynek során gyakorlatilag mindjárt a mélyvízbe dobják őket, de olyan területen, ahol igazán sok bajt nem keverhetnek: ugyanis a már felfedezett apróbb bugokat kell a Facebook kódjában, a háttérben működő tesztrendszereken kijavítaniuk. Ezen feladatok révén a frissen érkezett munkaerők lassan megismerkednek a közösségi oldal hátterének működésével és kódszerkezetével, amelyben magában azonban károkat nem igazán tudnak okozni.

Erre csak a szóban forgó tábor elvégzését követően lesz majd lehetőségük - innentől kezdve ugyanis teljes hozzáférést kapnak az éles adatbázishoz és az éles kódokhoz is, amelynek révén fejlesztéseiket szinte azonnal kipróbálhatják magán a publikus Facebook-on is. Ugyanakkor mivel minden módosítást csak fokozatosan vezetnek be a rendszerbe, itt sem kell attól félni, hogy egyetlen figyelmetlen kóder miatt a fél web lehal. Az új módosítások ugyanis egy meghatározott ideig csak a felhasználók igen kis töredéke számára lesz hozzáférhető, és a teljes Facebook infrastruktúrán csak akkor kerül elterjesztésre, ha előbbi környezetben beválni látszik.

Erre a fokozatos metodikára szükség is lehet, hiszen az írás szerint a tervezés és a tesztelés - legalábbis a klasszikus, intézményesített formában és értelemben - nem a Facebook erőssége. Nincsenek - vagy legalábbis nagyon gyér számban állnak rendelkezésre - külön architekt jellegű programozók és minőségellenőrzők sem, hanem ehelyett maguk a kódereknek kell minden feladatot megoldaniuk a koncepció kidolgozásától kezdve az adatbázisstruktúrák kialakításán át egészen a PHP-ben történő lekódolásig, és a tesztelés nagy részét is ők végzik el.

Természetesen egyikük sem egyedül dolgozik, hanem minden tervet és kódot legalább egy másik fejlesztő is megvizsgál és ellenőriz, mielőtt a következő fázisba léphet a megvalósítás - de alapvetően nincsen erős szervezeti struktúra, amelyben a tervezők eldöntenek, a kóderek meg csak lekódolnak valamit, hanem dinamikusan kerülnek a feladatok megvalósításra, és akár a kódolási fázisban is elképzelhetők koncepcionális változtatások, ha azok indokoltnak tűnnek.

Az, hogy ki mind dolgozik szintén nem központilag kerül meghatározásra, hanem - a megvalósítandó feladatok közül - mindenki maga választja ki, hogy min szeretne legszívesebben dolgozni. A projektmenedszerek gyakorlatilag versengenek egymás között a fejlesztők kegyeiért, és utóbbiak azok akik végül meghatározzák, hogy melyik részfeladat megvalósításába szeretnének bekapcsolódni.

További részletek erre.