Tváře softwarového inženýrství

Za 15 let programovací praxe jsem sloužil už mnoha oborům. Velmi nedoceněný fenomén, který jsem díky tomu zjistil, je, že programování v různých kontextech může ve skutečnosti představovat naprosto rozdílná povolání. A to mám ještě pocit, že slovo “naprosto” je silně nedostatečné.

Z velké části za to může obecný efekt, který mě poslední dobou začal fascinovat: svět, jak ho známe, se skládá pouze z věcí o kterých se veřejně mluví. Když se o něčem nemluví, nemůže to v naší představě o světě být, nemáme se o nich jak dozvědět. Klíčová otázka zní: Kolik takových nikdy nevyřčených věcí je?

Intuitivně předpokládáme, že málo a že jsou marginální. Předpokládáme, že člověk má o svých záležitostech přirozenou potřebu mluvit, pokud je z nějakého pádného důvodu nepotřebuje tajit. Tento předpoklad však z principu nedokážeme vyvrátit ani potvrdit. No a čím jsem starší, tím víc jsem poznal situací, o kterých se nemluví, aniž by důvod pro to byl nějak zásadní. Vlastně jsem zjistil, že se nemluví prakticky o ničem, co někdo dělat chce nebo potřebuje a mluvení o tom přináší sebemenší riziko, pracnost nebo diskomfort.

Nemluví se o věcech na hraně morálky nebo práva. Nemluví se o věcech, které jsou považovány za podružné k věcem hlavním. Nemluví se o věcech, na kterých se dá vydělávat, dokud o nich neví příliš mnoho ostatních. Nemluví se dokonce o věcech i jen proto, že o nich prostě nikdo jiný nemluví.

Programování není výjimka. Například sledovat Hacker news je zlatý standard všeobecného přehledu - pokrývá snad všechno, o čem se v mainstreamové programovací komunitě mluví. Stále znovu mě však překvapuje, jak malá část softwarového vesmíru to vlastně je. Jak často narazím na partu lidí, jejichž představy o výrobě software vypadají jako z Marsu.

Třeba průmyslový inženýři nemají většinou o existenci “oranžové stránky” ani ponětí, ale přesto například SCADA systémy de-facto duplikují kompletní stack informačních technologií. Od uživatelského rozhraní, přes funkce operačního systému až po síťový protokol. Už 30 let víceméně paralelně se zbytkem IT.

Nebo slyšeli jste o tom, jak jaderní fyzici z CERNu a podobných pracovišť musí výsledky svých experimentů zpracovávat na superpočítačích? Po pár zkušenostech si nejsem jistý, jestli to ve velké části případů není jen proto, že jim nikdo nevysvětlil koncept databázových indexů, map reduce paralelizace nebo komprese. Dostat po experimentu petabajtový nestrukturovaný dump z hardwaru všech sensorů v budově se vzorkovací frekvencí 10MHz je pro ně normální a proto jim i přijde normální ho zpracovávat na custom FPGA clusterech místo komoditního cloudu. Na “oranžové stránce” by rychle zjistili, že to normální není, ale jelikož nejsou softwaroví inženýři, k prolnutí těchto komunikačních sfér dojde málokdy. Fyzici a hardwaráři mají na svých fórech dost jiných starostí.

Překvapivě naivní je třeba také očekávání, že všichni se chtějí o všechny vědomosti dělit. Tento kulturní aspekt pocházející z univerzitního prostředí computer science, který také vehementně podporují technologické platformy v rámci podpory adopce svých produktů, z nás programátorů udělal rozmazlené fracky. Dokážete si představit, jak moc rozdílně vypadá práce v oboru, kde nejenže firmy neplatí developer evangelisty a neexistuje příslušná Stack exchange, ale kde se každý vehementně snaží skrýt své reálné schopnosti? Vítejte ve světě tradingu, kde jediná jistota je, že kdo nabízí školení, ten to ve skutečnosti moc neumí.

A pak je tu obor, jehož důležitou starostí je nebýt moc vidět. Který to je? Neřeknu. Ať si můžete vyzkoušet ten podivný pocit nevědět, co nevíte. Zkuste si představit, jak se programuje tam. Haluz, co?

Fascinuje mě, že i po tolika letech praxe softwarového inženýrství můžu běžně narazit na práci, kde budu začínat z nuly. Že ačkoli se technicky stále jedná o programování, specifické aspekty té činnosti vyžadují naučit se tu profesi prakticky od píky. A to většinou v přítomnosti lidí, kteří zase netuší, že existuje i jiný svět než ten jejich. Dokud děláte webovky a prokrastinujete na Hacker news, nemáte ani tušení.