sobota 7. ledna 2012

MongoDB pár tipů na zajímavé prezentace

Čím víc proníkám do MongoDB tím vice se mi zamlouvá. Líbí se mi jak na ní inženýři s 10gen makají a neustále jí vylepšují a jak otevřená je komunita kolem této dokumentové NoSQL databáze. Tenhle týden mě zaujaly tři prezentace, na které vám dám tipy.

neděle 1. ledna 2012

Utvrzené názory za rok 2011

Začnete-li psát článek v první den nového roku máte jenom dvě možnosti. Rekapitulovat rok předcházející a nebo věštit budoucnost pro rok nový. Protože protože mé předchozí předpovědi byly spolehlivé asi jako odhad míry zadlužení Řeckého statistického úřadu nebude se do nich letos pouštět. Nechci zároveň ani psát o roce 2011 ve formě jakési rekapitulace. Rozhodl jsem se proto, že se s vámi zkusím podělit o názory, ve kterých mě rok 2011 utvrdil.

Život v IT

Většina problémů v IT je jenom z malé části ovlivněna metodologií, technologií a kvalitou lidí, které máte k dispozici. Nejzásadnější příčinou je špatná komunikace tedy spíše nekomunikace a nejasná zodpovědnost. S tím souvisí i alibismus, který bych si troufal označit za typickou českou vlastnost (nejen v IT).

Dobrá zpráva. Zlaté české ručičky není mýtus. Špatná zpráva je, že to platilo pro generaci našich otců, které tady tvrdě vycepoval socialismus, kde většina zboží bylo nedostatková. V kontextu IT to ovšem znamená, že naše budoucnost je limitovaná naší cenou, po kterou budeme brání jako levná pracovní síla z východu. Pokud to chceme změnit musíme udělat tři věci: tvrdě pracovat, snažit se inovovat a neustále si rozvíjet naše vědomosti a znalosti.

Koncept renesančního člověka není jenom oblíbená Filemonova průpovídka, ale věc, kterou vám potvrdí kdokoliv kdo překročil vlastní stín. Pokud se budete úzce profilovat pouze v jedné oblasti, nedej bože jenom IT, nikdy nezískáte potřebný nadhled a inspiraci, která vás posune o úroveň výše. Ve všech knihách a oborech lze najít plno paralel, které můžete s úspěchem v IT uplatnit. Bylo by velkou chybou před nimi zavírat oči.

Jedno přísloví říká: "Lepší být jeden den orlem než celý život ovcí". Steve Jobs tuším prohlásil: "Je lepší být pirátem než se dát k námořnictvu". Tím chci říci, pokud něčemu věříte, bez ohledu jestli je to technologie či přístup, řiďte se tím bez ohledu na to, že jdete hlavou proti zdi.

Nejlepší konfrontace vlastních myšlenek a názorů je jejich veřejná prezentace. Můžete se plést, můžete mít pravdu, nejhorší přístup je mlčet. Chyba není mít opačný názor, chyba je nemít žádný názor. Nejlepší konfrontace bývá s lidmi absolutně opačného názoru.

Programování

Programování je řemeslo jako každé jiné. Pokud v něm chcete být opravdu dobří počítejte s tím, že vám to zabere minimálně deset let intenzivní práce. Počítejte s tím, že se mnohokrát spletete a budete muset korigovat svoje předchozí způsoby, o kterých jste si mysleli, že jsou to správnou cestou.

Složitý kód není dobře jednotkově testovatelný. Jednotkově netestovaný kód není dobře objektově navržený. Nedobře objektově navržený kód je kýbl hnoje. Do kýblu hnoje je lepší kopnout a začít znovu a lépe. Objektový návrh a tvorba API se nepovede nikdy na první pokus. Refaktorujte do té doby než jste absolutně spokojeni s každým detailem kódu. Každý dluh, i ten technologický, který uděláte vás později dožene.

Není nic jako kolektivní vlastnictví kódu. Každý jeden řádek kódu, každá třída, každý modul má jednoho jediného vlastníka, který je za něj zodpovědný. Nikdy neakceptujte kód v formě kontribuce pod který byste se sami nepodepsali.

Ďábel leží v detailech. Buďte perfekcionisté nejenom co se týká kódu samotného, ale i jeho dalších detailů. Struktuře, dokumentaci interní i veřejné, konzistenci.

Výkonnost ovlivňujte na úrovni návrhu nikoliv na úrovni kódu. Změnami v kódu jste schopni ovlivnit výkon v řádu procent, změnami v návrhu ovlivňujete výkonnost v řádu desítek procent.