úterý 11. srpna 2015

Proč je důležité dělat nedůležité

Hrajete počítačové hry? Všiml jsem si, že plno složitějších problémů nebo úkolů řeším, jako kdybych hrál počítačovou hru. Velmi mi to připomíná hraní her na hrdiny (RPG). Teď nemám na mysli to, že bych byl hrdina. Ostatně můžete kolikrát hrát za stranu padouchů a svůj herní charakter rozvinout jak kladně, tak i záporně. Při hraní RPG her, máte obvykle jeden hlavní úkol, ke kterému celé vaše snažení směřuje. Hru můžete odehrát tím způsobem, že plníte nejnutnější minimum, které je potřeba k splnění tohoto úkolu. Druhým způsobem, jak tyhle hry hrát, je prozkoumávání celého herního světa s tím, že plníte podružné úkoly nebo se jenom tak flákáte kolem a zkoumáte.

Já mám ten druhý způsob hraní hrozně rád. Nikdy nevíte, koho ve hře potkáte, co uděláte a kam vás to posune. Můžete narazit na lepší vybavení, vyrubat nějaké nepřátele a tím získat zkušenosti nebo rozplete kus příběhu, který vám pomůže lépe se zorientovat. Zkušenosti vaší postavy jsou důležité, protože díky nim můžete rozvíjet jednotlivé atributy herního charakteru (odolnost, zdraví, sílu, obratnost atd.)

Práce na nějakém složitějším problému je pro mě jako nová hra. Přirovnal bych to k průchodu nějakého dungeonu. Vidím vstup, vím kam se potřebuji dostat a jenom nevím přesně kudy a co tam na mě číhá. V tom dungeonu rád prozkoumávám jeho zákoutí, protože nevím, kde se dá co objevit a co mě posune dál. Mohl bych jít rovnou za nosem, ale nebyla by to taková zábava a dovedl by mě k cíli? Žádná cesta totiž není slepá dokud jí neprojdete. I v tom dungeonu děláte nebo lépe řečeno můžete dělat věci a plnit úkoly, které jsou nedůležité. Získáte tím zkušenosti, které se vám hodí při plnění hlavního úkolu.

Pokud zrovna programuji nebo navrhuji, nikdy nesleduji jenom hlavní úkol. Často dělám refaktoring, a snažím se kód dost zobecňovat, připravovat si různé nástroje a mikro frameworky, protože mám pocit, že se mi to bude v budoucnu hodit. Někdy se to skutečně hodí, ale dost často to prostě k ničemu není a já musím ten kód, nápad, návrh vyhodit nebo upravit, protože budoucnost je jiná než jsem si jí projektoval v hlavě. Je to způsob, kterým si ověřuji vlastní hypotézy a získávám další zkušenosti a lepší porozumění danému problému. Podobně jako bych v dungeonu vylepšoval sečné zbraně mojí postavy, abych posléze zjistil, že na nový typ nadpřirozených nepřátel jsou k ničemu.

Lidé jsou často svázaní představou, že by měli dělat jenom to důležité, co je dovede k řešení daného úkolu. Jenomže co je důležité? Dokážeme rozeznat důležité od nedůležitého? Retrospektivně viděno to dokážeme posoudit. Všechno co nás neposunulo ani o píď blíže k cíli bylo v uvozovkách zbytečné. Měli bychom si uvědomit, že podobně jako při hraní her je důležité dělat nedůležité a to přesně kvůli těm samým důvodům - jsou to zkušenosti, je to zábava a nikdy nevíte, jestli je cesta slepá dokud jí neprošlápnete. Vzpomeňte si na to, až si budete trápit mysl tím, že zrovna děláte něco nedůležitého.