Monthly Archives: March 2008

Ideálny proces zaúčania nového programátora

Každá úspešnejšia IT firma postupom času potrebuje prijať nových zamestnancov. Problém je v tom, že nieje dostatok dostatočne kvalifikovaných ľudí a týchto treba zaúčať. Zaučiť treba aj už schopných ľudí, aby pochopili a správne používali postupy / prostriedky používané vo firme.

Tu chcem popísať podľa mňa ideálny spôsob, akým nových ľudí čo najrýchlejšie a najkvalitnejšie naučiť firmou želaným postupom. Najskôr treba zistiť, čo a do akej miery daný človek ovláda a potom mu dať úlohu (kľudne aj v reálnom projekte), ale povedať mu dosť podrobne, akým spôsobom ju má riešiť. Ten spôsob ani netreba vysvetľovať, pokiaľ nebude mať nový človek konkrétne otázky. Idéalny stav by bol, keby programátor pri implementovaní úlohy sám prišiel na to, prečo bol zvolený takýto postup a ako nádherne do seba zapadajú použité konštrukcie/postupy. Je dôležité, aby sa pracovník, čo má nového zamestnanca na starosť, presvedčil, že všetko pochopil a prípadne mu dovysvetľoval súvislosti, ktoré mu ušli.

Takýmto spôsobom sa dá najjednoduchšie a najrýchlejšie docieliť správne a úplné pochopenie pužívaných postupov. A ako bonus je fakt, že daný človek na súvislosti a dôvody prišiel sám, alebo aspoň bol nútený nad nimi rozmýšľať, teda si ich skôr a lepšie zapamätá.

Žiaľ v praxi, kde termíny tlačia, nieje vždy možné vyčleniť senior programátora na takéto účely, ale verím tomu, že by to bola vydarená investícia.

RE: Prečo je programovanie vlastného CMS v dnešnej dobe úplna strata času

Nedávno som čítal kolegov blog, kde písal o tom, čo si myslí o programovaní vlastného CMS. Úplne som s ním nesúhlasil, môj názor sa môžete dozvedieť nižšie.

Tomaj odôvodňoval nezmyselnosť tvorby vlastného CMS (V skutočnosti to nemusí byť práve CMS, ale hociaký komplexný kus kódu, ktorého už existujú tisíce implementácií. Pravda, zväčša sa jedná práve o CMS.) hlavne jeho odsúdením na neúspech. V tejto časti s ním súhlasím, nemyslím si ale, že je takýto projekt pre začínajúceho PHP programátora neprospešný.

Taký začínajúci PHPčkár si môže dať pre vlastné CMS ciele podobné týmto: musia tam byť články, administračný panel na články, fórum, registrácia užívateľov. Toto je spôsobené tým, že si človek nevie poriadne predstaviť celý projekt, nevie nájsť / sústrediť sa na podstatu problému. Potom sa sústredí na zväčša nezmyselné detaily, ale výsledok je hrozný.

Tomaj vraví, že náš PHPčkár by sa mal radšej začať učiť pracovať v nejakom existujúcom uznávanom CMS a snažiť sa zveličovať ho. Toto môže byť z krátkodobého hľadiska účinné, ale nemyslím si, že sa takýmto spôsobom človek dokáže dostať k podstate. Pripomína mi to jeden vtip:

Novomanželia spolu pripravujú obed, manželka robí štrúdlu, prereže ju na 2 časti a tak ju dá na plech piecť. Muž sa pýta, prečo to tak robí.
- Moja matka to tak robila.
Tak sa na návšteve u svokrovcov spýtali jej matky, prečo pred pečením rozrezáva štrúdlu na 2 časti, no rovnakej odpovede sa dočkajú aj od svokry.
- Aj tvoja babka to tak robila.
No zvedavosť im nedá a nakoniec sa na to spýtajú aj babky:
- No štrúdlu režem na dve časti, lebo mám malý plech a celá sa mi tam nezmestí.

Programátor sa teda takýmto spôsobom môže naučiť používať / doprogramúvať CMS, ale nebude rozumieť, prečo je to treba robiť tak, ako to robí. Podľa mňa PHPčkárovi z dlhodobejšieho hľadiska prospeje, keď sa o takýto projekt pokúsi, pretože iba tak objaví skryté problémy, ktoré ho dovtedy ani nenapadli. A omnoho jednoduchšie tak môže preniknúť do / oceniť riešenia týchto problémov. Určite ste už počuli, že sa človek najlepšie naučí na vlastných chybách. Nevidím dôvod, prečo by to v programovaní malo byť inak.

Ako môže blogovanie pomôcť práci

Platí to pravdepodobne pre každú nie-manuálnu činnosť. Určite sa každému stalo, že si s nejakým problémom nevedel rady. Z takej situácie sa dá dostať buď zmenením pohľadu na problém, alebo jeho hlbším pochopením. Oboje sa dá skoro nevedomky docieliť, keď sa snažíte problém vysvetliť niekomu inému. Neraz sa mi stalo, že som šiel za pomocou ku kolegovi, a než som mu vysvetlil celú situáciu, napadlo ma riešenie. Samozrejme som mu za poskytnutú pomoc poďakoval, čo vo veľa prípadoch skončilo búrkou smiechu po kancelárii, nakoľko nepovedal k téme ani slovo.

Teraz máme v práci wiki systém na zdieľanie know-how a môžem potvrdiť, že každý príspevok, ktorý tam píšem, mi pomáha k hlbšiemu pochopeniu danej témy. To isté sa dá docieliť aj blogovaním, keď akurát nepíšete o tom, že by bolo krajšie, keby boli kvapky hranaté… ;-)