Ke svému způsobu práce jsem se dostal opačným směrem, než se obvykle učí: ne od frameworků k základům, ale od základů nahoru. Kdo jednou pochopí, co se děje mezi příkazem a procesorem, spokojí
se s povrchní odpovědí jen těžko; stoupá se dál, patro za patrem,
až se člověk zastaví u dokumentace a provozu. Bell Labs jsou mi
vzorem: Unix, Plan 9 a v přímé linii i Go vznikly v prostředí,
kde jeden člověk nesl teorii i provoz najednou.
Vědecká metoda u mě není rétorika. Domněnku od výsledku odděluje
měření a kód od artefaktu dokumentace s testy. Proto se
procesorové jádro ověřuje proti referenčnímu modelu, protokol
proti linuxovému jádru a každá závislost musí obhájit své místo
číslem, ne módou.
Cesta k tomu vedla i přes provoz: roky návrhu a správy serverů a sítí, podpory uživatelů a dodávek infrastruktury. Naučily mě, že dokumentace a měření nejsou byrokracie, ale způsob, jak věc udržet v provozu. Nejnižší patro, ke kterému mě ta cesta dovedla, je křemík: práce na procesorových jádrech zatím běží jako soukromý výzkum, proto z ní na webu nic dalšího nenajdete.
Nejradši jsem u toho, když něco vzniká: projekt, nástroj, návrh, nasazení. Ne u schůzek o nich, ale tam, kde se z otazníku stane návrh a z návrhu běžící systém. Pokud potřebujete přesně toto, rozumíme si.
Na denní práci používám GoLand, na párové programování s otevřenými modely ZCode.
Větší celek pro mě neznamená větší tým. Práci rozkládám do rolí,
které se navzájem kontrolují: architekt píše návrh,
kódér ho provádí, reviewer čte cizíma očima, verifier změří, a
co neprojde bránou, se neintegruje. Souběžné vývojové větve vedu
v oddělených pracovištích; otevřené modely u toho jsou
řemeslníci a rozhodnutí zůstávají na mně.
Celé to běží na vlastním ekosystému: Gitea s vlastní CI, JSbox
jako toolchain webu, Volumen jako publikační engine, Perl pro
provozní skripty. Nástroje, které si vyvíjím pro sebe, zároveň
zveřejňuji: provoz a otevřený kód jsou táž práce.