Život je debugging

Image of the author

Sjiamnocna @sjiamnocna

Uvažoval jsem, jestli s takovým příběhem jít ven. Je to takové přiznání k vlastnímu životu a možná i osobní zranění.
Ale příběh je to můj a na internetu je spousta podobných. Takže jsem se rozhodl, že to sem napíšu.

Každý systém má moment, kdy se všechno zastaví. U mě by to mohl být třeba den, kdy jsem byl diagnostikován na mozkový nádor.

V jedné minutě řešíte základoškolskou matematiku, tělocvik a IT. V další minutě posloucháte, že velmi pravděpodobný scénář je život na vozíku nebo úplný konec.

Tohle se skutečně stalo, ale není to negativní příběh. Spoustu mi to vzalo, spoustu mi to na oplátku dalo.
Byl to bug, který je potřeba vyřešit a jít dál. Přidat testy, abychom jej v budoucnu řešili včas.
Nebo z bugu udělat feature.

Ne všechny věci jsem udělal nejlépe, ale vřele doufám, že to byl můj přistup a implementoval jsem jej dobře.

Breakpoint

Diagnóza byla kritická chyba v produkci. Ne teoretická. Ne “možná někdy”. PANIC("Brain tumor detected").

Byly mi představeny dvě možnosti;

  • náročná léčba, nejvyšší dosažené vzdělání bude učňák a zbytek života na vozíku
  • fatal error a úplný konec

Díky doktorům jsem přežil operaci i léčbu. Děkuji.

Díky rodině a přátelům jsem měl skvělý support. Děkuji.

Díky skvělým učitelům jsem dokončil základní školu, gymnázium i vysokou školu. Věřím, že to se mnou nebylo lehké, ale zvládli to. Děkuji.

Můj přístup nikdy nebyl jít jednodušší nebo nejkratší cestou. A vím, že se většinou vyplácí. Ne hned, ale zpětně zjistíme, že téměř ve všech případech.

Promyšlené řešení potřebuje čas a je to většinou kombinace obou možností. Cesta může být dlouhá, krátká nebo slepá. Ale vždycky se něco naučíme.

Zkušenost s limity a návratem mi dala větší empatii k lidem a lépe vidím, kdy někdo potřebuje prostor, jasnější kontext nebo mentoring. Pomáhá mi to být lepším lektorem pro žáky i mentorem v IT praxi.

System Restart

Rekonvalescence byla dlouhý refactoring. Přeučoval jsem se základní věci. Po nemocnicích jsem si hrál s počítačem a zkoušel programovat.

Dnes se znalostma z VUT v Brně a UP v Olomouci můžu pomáhat lidem tam, kde je potřeba, a se znalostmi fungování aplikace od zásuvky po monitor stavět udržitelný software, který se jentak nerozbije a nezpomaluje.
Můžu pracovat na všech aspektech aplikace a učím tak, jak bych se sám chtěl učit. A hlavně se nepřestávám učit, protože jsem rád, že můžu.

Dokážu díky těmto zkušenostem také zastavit a komunikovat s uživateli a navrhovat ta nejlepší řešení z IT i uživatelského pohledu.
Snažím se naslouchat a pomáhat lidem, protože mi kdysi někdo taky naslouchal a pomohl mi.

Lidská vrstva softwarové architektury

Tahle zkušenost zásadně změnila můj přístup k lidem a pomoci. Naučila mě vážit si toho, že můžu. Protože vím, že jiní nemohou. Taky že i když nemohu pomoci všem, můžu pomoci někomu.

Spoustu věcí nemůžu dělat tak, jak bych chtěl. Ale snažím se neustále zlepšovat v tom co dělám.
Čím více víme, tím méně víme. Víme, že je stále kam se posouvat a nikdy to nebude perfektní. Můžeme se jen snažit dělat to nejlepší, co umíme.

Dnes vytvářím software, který je bezpečný, výkonný a udržitelný, hraju na bicí a kytaru a učím matematiku a IT.
Technicky řeším bezpečné a výkonné systémy, ale stejně důležitá je pro mě ta lidská vrstva architektury, která má přednost před technickými detaily.

Software architektura totiž není jen o službách a datech. Je i o komunikaci a hlavně o respektu a dohodě.

Je to i o tom předvídat situace, které potenciálně nastanou za pár let provozu. Škálovatelnost, rozšiřitelnost, udržitelnost, bezpečnost, výkon a tím i spotřeba energie.

To zajistí, že zákazník nebude řešit bugy, které se objeví až po několika letech provozu o pár tisíc uživatelů aplikace později, kdy už nikdo nebude vědět, kde vznikla chyba a co ten kód doopravdy dělal.

Současný build

Dneska můžu být spokojený s tím, co jsem dělal a s tím, co ještě budu dělat.
Hraju v kapele (bicí, kytara), učím matematiku a IT a občas i sportuju. Díky účasti v YMCA vedu tábory a účastním se akcí po celém světě.
Navrhuju a stavím aplikace v různých jazycích a technologiích (zejména Go, Rust, React a TypeScript) a vím, co dělá každý kousek kódu, který píšu já nebo jej nechávám psát AI.

Nejsem člověk, který se sesype pod tlakem nebo volí pro všechno jednodušší cestu, která vypadá snazší.
Vidím cíl - rozšiřitelný a čítelný kód, bezpečnost, výkon a tím i nižší spotřebu energie, udržitelnost a škálovatelnost.

Život je debugging

Život je debugging. Ne proto, že by byl rozbitý. Kvalita vzniká průběžně a dá se plánovat a předvídat.
Pozorováním, opravami a neustálým zlepšováním. A vždy to může být lepší. Je potřeba si všímat detailů, které na jednoduché a rychlé cestě k cíli nezpozorujeme.

Takže pokud hledáte někoho, kdo zvládne navrhnout komplexní, bezpečné, efektivní, rozšiřitelné a škálovatelné řešení, které bude fungovat i o pár tisíc uživatelů později, neváhejte mě kontaktovat. 😊